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 框架中占据优势的核心价值支柱之一。本着这种精神,我们也一直在探索如何使 Azure 上的 Spring 开发人员更容易进行依赖项管理。在这个版本中,我们对 Spring 专家提供的最佳实践和专业知识进行了编码,并将所有依赖项 BOM 合并到一个 `spring-cloud-azure-dependencies` 中,我们相信这将进一步降低学习曲线并避免错误处理依赖项。

扩展的 Azure 支持范围

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

在这个版本中,我们扩展了 Azure 支持的范围,涵盖了另外 3 项服务:

  • 事件中心 (Event Hubs)
  • Azure Redis 缓存
  • 应用配置 (App Configuration)

我们的旅程不会在这里结束,随着时间的推移,我们将把更多 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 和存储队列添加了托管身份支持。这使得构建无需凭据的应用程序成为可能,这是一种在微软和社区中都获得了巨大发展势头的模式。凭据链现在默认启用,允许应用程序从应用程序属性、环境变量、托管身份、IDE 等获取凭据,所有这些都促进了在零信任编程模型中保护您的应用程序。

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

以 Spring 惯用方式公开更多选项

Spring 开发人员长期以来一直享受在应用程序配置文件中定义客户端选项的便利性。我们当然不想剥夺这种特权,也不想让 Spring 开发人员通过客户端对象来设置选项。为此,我们显著改进了 Azure SDK 客户端的自动配置范围,涵盖了同步和异步场景。例如,以下是您可以使用 Spring Integration Azure Service Bus 设置的配置选项的预览。

更适合生产环境

最后,如果我们没有足够的特性覆盖来支持我们的客户在生产环境中运行,那么以上所有努力都将付诸东流。许多事情会让应用程序准备好投入生产,但可观察性通常排在首位。我们为应用配置、事件中心、Cosmos、密钥保管库、存储 Blob、存储队列、存储文件添加了运行状况指标,以及对所有基于 HTTP 的 Azure SDK 的 Spring Cloud Sleuth 支持。例如,您现在可以通过 Spring Boot Actuator 端点探测存储 Blob 是否正常运行,并跟踪 Zipkin 仪表板中的依赖项和应用程序延迟。

开始使用

我们希望您像我们一样对这个版本感到兴奋。要开始使用,请参考我们最新的:

获取 Spring 新闻通讯

保持与 Spring 新闻通讯的联系

订阅

领先一步

VMware 提供培训和认证,以加快您的进度。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部