在雲端原生的時代,如何選擇最適合的可觀測性工具?
可觀測性旨在幫助開發人員、IT 團隊管理複雜的系統、應用程式和基礎設施。前面幾個章節了解完可觀測性想達成的目的與發展史之後,下一個大家所關心的就是在實務工作上要如何落地,在實踐上開發人員可能會有兩大方向,SaaS 平台或是自己架設(Self-Host)
使用可觀測性平台廠商 SaaS 服務 (滿滿的大平台),例如
優點 : 快速上手、維護成本低
缺點 : 會有延伸費用
透過 CNCF 基金會底下的 Open source 專案,開發者可以透過 CNCF Landscape 工具搜尋到所需要類型的專案,應用在自己公司的開發專案上。
優點: 高度客製化、掌握度高
缺點: 維護成本、學習曲線
如果你是雲端開發者,相信對 CNCF 及上述提到的名詞已經而熟到不要不要的,但如果是雲端開發新人可能會有些陌生,以下就針對 CNCF Landscape 做簡短的說明
CNCF 是雲端原生運算基金會 (Cloud Native Computing Foundation) 是成立於 2015 年的非營利組織,旨在推動雲端原生技術的開發和採用。
CNCF Landscape 是一個基於 Web 的動態互動式工具,可提供雲端原生生態系統的概述。它的目標是將所有雲端原生(Cloud Native)開源專案和專有產品進行分類整理和組織,其專案內容不斷發展並定期更新,以反映雲原生空間的最新發展。提供雲端原生生態系統的全面概述。
目前在 CNCF 一共有 1,235 個專案,像是著名的 K8S、Grafana 和 Prometheus 都是在 CNCF 的專案中,專案分為四個等級
決定使用 SaaS 平台還是自行架設可觀測性資料基礎架構取決於您團隊的可用資源、成本考量與對其熟系度等。SaaS 通常適合希望快速上手且不希望投入大量維護資源的團隊。而自行架設則適合希望有更大客製化空間,並願意投入資源維護的團隊。
在 landscape 有分不同的領域專區,例如 App Definition and Development、Platform、CI/CD 等各向類型的專案。其中與 Observability 相關的有可觀測性與分析(Observability and Analysis) 區,在這領域又依據使用需求分為 Monitor、Logging、Tracing、Chaos Engineering 與 Continous Optimization,上述在 CNCF 都有推薦的工具,整理相關資訊如下
領域 | 關鍵字 | 畢業專案 | 沙箱 | 孵化 |
---|---|---|---|---|
Monitor | MonitoringTime seriesAlertingMetrics | Prometheus | Fonio Headlamp Inspektor Gadget Kepler Kuberhealthy Pixie Skooner Trickster | Cortex OpenMetrics Thanos |
Logging | Logging | Fluentd | - | - |
Tracing | Span Tracing | Jaeger | - | OpenTelemetry |
Chaos Engineering | Chaos Engineering | - | Chaosblade | Chaos Mesh Litmus |
選擇合適的可觀測性工具是重要的一步。上述提到了各領域推薦的工具接下來將會選擇挑選重要的來介紹,在下個章節,我們將深入探討這幾年火紅的 OpenTelemetry !
A Guide to Enterprise Observability Strategy
Avoiding the Roadblocks: How to Choose the Right Tools for Your Observability Stack