宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

微軟Radius平台重構現代應用程序部署

2023年10月25日 首頁 » 熱門科技

微軟Radius平台重構現代應用程序部署
Radius (圖:Pixabay)

微軟的 Azure 孵化團隊日前推出一個叫 Radius 的新應用平台。Radius 平台可用於在 Kubernetes、公共雲和邊緣環境中運行各種現代應用程序。

Radius 是一個開源項目,最初支持的應用程序運行時包括Kubernetes、Azure和AWS,以後還會支持諸如谷歌雲平台等雲環境。

Mark Russinovich 是微軟雲平台 Azure 的首席技術官,也是 Radius 的架構師。Russinovich 與微軟執行副總裁Scott Guthrie一起重構了原先的 Windows Azure,使其成為一個引人注目的公共雲平台,可以叫板亞馬遜網路服務(Amazon Web Services)。

Windows Azure當時的願景是為微軟.NET開發人員打造一個平台即服務(platform-as-a-service)產品。但開源的興起和亞馬遜 EC2 的迅猛發展迫使微軟從頭開始重構 Windows Azure,以支持基礎設施和平台服務。Russinovich和他的團隊將 Azure 構建為一個可擴展的框架,可以支持未來可能添加到雲服務組合中的各種服務。

Azure 的可擴展性體現在一個多功能的控制平面上。Azure控制平面現在負責運行虛擬機及部署在微軟公共雲上的機器學習模型等等的所有功能。Azure控制平面還使微軟能夠將可擴展性能力擴展到由 Azure Stack 支持的私有雲和邊緣環境。

Azure 控制平面對 Radius有很大的 影響。兩者都具有高度的可擴展性和可伸縮性。兩者的主要區別在於,Radius 是一個開源項目,主要是以一組容器或進程的形式運行,可選擇部署在 Kubernetes 中。Radius與 Azure 控制平面類似,也是為了和負責管理資源生命周期的獨立資源提供商的接軌,例如Azure 或 AWS 等。

Radius 配備了一組資源提供商,用於管理以容器形式打包的應用程序。Radius 的初始版本中內置了 Azure 和 AWS資源提供商。添加其他雲提供商(如 GCP)則只需簡單地在 Radius 中創建和註冊一個新的資源提供商即可。

Radius 平台的可擴展層名為 UCP 或通用控制平面,名字起得恰如其分。UCP 與 Azure 一樣負責接受 API 請求,然後將其委託給 Kubernetes、Azure 或 AWS 等適當的資源提供商。

這裡的重點是 Radius 大量借鑑了 Azure 的可擴展且可靠的資源管理方法。

將基礎架構即代碼擴展到應用程序

Radius使得無論應用程序部署在何處開發人員都可以對其進行定義。Radius 支持利用 Azure Bicep 和 Terraform 這兩種流行的特定域語言(DSL)聲明應用程序及其依賴關係。

使用 Azure Bicep 和 Terraform 聲明應用程序是 Radius 的最佳設計決策之一。應用程序及其依賴關係的定義沒有引入新的格式,因此消除了涉及學習新標記語言的學習曲線。

微軟Radius平台重構現代應用程序部署
Radius 平台(圖:微軟)

微軟社區已經非常熟悉 Azure Bicep了。Azure Bicep是一種特定域語言,用於使用聲明式語法部署 Azure 資源。用戶可以在 Bicep 文件中定義要部署到 Azure 的基礎架構,然後在整個開發生命周期中使用該文件重複部署基礎架構。

Terraform 是一種流行的基礎架構即代碼工具。Terraform 已成為聲明式管理雲服務生命周期的事實標準。幾乎每個雲提供商和基礎設施資源提供商都有 Terraform 模塊。

Radius 團隊沒有做重新發明輪子的事,而是採用了 Bicep 和 Terraform 作為定義應用程序的 DSL。雖然對 Terraform 提供商的支持尚未實現,但已在 Radius 的路線圖上了。

 Radius將開發者和運營者的角色分開

Radius的核心功能之一是創建配方,可以將創建配方視為由企業中央IT團隊定義和管理的服務目錄。Radius配方隱藏了底層服務的實現,例如資料庫、消息隊列、存儲服務和緩存服務。

運營團隊則需要定義和發布抽象實現細節的配方。當開發人員想要使用 SQL 資料庫時,他不需要知道服務實際部署在哪裡。他可以引用現有服務,並在 Bicep 或 Terraform 定義中以聲明方式將其綁定到自己的應用程序。這類似於開發人員在代碼中導入一個庫,而無須了解第三方模塊的細節。

微軟Radius平台重構現代應用程序部署
Radius 配方(圖:微軟)

開發人員利用配方的理念可以在不改變應用程序的情況下輕鬆地交換和移除依賴項。例如,在開發和測試環境中,他們可以使用打包在容器中的資料庫,而在生產環境中則可以切換到高度可擴展、基於 SLA 的 DB 即服務。

從一開始就具有全面性和可擴展性

微軟在Radius上進行投資,使其從發布之初就具有全面性。UCP 支持在 Kubernetes、Azure 和 AWS 雲服務上運行的容器化應用程序。開發人員可以直接使用大量 Azure 或 AWS 雲服務。添加 GCP 和阿里巴巴等其他雲平台只是時間問題。

Radius 可以與 Dapr 無縫整合,Dapr 是微軟的另一個開源項目,Dapr可輕鬆實現多雲開發。開發人員可以將 Dapr 與他們的應用程序整合,運營人員可以在 Radius 模板中定義 Dapr 功能。

運營人員可以利用工作空間的概念使用本地配置文件管理多個 Radius 平台和環境,這是 Radius 另一個很棒的功能。開發人員可以輕鬆地定義和切換工作空間,在多個環境中部署和管理應用程序。這一功能與配方相結合使 Radius 成了開發人員和運營人員都能使用的超強平台。

要點

Kubernetes 的複雜性在不斷增加,雲原生應用與雲服務之間的差距不斷擴大,這些都迫使新平台不斷發展。微軟的 Radius 就是為應對這兩個挑戰而作出的嘗試。

Radius 對 Kubernetes 的基礎架構進行了抽象,使開發人員能夠專注於自己的應用程序。由於Radius,在 Kubernetes 集群中運行應用程序與在公共雲環境下運行託管雲服務之間的界限變得模糊了。開發人員可以將容器化應用的功能與基於雲的託管服務進行混合和匹配,而無需處理不同的 API、SDK 和資源管理工具。

Radius 有潛力成為一個強大的平台,充分利用強大的Kubernetes 和託管雲服務部署現代應用程序。如 Radius 被提交到雲原生計算基金會(CNCF)並被接受則必將成為 CNCF 生態系統中廣泛採用的開源項目。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2025 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新