領先一步
VMware 提供培訓和認證,以助您加速前進。
瞭解更多注意:Spring 粉絲們大家好!這是來自我們在 Microsoft 的朋友 Sean Li 的客座文章。
我很高興宣佈 Spring Cloud Azure 4.0 現已正式釋出。透過此重要版本,我們旨在帶來更好的安全性、更精簡的依賴、對生產就緒性的支援等等。版本 4 代表了我們產品路線圖中的一個重要里程碑,如果沒有 Spring 社群的集體智慧和客戶反饋,我們將無法實現這一目標。我代表 Spring on Azure 產品團隊,感謝大家促成了這一切!
在微軟的開發者事業部,我們非常重視開發者體驗。我們不斷挑戰自己,思考如何讓事情更一致、更容易理解,這樣我們的客戶就不會面臨隨意選擇開發方案的情況。這是一條漫長且自我演進的旅程,因為一致性是相對的,並且存在一些我們無法控制的事情。現在,我們謙遜地朝著這個方向又邁出了一步,透過統一專案名稱、artifact ID 和屬性來改善我們的開發者體驗。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
依賴管理是幫助 Spring 在其他 Java 框架中建立領先地位的核心價值支柱之一。本著這種精神,我們也在探索如何讓 Azure 上的 Spring 開發者更容易進行依賴管理。在此版本中,我們整合了 Spring 專家的最佳實踐和專業知識,並將我們所有的依賴 BOM 濃縮為一個 spring-cloud-azure-dependencies,我們相信這將進一步降低學習曲線並避免對依賴項的處理不當。
Spring Initializr 中的 Azure Support 模組提供了許多 Azure 服務的自動配置。
在此版本中,我們擴充套件了 Azure Support 的範圍,新增了以下 3 項服務:
我們的旅程並未在此結束,隨著時間的推移,我們將把更多 Azure 服務納入其中。
我們一直收到的反饋之一是,我們的 Spring 模組不必要地堆疊了過多的依賴層,這阻礙了更廣泛的採用。例如,我們早期的所有 Spring 模組都依賴於 Spring Boot,而我們的許多客戶在 Tomcat 中執行 Spring MVC 應用程式,僅使用 Spring Data 等來與資料服務進行通訊。我們從頭開始重新設計了 Spring 模組的依賴關係,使其更好地適應不同的方法。以 Azure Event Hubs 的程式設計模型為例。圖中的紫色方框代表 Spring Cloud Azure 客戶端庫。您可以使用 Spring binder (spring-cloud-azure-stream-binder-eventhubs)、Spring integration (spring-integration-azure-eventhubs) 和 Spring Kafka (spring-messaging-azure) 與 Azure Event Hubs 進行互動。
任何實際應用的核心是身份和秘密管理。對託管身份 (Managed Identity) 的支援已成為 Azure 的基本原則,為單個服務級別提供了安全基線。我們相信遵循這些指導方針也將廣泛惠及 Spring 開發者,並且我們已為 App Configuration、Event Hub、Service Bus、Cosmos、Key Vault、Storage Blob 和 Storage Queue 添加了託管身份支援。這使得構建無需憑證的應用程式成為可能,這種模式在微軟和社群中都獲得了巨大的發展勢頭。除了託管身份,您還可以使用我們 Spring 庫中底層 Azure SDK 支援的任何身份驗證方法。例如,您可以使用 SAS 令牌和令牌憑證來驗證 Service Bus 和 Event Hubs。憑據鏈 (Credential chain) 現在預設啟用,允許應用程式從應用程式屬性、環境變數、託管身份、IDE 等獲取憑據,所有這些都促進了在零信任程式設計模型中保護您的應用程式安全。
最後,在資源級別(例如:Service Bus 佇列)提供細粒度的訪問控制對於滿足企業客戶的需求通常至關重要。我們現在已向客戶開放了這些控制,以實現更好的安全治理並遵守 IT 策略。
Spring 開發者長期以來一直享受在應用程式配置檔案中定義客戶端選項的便利。我們當然不希望剝奪這一特權,並透過客戶端物件來增加 Spring 開發者設定選項的負擔。為此,我們顯著提高了 Azure SDK 客戶端在同步和非同步場景下的自動配置覆蓋率。舉例來說,以下是您可以使用 Spring Integration Azure Service Bus 進行設定的配置選項的預覽。
最後,如果沒有足夠的功能覆蓋來支援我們在生產環境中的客戶,那麼以上所有努力都將是徒勞的。要讓應用程式具備生產就緒性,我腦海中會想到很多事情,但可觀測性通常是最重要的。我們為 App Configuration、Event Hubs、Cosmos、Key Vault、Storage Blob、Storage Queue、Storage File 添加了健康指示器,併為所有基於 HTTP 的 Azure SDK 添加了 Spring Cloud Sleuth 支援。例如,您現在可以透過 Spring Boot actuator 端點探測儲存 blob 是否正常執行,以及在 Zipkin 面板中跟蹤依賴關係和應用程式延遲。
我們希望您和我們一樣對這個版本感到興奮。要開始使用,請參閱我們最新的: