ref: https://medium.com/opentelemetry/opentelemetry-specification-v1-0-0-tracing-edition-72dd08936978
這篇文章主要是介紹 OpenTelemetry v1.0 版本的發展與演進
OpenTelemetry 專案希望能夠打造出一個符合 Cloud Native 開發與維運使用的系統框架,該框架席望能夠針對可觀性的三大指標進行一系列的整合與提供一個方便且一致的介面。三大指標分別是 Logging, Monitoring 以及 Tracing。
OpenTelemetry v1.0 主要的開發與修改都是針對 Tracing 這面向,其設計中認為 Tracing 的使用環節會包含三種不同角色,分別是應用程式開發者,應用程式部署維運者以及相關 Plugin 的開發者。
應用程式開發者使用 OpenTelemetry API 來控制應用程式 Tracing 相關的處理, v1.0 除了帶來功能的修改與開發外,對於整體的維護與支持也有相當的決心。當下次主要版本 v2.x 公開發佈後, v1.0 還可以繼續受到團隊至少三年的維護與支持,所以開發者三年內可以確保應用程式不會因為大大小小版本的修改而導致應用程式功能出問題。
而 OpenTelemertry SDK 則提供了供應用程式部署維運者與 Plugin 開發者要使用的框架與設定,這部分的維護時間則是有至少一年的時間(當 v2.0 出現時)。
包含了相關的 API 與 SDK 的使用。透過 OpenTelemetry API,開發者可以很輕易的去整合應用程式到 Tracing 的場景中。而當下次大版本 v2.0 出現
除了 Tracing 之外,目前 OpenTelemetry 團隊也持續的於 Monitoring 以及 Logging 兩方面來努力,從過去一年來看,整個專案的開源貢獻程度與速度都明顯比 2019 來得更為踴躍,也許這也代表愈來愈多團隊開始注重可觀測性的重要性,同時也有更多的開發者願意使用 OpenTelemery 作為使用工具。
「cloud logging api」的推薦目錄:
cloud logging api 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
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