Spring Cloud Azure 4.0 現已正式推出

工程 | Josh Long | 2022 年 3 月 30 日 | ...

注意:嗨,Spring 粉絲們!這是來自 Microsoft 的朋友 Sean Li 的客座文章

我很高興宣布 Spring Cloud Azure 4.0 現已正式推出。透過這個主要版本,我們旨在提供更好的安全性、更精簡的相依性、對生產環境準備就緒的支援等等。版本 4 代表了我們產品路線圖中的一個重要里程碑,如果沒有 Spring 社群的集體智慧和客戶回饋,我們就無法實現。謹代表 Spring on Azure 產品團隊,感謝您促成這一切!

統一的開發體驗

在 Microsoft 的開發者部門,我們非常重視開發者體驗。我們不斷挑戰自己,如何使事情更一致、更容易理解,以便我們的客戶不會面臨隨意的開發選擇。這是一個漫長且自我演進的旅程,因為一致性是相對的,並且會有超出我們控制範圍的事情。現在,我們謙卑地朝這個方向邁出另一步,透過統一專案名稱、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 中,我們相信這將進一步降低學習曲線並避免對相依性的錯誤處理。

擴展 Azure 支援的範圍

Spring Initializr 中的 Azure 支援模組提供了許多 Azure 服務的自動設定。

在此版本中,我們擴展了 Azure 支援的範圍,涵蓋了另外 3 個服務

  • 事件中樞
  • 適用於 Redis 的 Azure Cache
  • 應用程式設定

我們的旅程不會在此結束,隨著時間的推移,我們將把更多的 Azure 服務納入其中。

更靈活的 Spring 程式設計模型

我們一直聽到的回饋之一是,我們的 Spring 模組不必要地堆疊在太多層的相依性之上,這阻礙了更廣泛的採用。例如,我們所有的早期 Spring 模組都依賴於 Spring Boot,而我們的許多客戶都在 Tomcat 中執行 Spring MVC 應用程式,僅利用 Spring Data(例如)與資料服務進行通訊。我們已經從頭開始重新架構了 Spring 模組相依性,以使其更適合不同的方法。以 Azure 事件中樞的程式設計模型為例。圖表中的紫色框代表 Spring Cloud Azure 用戶端程式庫。您可以使用 Spring binder (spring-cloud-azure-stream-binder-eventhubs)、Spring integration (spring-integration-azure-eventhubs) 和 Spring Kafka (spring-messaging-azure) 與 Azure 事件中樞互動。

更多的控制和安全性

每個真實世界應用程式的核心都是身分識別和秘密管理。對受控識別的支援已成為 Azure 的基本原則,在個別服務層級提供安全性基準。我們相信,遵循這些準則也將使廣大的 Spring 開發人員受益,並且我們為應用程式設定、事件中樞、服務匯流排、 Cosmos、Key Vault、Storage Blob 和 Storage Queue 新增了受控識別支援。這使得建置免憑證應用程式成為可能,這是一種在 Microsoft 和社群中都獲得巨大發展的模式。除了受控識別之外,您還可以從我們的 Spring 程式庫中使用基礎 Azure SDK 中支援的任何驗證方法。例如,您可以使用 SAS 權杖和權杖認證來驗證服務匯流排和事件中樞。憑證鏈現在預設為啟用,允許應用程式從應用程式屬性、環境變數、受控識別、IDE 等取得憑證,所有這些都促進在零信任程式設計模型中保護您的應用程式。

最後,在資源層級 (即:服務匯流排佇列) 提供細微層級的存取控制,對於滿足我們企業客戶的需求通常至關重要。我們現在已經為我們的客戶解鎖了這些控制,以實現更好的安全性治理並遵守 IT 政策。

以 Spring 慣用方式公開更多選項

Spring 開發人員長期以來都喜歡在應用程式設定檔中定義用戶端選項的便利性。我們當然不希望剝奪這種權利,並透過用戶端物件設定選項來加重 Spring 開發人員的負擔。為此,我們已顯著改善了 Azure SDK 用戶端的自動設定覆蓋範圍,無論是同步還是非同步案例。舉例來說,以下是可以透過 Spring Integration Azure Service Bus 設定的設定選項的預告片預覽。

更多生產環境準備就緒

最後,如果我們沒有足夠的功能覆蓋範圍來支援我們在生產環境中的客戶,那麼以上所有這些都是徒勞的。為了使應用程式準備好用於生產環境,我腦海中浮現了很多東西,但可觀察性通常排在首位。我們為應用程式設定、事件中樞、Cosmos、Key Vault、Storage Blob、Storage Queue、Storage File 新增了健康指標,以及對所有基於 HTTP 的 Azure SDK 的 Spring Cloud Sleuth 支援。例如,您現在可以透過 Spring Boot Actuator 端點探查儲存 Blob 是否已啟動或關閉,以及在 Zipkin 儀表板中追蹤相依性和應用程式延遲。

開始使用

我們希望您和我們一樣對這個版本感到興奮。若要開始使用,請依照我們的最新

取得 Spring 電子報

隨時掌握 Spring 電子報

訂閱

領先一步

VMware 提供培訓與認證,加速您的進程。

了解更多

取得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援與二進位檔案,只需單一訂閱。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部