重構和更新應用是具有很大挑戰的。為適用於現代環境而更新更多的應用,複雜度也隨之增加。使應用執行在容器平臺,並且互相通訊和連線,是通向模組化和有彈性的微服務架構的必要的一步。與此同時,微服務的靈活性也是複雜的。這就是Service Mesh所要扮演的角色。
Service Meshes 提供企業所需要的集中化的控制面板,同時仍然具有隨心所欲的敏捷性和基於雲的應用開發。考慮到Service Mesh作為一個專註於微服務API的7層網路,其提供了認證,授權,安全和效能服務來最佳化各個服務間的流量。更重要的是,使你能集中使用這些服務,而不是分別將這些程式碼寫入到你的應用程式的業務邏輯中去。
Service Mesh就像城市中得自來水管網路。你的團隊控制水管,依照需求而連線它們,並且設定他們的所有流向。有了Service Mesh的支援,資料可以透過你的系統,不管是那種型別或標的,也無論應用的日新月異的需求。
這個流量管理可以集中建立規則來管理互相連線的資料流。就好像天空中的一個巨大的控制室,你可以命令灌溉加州,當那裡的作物需要水;或者當邁阿密遭遇大水時,你可以排走那裡的水。最重要的是,這些動作能自動地,動態的完成。
Service Mesh是通往多雲(Multi-Cloud)的門票
Service Mesh是平臺無關的。幸虧私有雲和公有雲提供商,建設了標準的Docker容器和Kubernetes編排工具。由於這些工具,在AWS構建一個Service Mesh不能避免遷移系統到Microsoft Azure,或者在vSphere私有雲建立一個Mesh。
這意味著你的Service Mesh節點可以執行在任何容器架構下,系統執行甚至可以架構在不同的雲上。因為Service Mesh跟蹤延遲和效能指標,使跨雲的能力延伸到跨雲服務的交付。
Service Mesh提供智慧的流量路徑,可以自動恢復網路或者服務。這實現了全域性問題的跟蹤,甚至跟蹤內部服務的問題。
如果一個伺服器無響應,Service Mesh將會把它剔除出單個的服務或是線上的負載均衡池,並分流到另一個地址池進行觀測。一旦開始恢復響應,此伺服器就會被再次自動推回到線上的負載均衡池中。
Service Mesh為你的系統提供全面的服務級別的可見性,這些資料能被用來除錯和最佳化你的系統。隨著時間的推移,你的系統將被不斷打造和擴充套件功能,以滿足效能和穩定性的需求。
當你的團隊推出一個新的應用版本,或者一個應用叢集到一個新的資料中心,安全團隊通常需要在系統中重新釋出證書和認證新的伺服器。如同路障一樣,這將會耗費時間和精力。
有了Service Mesh,所有服務之間的安全問題將由Mesh來處理,把那些擔心抽離出應用本身。Service Mesh處理所有服務間通訊的障礙,比如,哪個系統對哪個服務有許可權,哪個使用者可以使用哪個服務。因此,在Mesh中升級應用不需要重新配置安全策略。
這也保障你的網路和服務通訊的安全獨立於你的內部業務邏輯之外。如果網路中出現安全漏洞,Service Mesh即能處理這些補丁更新,而不用重新架構每個應用。這減少了大量因安全升級而引起的離線時間。
對於Service Meshes在大量微服務境下的研究
Service Mesh帶來的一個(較大的)潛在弊端。其增加了一個額外的容器。大多數Service Mesh在實施時使用了sidecar代理,每個容器系結的微服務會連線一個代理實體。但是,這樣做的好處遠遠大於付出的成本,這也意味著Service Mesh通常不適用於小的規模。
如果你管理成百上千個離散的微服務,可以考慮Service Mesh。在這樣大的規模下,Service Mesh是最後的雲應用難題,它連線你所有的資產——無論是公有雲,企業資料中心,或是混合雲。有了Service Mesh你的團隊能夠跟蹤問題,確保服務的可用性,以及維護正確的路由表。
原文連結:https://thenewstack.io/why-you-should-care-about-a-service-mesh/
本次培訓包括:Docker介紹、Docker映象、網路、儲存、容器安全;Kubernetes架構、設計理念、常用物件、網路、儲存、網路隔離、服務發現與負載均衡;Kubernetes核心元件、Pod、外掛、微服務、雲原生、Kubernetes Operator、叢集災備、Heml等,點選瞭解具體培訓內容。
長按二維碼向我轉賬
受蘋果公司新規定影響,微信 iOS 版的贊賞功能被關閉,可透過二維碼轉賬支援公眾號。
微信掃一掃
使用小程式