什麼是服務網格?

 

服務網格是一種方式,用來將雲端代管應用程式的軟體程式碼,結合至整合分層中網路伺服器的不同層級。雲端代管應用程式的程式碼不會在網路伺服器堆疊設定頂層的隔離執行階段中運作,而是透過 API 進行建置,以利呼叫作業系統、網路伺服器、網路或資料中心層級的其他軟體導向服務。服務網格可將位於生產環境基礎架構元件之間的互通性通訊層予以延伸,以提升軟體應用程式的潛在功能。

 

服務網格可透過執行應用程式間的自動化、跨管道通訊,將眾多虛擬機內的數千個微服務整合至單一彈性雲端資料中心內。資料中心作業所有層級的雲端協調作業、負載平衡、資源探索、SDN 路由、API 通訊、資料庫同步化,以及指令碼最佳化應用程式,都需使用專屬的服務對服務通訊功能。針對同時橫跨數百萬個多租戶機架伺服器的多層網路架構,服務網格可提供更出色的資料分析與流量指標。

服務網格

服務網格能與 SDN 搭配運作,以推動多項重要功能,例如網路虛擬化與自動化。

瞭解內容 

服務網格的優勢

  • 提高互通性:服務網格可延伸 SDN 路由功能,以提供支援網路、行動與軟體即服務應用程式碼的整合式微服務環境。
  • 強化微服務探索能力:服務網格能透過更出色的微服務探索功能,強化網路設定與管理。
  • 詳盡即時的網路活動監控與分析:服務網格可存取後端流程與網路伺服器硬體,以提供詳盡即時的網路活動監控與分析。
  • 強大的網路與行動指令碼自動化:開發人員能透過 YAML 檔案或 Vagrant、Jenkins、Puppet 與 Chef 等公用程式,編寫服務網格功能的指令碼,以此大規模建置強大的網路與行動指令碼自動化。唯有採用這類型的架構,才能在企業生產環境中支援複雜的軟體即服務應用程式。服務網格可協調在雲端中同時執行的數千或數百萬個容器。

 

服務網格的運作方式

服務網格可探索與路由安裝在彈性網路伺服器網路內每個虛擬機執行個體或節點上的應用程式,進而根據 IP 位址登錄執行中的微服務。接著,則會使用集中化登錄來設定與管理在網路上同時執行的所有微服務。在網路伺服器、資料中心或應用程式內不同層級中運作的平行應用程式可參照服務網格,以便將互通性功能延伸至資料分析與網路監控上。如此即可提高 IP 路由、SDN 定義、防火牆設定、篩選器、規則,以及雲端負載平衡領域的資料中心自動化程度。

 

API 連線可參照服務網格來取得定義,藉此判斷要於何處探索執行中應用程式與微服務功能,以進行資料傳輸或必要的處理活動。透過 Kubernetes 自動擴充的彈性網路伺服器平台會使用 Istio 做為集中化登錄與設定管理公用程式,以進行微服務探索。AWS EC2 與 Kubernetes 等彈性網路伺服器平台會運用服務網格,管理位於同時執行階段中的多個雲端應用程式複本,並將變更同步至主要資料中心與儲存資訊。視微服務或程式碼基礎的要求而定,服務網格會允許應用程式層透過 API 與網路伺服器、網際網路和資料中心網路資源通訊,反之亦然。

 

服務網格架構

服務網格的基礎,是安裝在雲端資料中心內各個虛擬機或容器中的抽象層。程式碼會安裝在每個虛擬機或節點上,並與執行資料中心協調作業的集中化管理軟體執行個體通訊。VMware NSX 與 Istio 等服務網格解決方案,是使用 Envoy 在節點層級建立資料轉發平台。針對每個虛擬機或節點,Envoy 會管理執行中微服務、授權 IP 位址、HTTPS 加密與作用中資料庫格式等相關資訊。針對 NSX,這項資訊會包含在虛擬化管理程序層級的分散式防火牆整合。在彈性雲端網路中,每個虛擬機或節點的資料轉發平台資訊將用於負載平衡上。API 連線會仰賴服務網格架構來滿足應用程式間的路由需求。位於服務網格第 7 層的遙測,則涵蓋 DNS、HTTP/S、SMTP、POP3 與 FTP 等項目。

 

