摘要:與Kubernetes相似,Azure Service Fabric簡化了這項工作:配置和部署由容器託管的微服務和Azure自己的平臺服務組成的應用程序。IT技術人員可以藉助Azure Service Fabric訪問各種工具,Azure Service Fabric是微軟基於雲的中心,可用於部署容器技術、調用函數即服務(FaaS)或創建API協議以公開微服務。


IT團隊部署微服務以快速構建和擴展應用程序,但是情況可能很快變得複雜。不妨看看這些微軟Azure工具和優秀實踐,確保以正確的方式入手。

作者:布加迪編譯來源:51CTO|2019-12-20 10:28 收藏 分享

【51CTO.com快譯】面對基於雲的分佈式系統,IT團隊可以踐行持續交付、減少管理開銷,更有效地構建和部署軟件。然而,微服務方法需要在存儲、網絡、更新、API和容器等方面有明確的策略和慎重的考慮。

對於微軟Azure用戶而言,有幾種原生服務和實現框架有助於降低複雜性,更易於管理分佈式資源。 IT技術人員可以藉助Azure Service Fabric訪問各種工具,Azure Service Fabric是微軟基於雲的中心,可用於部署容器技術、調用函數即服務(FaaS)或創建API協議以公開微服務。

我們在本文中介紹微軟Azure如何支持微服務,包括它如何與容器和無服務器技術協同使用。我們主要介紹了用於構建分佈式系統的八款主要的Azure工具以及部署微服務時需要考慮的幾個優秀實踐。

在Azure上部署微服務的幾款工具

藉助微服務,IT團隊通常可以更快速更靈活地構建和部署軟件。應用程序分成幾個基於服務的較小組件,因而更易於自動擴展和調整。然而,管理員和開發人員要準備好應對這些互連服務所帶來的複雜性。

使用這8款工具將微服務部署在Azure上

圖1. 整體式架構和微服務架構的對比

下列Azure工具和服務是爲微服務部署而設計的:

Azure Service Fabric

Azure Service Fabric 是一種應用程序平臺,面向在本地或Azure中運行的微服務。DevOps團隊可以使用其聲明性模型來部署應用程序及依賴項,無需搭建和管理基礎架構。它可全局運行,這減少了瓶頸,並提供了現代應用程序所需的高可用性。

該框架提供了從初始部署、日常維護再到報廢的整個應用程序生命週期管理。管理員可以用它來檢測並重啓發生故障的系統、發現服務位置、監控應用程序運行狀況並管理狀態。與Kubernetes相似,Azure Service Fabric簡化了這項工作:配置和部署由容器託管的微服務和Azure自己的平臺服務組成的應用程序。

Azure Service Fabric Mesh

有了Azure Service Fabric Mesh,IT團隊可以表明所需的資源、服務可用性要求以及任何資源限制,它可以處理底層工具和基礎架構的所有細節任務。該平臺爲.NET Core微服務提供了無服務器主機,使開發人員能夠使用Docker容器支持的任何語言。Service Fabric Mesh可自動處理升級,提供部署新的應用程序版本時換掉容器的功能。除了對雲原生工作負載而言可高度擴展外,該平臺還具有模塊化和自適應性。

Azure Functions

通常,FaaS確保被某些服務事件觸發時代碼按需運行。有了Azure Functions,你可以安裝應用程序的某部分,僅在需要時才加載函數。它們還可以按需並行執行。因而,管理員就不需要配置和構建應用程序基礎架構,只需爲運行顯式代碼段所花費的時間段付費。

Azure Event Grid

開發人員和管理員使用基於事件的架構來接收有關應用程序狀態更改的警報。Azure Event Grid提供警報,以便開發人員和管理員可以立即響應這些更改。該工具實際上充當了構建事件驅動型微服務應用程序的粘合劑。

Azure Kubernetes Service

Azure Kubernetes Service便於部署,並簡化容器實例的日常測試和管理。DevOps團隊可以使用Azure Cloud Shell或遠程Azure命令行接口(CLI),快速構建和啓動容器化的應用程序。

Azure Container Instances(ACI)

容器包含微服務需要運行的所有要素,包括代碼、運行時環境、工具集、系統庫和設置。由於ACI本質上是容器即服務,最終用戶不受編排工具和CLI的影響。唯一的要求是,擁有待創建容器的準確映像。ACI還可以處理集羣初創化、更新和打補丁。

Azure API Management

Azure API Management爲服務功能確保了單一入口點。通過API管理集成,DevOps團隊可以訪問多個工具和服務,無需更改應用程序代碼。這包括導入服務定義、定義複雜的路由規則、將發生的事件記入日誌以及緩存響應。

Service Fabric Reliable Volume

作爲一種臨時容器磁盤,Service Fabric Reliable Volume可幫助微服務應用程序保持持久狀態,同時消除通常與訪問容器化應用程序的存儲有關的延遲問題。然而,雖然Service Fabric Reliable Volume確實提供了通用文件存儲,並支持讀/寫功能,但管理員還可以訪問Azure File Storage以確保數據可靠性。

要考慮的最佳做法

開發人員和管理員需要部署統一的監控工具和實踐,才能在Azure上成功部署微服務。比如結合使用Azure Monitor的數據度量指標和Log Analytics代理用於分析性能和成本。 DevOps團隊可以分析不同的數據流以量化寫入事務或關聯服務分區以幫助監控成本。

切勿使用傳統的錯誤處理方法(比如依賴返回碼),改而使用Azure Service Fabric運行狀況策略。該平臺爲評估和報告提供了一種詳細、靈活、可擴展的模式。通過積極監控服務部署的運行狀況,IT團隊可以防止問題擴大、導致嚴重停機。

此外,通過基於本地視圖收集基於服務的報告,DevOps團隊可以捕獲集羣級視圖,並事先診斷潛在問題。實際上,這種方法可以在Azure中加以更廣泛的應用。因此對工作負載響應能力的改善將使IT團隊能夠更專注於應用開發上,少專注於基礎架構管理上。

原文標題:Use these 8 tools to deploy microservices on Azure,作者:Kerry Doyle

相關文章