Istio 的優點編程
集羣規模可視性:在故障情況出現時,運營人員須要利用多種工具以始終關注集羣運行情況並分析微服務狀態圖表。Istio 項目可以監控與應用程序及網絡活動相關的數據,利用 Prometheus 與 Grafana 對這部分數據加以渲染,然後將相關指標與日誌記錄發送至任何收集、聚合與查詢系統當中以實現功能擴展。Istio 項目亦利用 Zipkin 追蹤分析性能熱點並對分佈式故障模式加以診斷。安全
彈性與效率:在開發微服務時,運營人員須要假設網絡自己處於不可靠狀態。運營人員可以利用重試、負載均衡、流量控制(HTTP/2)以及斷路補償等方式解決由網絡可靠性低下所形成的各種常見故障模式。Istio 項目則提供一種統一方法以配置上述功能,使得運營人員可以更爲輕鬆地運做高彈性水平服務網格。網絡
開發人員生產力:Istio 項目可以確保開發人員專一於利用已選擇的編程語言構建服務功能,從而極大提高其生產能力。另外,Istio 項目則負責以統一化方式處理彈性與網絡挑戰。開發人員無需將解決方案的分佈式系統問題解決機制引入編寫的代碼當中。Istio 項目還可以支持 A/B 測試、金絲雀部署以及故障注入等經常使用功能,旨在進一步提升生產效率。負載均衡
政策驅動型運營:Istio 項目可以受權具備不一樣職能的團隊以實現獨立運做。其將集羣運營人員與功能開發人員進行週期性剝離,從而在無需更改代碼的前提下提高安全性、監控能力、擴展性與服務拓撲水平。運營人員可以精確控制生產流量中各個子集的路由方式,從而匹配新的服務版本。另外,運營人員還可以在流量中注入故障或者提升延遲水平,用以測試服務見長的彈性 ; 同時設置速率限制以防止服務過載。Istio 項目還可用於強制執行合規性要求,例如在服務之間定義 CL 以確保僅具有受權的服務間可相互通訊。框架
默認安全:分佈式計算當中常常存在着大量網絡安全問題。Istio 項目容許運營人員利用 TLS 鏈接以認證並保護各服務之間的全部通訊,而不會給開發人員或者運營人員帶來由證書管理形成的額外負擔。咱們的安全框架與新的 SPIFFE 規範保持一致,事實上谷歌公司一直在內部普遍使用相似的保障性系統。編程語言
增量化採用:咱們在設計 Istio 項目時充分考慮到網絡內所運行各服務的透明性,容許團隊隨着時間推移逐步採用 Istio 提供的各項功能。採用方能夠先從啓用集羣範圍內可視性起步,並在 Istio 在環境中的表現感到滿意後根據實際須要啓用其它功能。分佈式