Spring Cloud Azure 4.0 现已正式发布

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

注意:嗨,Spring 的朋友们!这是来自微软朋友 Sean Li 的一篇客座博文

我很高兴地宣布 Spring Cloud Azure 4.0 现已正式发布。通过这个主要版本,我们的目标是带来更好的安全性、更精简的依赖项、对生产就绪的支持等。4.0 版本是我们产品路线图上的一个重要里程碑,没有 Spring 社区的集体智慧和客户反馈,我们是无法实现的。我谨代表 Spring on Azure 产品团队,感谢大家的付出!

统一的开发体验

在微软的开发者部门,我们非常重视开发者体验。我们不断挑战自己,思考如何使事物更一致、更容易理解,以免我们的客户面临杂乱无章的开发选择。这是一个漫长且不断演进的过程,因为一致性是相对的,并且总会有我们无法控制的因素。现在,我们谦虚地朝着这个方向迈出了新的一步,通过统一项目名称、制品 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 框架中取得优势的核心价值支柱之一。本着这种精神,我们也一直在探索如何使 Spring 开发者在 Azure 上进行依赖管理更加容易。在此版本中,我们已将 Spring 专家的最佳实践和专业知识进行了编码,并将我们所有的依赖 BOM 合并为一个:spring-cloud-azure-dependencies,我们相信这将进一步降低学习曲线并避免对依赖项的错误处理。

Azure 支持范围扩大

Spring Initializr 中的 Azure 支持模块提供了许多 Azure 服务的自动配置。

在此版本中,我们将 Azure 支持的范围扩大,以涵盖另外 3 种服务

  • 事件中心
  • Azure Cache for Redis
  • 应用配置

我们的旅程不会在此结束,随着时间的推移,我们将带来更多的 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、密钥保管库、存储 Blob 和存储队列添加了托管标识支持。这使得构建无凭证的应用程序成为可能,这是一种在 Microsoft 和社区中都获得了巨大动力的模式。除了托管标识,您还可以从我们的 Spring 库中使用底层 Azure SDK 支持的任何身份验证方法。例如,您可以使用 SAS 令牌和令牌凭据来向服务总线和事件中心进行身份验证。现在默认情况下启用了凭据链,允许应用程序从应用程序属性、环境变量、托管标识、IDE 等获取凭据,所有这些都有助于在零信任编程模型中保护您的应用程序。

最后,在资源级别(即:服务总线队列)提供细粒度的访问控制,对于满足我们企业客户的需求至关重要。我们现在已为客户解锁了这些控件,以实现更好的安全治理并遵守 IT 策略。

以 Spring 惯用的方式暴露更多选项

Spring 开发者长期以来一直享受在应用程序配置文件中定义客户端选项的便利性。我们当然不希望剥夺这项特权,并给 Spring 开发者带来通过客户端对象设置选项的负担。为此,我们极大地提高了 Azure SDK 客户端在同步和异步场景下的自动配置覆盖范围。例如,以下是您可以为 Spring Integration Azure Service Bus 设置的配置选项的预览。

更具生产就绪性

最后,如果我们在功能覆盖方面不足以支持生产中的客户,那么以上所有努力都将是徒劳的。要使应用程序具备生产就绪性,我想到了很多事情,但可观察性通常排在首位。我们为应用配置、事件中心、Cosmos、密钥保管库、存储 Blob、存储队列、存储文件添加了运行状况指示器,并且为所有基于 HTTP 的 Azure SDK 支持 Spring Cloud Sleuth。例如,您现在可以通过 Spring Boot 执行器端点探测存储 Blob 是否处于运行或停止状态,以及在 Zipkin 仪表板中跟踪依赖项和应用程序延迟。

入门

我们希望您和我们一样对这个版本感到兴奋。要开始使用,请遵循我们最新的

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有