Cloud Native 這個詞近年來非常熱門,CNCF 甚至也有針對這個詞給出了一個簡短的定義,然而對於每個使用者來說,要如何實踐這個定義則是百家爭鳴。我認為很認真地去探討到底什麼樣才算 Cloud Native 其實就跟很認真的探討什麼是 DevOps 一樣,就是一個沒有共識,沒有標準答案的問題。
本篇文章從 CNCF 的定義衍伸出 Cloud Native 帶來的優勢,並且針對這個領域介紹了十三種不同面向的科技樹,每個科技樹也都介紹了幾個常見的解決方案。
好處:
1. Speed
作者認為 Cloud Native 的應用程式要具有快速部署與快速開發的特性,擁有這些特性才有辦法更快地去根據市場需求而上線面對。眾多的雲端廠商都提供不同的解決方案讓部署應用程式愈來愈簡單,而 Cloud Native 相關的工具則是大量採用抽象化的方式去描述這類型的應用程式,讓需求可能更簡單與通用的部署到不同環境中。
2. Scalability and Availability
Cloud Native 的應用程式應該要可以無痛擴張來對面不論是面對一百個或是一百萬個客戶。底層所使用的資源應該都要根據當前的需求來動態配置,避免無謂的金錢成本浪費。此外自動化的 Failover 或是不同類型的部署策略(藍綠/金絲雀..等)也都可以整合到 Cloud native 的工具中。
3. Quality
Cloud Native 的應用程式建置時應該要保持不變性,這特性使得應用程式本身能夠提供良好的品質一致性。此外大部分的 Cloud Native 工具都是開放原始碼專案,這意味者使用時比較不會遇到 vendor lock-ins 的問題。
以下是作者列出來認為 Cloud Native 生態系中不可或缺的十三種面向,以及該面向中幾個知名專案。
相關領域
1. Microservices (Node.js/Kotlin,Golang)
2. CI/CD (Gitlab CICD/ Github Actions)
3. Container (Docker/Podmna/LXD)
4. Container Orchestration (Kubernetes/Google Cloud Run)
5. Infrasturcutre as Code (Terraform/Pulumi)
6. Secrets (Vault /Sealed Secrets)
7. Certificates (cert-manager/Google managerd certificates)
8. API Gateway (Ambassador/Kong)
9. Logging (EKF/Loki)
10. Monitoring (Prometheus/Grafana/Datadog)
11. Alerting (Prometheus Alertmanager/Grafana Alerts)
12. Tracing (Jaeger/Zipkin)
13. Service Mesh (Istio/Consul)
https://medium.com/quick-code/how-to-become-cloud-native-and-13-tools-to-get-you-there-861bcebb22bb
golang google api 在 軟體開發學習資訊分享 Facebook 的精選貼文
Go 是目前用於創建 Web 應用程式、Web API、微服務和其他分散式服務的功能最強大、性能最高且可擴展的程式語言。
從這 19 小時的課程,你會學到
1. 使用當今的最佳實踐開發伺服器端的應用程式
2. 獲得網路程式設計基礎知識的傑出基礎
3. 跟擁有超過 15 年教各種能力水平學生經驗的大學計算機科學教授學習
4. 掌握 Web 開發的理解和應用
5. 了解伺服器、路由、restful 應用程式、JSON、AJAX、模板( templates ) 、檔案伺服器、Cookie、狀態( state )、UUID、HTTP 方法、HTTP 回應程式碼、sessions 、Amazon Web 服務、MySQL、MongoDB、負載平衡器、HTTPS&TLS、Docker、容器、虛擬機( VM )、Google Cloud 和 App Engine
6. 僅使用 Go 程式語言的標準程式庫( library ) 開發 Web 應用程式
7. 不使用第三方框架開發 Web 應用程式
8. 建構動態擴展的高性能分散式應用程式
9. 應用尖端的 Web 開發實踐
https://softnshare.com/web-development-googles-go-golang-p…/
golang google api 在 軟體開發學習資訊分享 Facebook 的精選貼文
Go 是目前用於創建 Web 應用程式、Web API、微服務和其他分散式服務的功能最強大、性能最高且可擴展的程式語言。
從這 19 小時的課程,你會學到
1. 使用當今的最佳實踐開發伺服器端的應用程式
2. 獲得網路程式設計基礎知識的傑出基礎
3. 跟擁有超過 15 年教各種能力水平學生經驗的大學計算機科學教授學習
4. 掌握 Web 開發的理解和應用
5. 了解伺服器、路由、restful 應用程式、JSON、AJAX、模板( templates ) 、檔案伺服器、Cookie、狀態( state )、UUID、HTTP 方法、HTTP 回應程式碼、sessions 、Amazon Web 服務、MySQL、MongoDB、負載平衡器、HTTPS&TLS、Docker、容器、虛擬機( VM )、Google Cloud 和 App Engine
6. 僅使用 Go 程式語言的標準程式庫( library ) 開發 Web 應用程式
7. 不使用第三方框架開發 Web 應用程式
8. 建構動態擴展的高性能分散式應用程式
9. 應用尖端的 Web 開發實踐
https://softnshare.com/…/web-development-googles-go-golang…/