Istio大型微服務系統(tǒng)管理工具
Istio 是一個由谷歌、IBM 與 Lyft 共同開發(fā)的開源項目,旨在提供一種統(tǒng)一化的微服務連接、安全保障、管理與監(jiān)控方式。Istio 項目能夠為微服務架構提供流量管理機制,同時亦為其它增值功能(包括安全性、監(jiān)控、路由、連接管理與策略等)創(chuàng)造了基礎。這款軟件利用久經考驗的 Lyft Envoy 代理進行構建,可在無需對應用程序代碼作出任何發(fā)動的前提下實現(xiàn)可視性與控制能力。Istio 項目是一款強大的工具,可幫助 CTO/CIO 們立足企業(yè)內部實施整體性安全、政策與合規(guī)性要求。
優(yōu)勢
-
集群規(guī)模可視性:在故障狀況出現(xiàn)時,運營人員需要利用多種工具以始終關注集群運行狀況并分析微服務狀態(tài)圖表。Istio 項目能夠監(jiān)控與應用程序及網絡活動相關的數據,利用 Prometheus 與 Grafana 對這部分數據加以渲染,而后將相關指標與日志記錄發(fā)送至任何收集、聚合與查詢系統(tǒng)當中以實現(xiàn)功能擴展。Istio 項目亦利用 Zipkin 追蹤分析性能熱點并對分布式故障模式加以診斷。
-
彈性與效率:在開發(fā)微服務時,運營人員需要假設網絡本身處于不可靠狀態(tài)。運營人員能夠利用重試、負載均衡、流量控制(HTTP/2)以及斷路補償等方式解決由網絡可靠性低下所造成的各類常見故障模式。Istio 項目則提供一種統(tǒng)一方法以配置上述功能,使得運營人員能夠更為輕松地運作高彈性水平服務網格。
-
開發(fā)人員生產力:Istio 項目能夠確保開發(fā)人員專注于利用已選擇的編程語言構建服務功能,從而極大提升其生產能力。另外,Istio 項目則負責以統(tǒng)一化方式處理彈性與網絡挑戰(zhàn)。開發(fā)人員無需將解決方案的分布式系統(tǒng)問題解決機制引入編寫的代碼當中。Istio 項目還能夠支持 A/B 測試、金絲雀部署以及故障注入等常用功能,旨在進一步提高生產效率。
-
政策驅動型運營:Istio 項目能夠授權具有不同職能的團隊以實現(xiàn)獨立運作。其將集群運營人員與功能開發(fā)人員進行周期性剝離,從而在無需更改代碼的前提下提升安全性、監(jiān)控能力、擴展性與服務拓撲水平。運營人員能夠精確控制生產流量中各個子集的路由方式,從而匹配新的服務版本。另外,運營人員還能夠在流量中注入故障或者提高延遲水平,用以測試服務見長的彈性 ; 同時設置速率限制以防止服務過載。Istio 項目還可用于強制執(zhí)行合規(guī)性要求,例如在服務之間定義 CL 以確保僅具備授權的服務間可相互通信。
-
默認安全:分布式計算當中經常存在著大量網絡安全問題。Istio 項目允許運營人員利用 TLS 連接以認證并保護各服務之間的所有通信,而不會給開發(fā)人員或者運營人員帶來由證書管理造成的額外負擔。其安全框架與新的 SPIFFE 規(guī)范保持一致,事實上谷歌公司一直在內部廣泛使用類似的保障性系統(tǒng)。
-
增量化采用:在設計 Istio 項目時充分考慮到網絡內所運行各服務的透明性,允許團隊隨著時間推移逐步采用 Istio 提供的各項功能。采用方可以先從啟用集群范圍內可視性起步,并在 Istio 在環(huán)境中的表現(xiàn)感到滿意后根據實際需要啟用其它功能。