實作服務網格

服務網格實作會跨越網路/行動應用程式的 SDN、IP 位址、微服務與 API 資源,進行負載平衡與服務探索。服務網格會管理通訊、同步與加密,以便在彈性網路伺服器架構的硬體中,進行網路伺服器後端連線。在雲端應用程式方面,指令碼、資料庫與靜態網路檔案通常會分散在不同的硬體中,然後集結於網頁瀏覽器的最終頁面上。如果程式碼包含協力廠商 API,那麼硬體、指令碼、資料庫與檔案之間的 SDN 路由作業就會更加複雜。在每次載入頁面時,這些項目都必須在不同資源中予以整合;而在彈性網路伺服器架構中,服務網格會跨虛擬機整合、同步與標準化這項作業。服務網格之所以出現,是為滿足資料中心內其他軟體所無法提供的需求,其中也包括來自網路流量連線的資料分析與使用者指標。

 

開放式原始碼服務網格

Istio 為現行最先進的開放式原始碼服務網格專案,而 Envoy 則會用來管理有關跨節點資料轉發平台的集中化功能。Istio 原本是隸屬於 Cloud Native Computing Foundation (CNCF) 的開發內容,可用於 VMware NSX Service MeshEnterprise PKS 平台中。PKS 為 VMware 的 Kubernetes 散發版本,可透過容器來協調雲端網路伺服器。PKS 會以自行代管套件的形式提供,可滿足公有雲與私有雲需求,或做為完全代管的容器即服務 (CaaS) 產品。Istio 可用來進行 Kubernetes 中的微服務通訊,具備複雜的 IP 位址路由功能與加密技術,能在企業資料中心內進行大規模的彈性網路伺服器協調作業。其他如 Linkerd、Conduit、Aspen 與 Consul 等重要開放式原始碼專案,皆可做為服務網格架構的元件。

 

彈性服務網格

若要同步 AWS EC2 或 Kubernetes 等雲端代管架構中的資料庫與網站檔案,就必須使用彈性服務網格。服務網格會控制網路伺服器後端虛擬機之間的路由,以滿足軟體應用程式支援中的 API 與 SDN 需求。在彈性網路伺服器網路中,服務網格也可用來進行探索與負載平衡;管理員可以自動配置資料中心資源,以因應生產環境中的使用者流量需求。網路伺服器可透過設定來自動啟動,或於不再需要時終止,更有效率地運用雲端硬體資源。將即時監控與分析功能內嵌至虛擬機或節點層級的服務網格中,可讓軟體開發人員、程式設計人員與網路發佈者得以使用微服務來建立新的應用程式功能。

 

為何微服務架構需要使用服務網格

單一公有雲上的容器或虛擬機中,可能會包含數百萬個同時執行的微服務,透過隔離的執行階段來平行支援不同的應用程式和資料庫。以虛擬化為基礎的多租戶環境,需要透過更好的方法來探索與登錄微服務,以根據應用程式整合每個微服務獨一無二的功能,或使用 API 分享給其他裝置。許多微服務格式不適用於彈性網路伺服器平台,且需要透過服務網格來管理容器中的服務。服務網格可透過 SDN 提供精細的路由與加密功能,在網路伺服器、端點與其他裝置上的執行中程式碼流程之間,讓不同 API 進行通訊。

VMware 針對服務網格提供的相關產品、解決方案與資源

NSX Data Center

VMware NSX® Data Center 可透過軟體提供完整的虛擬化網路與安全性。

VMware NSX Service Mesh

VMware NSX Service Mesh 可讓您將一致的能見度延伸至服務、資料與使用者。

VMware Enterprise PKS

VMware Enterprise PKS 可讓您部署、執行與管理生產環境的 Kubernetes。