Azure Spring Apps Enterprise 现已正式发布

工程 | Josh Long | 2022 年 5 月 24 日 | ...

嗨,Spring 粉丝们!这篇博客是微软开发者事业部总裁 Julia Liuson 的客座文章。

Azure Spring Cloud 现已更名为 Azure Spring Apps

我们于 2019 年与 VMware 合作推出了 Azure Spring Cloud,旨在解决开发人员、IT 运营商和 DevOps 团队在运行大规模 Spring Boot 应用时面临的常见挑战。自那时起,我们已帮助许多客户采用了该服务,包括 BoschDigital RealtyFedExKrogerLiantis、 Morgan StanleyNational LifeRaley’sSwiss Re。他们看重 Azure Spring Cloud 完全托管的基础设施,这让他们能够专注于自己的应用,而服务则负责管理动态伸缩、安全补丁、开箱即用的监控工具等。通过客户反馈,我们扩展了该服务的功能,包括我们在 SpringOne 2021 上宣布预览的企业层。Azure Spring Cloud 是一个功能齐全的平台,适用于所有类型的 Spring 应用,为了更好地反映这一点,该服务现已更名为 Azure Spring Apps。


“FedEx 推出了一个全球交付预测平台,可动态预测每天超过 1600 万件货物的预计到达时间。我们将这些基于机器学习的洞察集成回我们的核心系统,以优化运营并为客户提供前所未有的可见性。这些洞察的公开和使用至关重要,我们选择 Azure Spring Apps 作为高吞吐量处理的主要计算平台,因为它易于使用、可伸缩且与 Azure 生态系统深度集成。我们与微软和 VMware 的合作提供了一项出色的服务,使快速发展的 Java 团队能够为客户提供有影响力的解决方案。” - Tony Kreager,数据工程与数据科学高级副总裁,FedEx Dataworks


“Azure Spring Apps 是我们新 API 平台的核心,为我们提供了一种简单的方式,可以快速安全地将 Spring 应用投入生产。在微软和 VMware 最终合作推出此解决方案之前,我们一直在寻找一个符合我们要求的现成解决方案。Azure Spring Apps 使我们能够专注于应用的业务逻辑,并消除了向客户交付这些应用的复杂性。” -- Claus Lund,高级基础设施工程主管,National Life Group


Azure Spring Apps 是 Digital Realty API 和门户产品的关键组成部分。Azure Spring Apps 的托管产品使我们能够快速部署微服务应用并缩短产品上市时间。我们已创纪录地将旧应用迁移到基于微服务的架构。结合我们开发的 REST API,我们拥有了一个真正强大、有弹性且全球化的平台。我们很高兴看到微软和 VMware 之间不断发展的产品和协作,以及它们如何使我们的团队和世界各地的 Java 开发人员受益。 -- Raj Sriramoju,API 工程总监,Digital Realty Trust

Azure Spring Apps Enterprise 层现已正式发布

许多组织正在本地运行数千个 Spring Boot 应用,并需要高级功能来加速其 Spring 现代化项目。基于从客户参与中获得的经验,我们构建了一个新的 Azure Spring Apps 层—企业—我们于 SpringOne 2021 大会宣布了这一层。企业层包含商业支持的 Spring 运行时组件,可帮助企业客户更快地发布并释放 Spring 的全部潜力。我们非常感谢许多参与预览并分享经验的客户和合作伙伴,我们很高兴宣布 Azure Spring Apps 企业层将于 2022 年 6 月初正式发布。

企业层代表了我们与 VMware 的持续合作,将微软的云平台专业知识与 VMware 创新的 Tanzu 产品组合相结合。我们还致力于将其打造成一个应用平台,您可以在其中部署多语言应用,这些应用天生可在任何 Azure 服务、任何云或任何本地系统之间移植。

借助 Azure Spring Apps Enterprise,您可以提高生产力,并获得 Spring 专家的支持,从而加速 Spring 应用的开发和部署。Azure Spring Apps Enterprise 构建在标准层的所有功能之上,包括利用更广泛的 Azure 生态系统来增强您的 Spring Boot 应用的能力。

_图例:Azure Portal 中选择 Azure Spring Apps 企业层_

Azure Spring Apps Enterprise 现已在非洲、亚太、澳大利亚、美洲、欧洲、中国、印度、日本、韩国和阿联酋的 24 个 Azure 区域中可用。我们正在将服务扩展到瑞士和德国的多个新的欧洲区域。

1 - 更快发布

部署和管理 Spring 应用及多语言应用

企业层中完全托管的 VMware Tanzu Build Service 使用开源 Cloud Native Buildpacks 和商业版 VMware Tanzu Buildpacks 在企业规模下自动执行容器创建、管理和治理。这些 Buildpack 使您能够更轻松地构建 Spring、Java、NodeJS、Python、Go 和 .NET Core 应用,并配置应用性能监控代理,例如 Application Insights、New Relic、Dynatrace、AppDynamics 和 Elastic。

轻松地将客户端请求路由到应用

您可以使用完全托管的 Spring Cloud Gateway for VMware Tanzu 和 API portal for VMware Tanzu 轻松管理和发现应用公开的请求路由和 API。

Spring Cloud Gateway for Tanzu 可有效地将各种客户端请求路由到 Azure Spring Apps、Azure 以及/或本地的应用,并处理网关背后应用的跨领域考虑,例如安全性、路由、速率限制、缓存、监控、弹性和应用隐藏。

API portal for VMware Tanzu 为 API 使用者提供了查找和查看 Spring Cloud Gateway for Tanzu 公开的 API 路由详细信息以及测试 API 请求的能力。

_图 1 – API portal for VMware Tanzu 可视化了可从 Spring Cloud Gateway for Tanzu 和其他符合 OpenAPI 规范的源访问的 API_

灵活且可配置的 VMware Tanzu 组件

借助 Azure Spring Apps 企业层,客户可以在 Azure 上使用完全托管的 VMware Tanzu 组件。客户在创建企业层实例时,可以选择要在其环境中使用哪些 VMware Tanzu 组件。目前可用的组件包括 Tanzu Build Service、Spring Cloud Gateway for Tanzu、API portal for VMware Tanzu、Application Configuration Service for VMware Tanzu 和 VMware Tanzu Service Registry。

VMware Tanzu 组件为客户带来更多价值:

  • 通过端到端可观测性,将企业级应用组合从几个应用扩展到数千个,同时将操作复杂性委托给 Microsoft 和 VMware
  • 在 Azure Spring Apps 和任何其他计算环境之间迁移 Spring 应用
  • 根据需要控制构建依赖项、部署多语言应用以及部署 Spring Cloud 中间件组件

Microsoft 和 VMware 将继续添加更多企业级功能,包括 Application Live View for VMware Tanzu、VMware Tanzu Application Accelerator for VMware Tanzu 和 Spring Cloud Data Flow for VMware Tanzu 等 Tanzu 组件(Azure Spring Apps Enterprise 路线图尚未确定,可能会发生变化)。

2 - 通过长期支持 (LTS) 释放 Spring 的全部潜力

企业层包含 VMware Spring Runtime Support,用于应用开发和部署。此支持使您可以联系 Spring 专家,从而释放 Spring 生态系统的全部潜力并更快地开发和部署应用。

通常,开源 Spring 项目的次要版本自发布之日起提供至少 12 个月的支持。在 Azure Spring Apps Enterprise 中,Spring 项目的次要版本通过 VMware Spring Runtime Support 权益,自发布之日起获得至少 24 个月*的商业支持。这种扩展支持确保了您的 Spring 应用组合即使在开源支持生命周期结束后仍具有安全性和稳定性。

_图 2 - Spring Boot 的商业支持时间表_
  • 您可以在此处查找 Spring 项目当前的支援时间表

3 - 完全集成到 Azure 和 Java 生态系统

Azure Spring Apps(包括企业层)在 Azure 的完全托管环境中运行。您可以获得 Azure 和 Java 生态系统的所有优势,并且体验熟悉且直观。

扩展应用能力

如果您需要超高可伸缩性和可用性的后端服务,我们已经为您准备好。我们使您能够在 Azure Spring Apps 中的应用充分利用 Azure 的强大功能。我们提供机制,使 Spring 应用可以使用 Spring Cloud Azure 集成、开源库和数据库驱动程序以及 Azure SDK for Java,连接并与 Azure 中的数据库、缓存、存储、消息传递、事件处理和目录服务进行交互。您的应用还可以与您的本地系统和外部服务交互。

_图 3 – Spring Cloud Azure 与 Azure 服务的集成_

将应用连接到 Azure 服务 – Service Connector

您可以使用 Service Connector 将 Azure 上的应用连接到数据库、缓存、存储、消息传递和事件处理等 Azure 服务。

Service Connector 设计易于使用。在 Azure Spring Apps 中,您可以将 Service Connector 指向任何 Azure 服务,Service Connector 将引导您无缝连接应用。您可以使用 Terraform、ARM 模板或 Bicep 自动化这些连接。

零信任 - 安全网络

安全是 Azure 服务的一个关键原则,您可以通过将 Java 应用部署到托管虚拟网络 (VNET) 中的 Azure 服务来保护它们,包括 Azure Spring Apps。通过这种方式,您可以围绕 Spring Boot 应用和其他依赖项构建安全边界,具体方法如下:

  • 将 Azure Spring Apps 与 Internet 隔离,并将您的应用和 Azure Spring Apps 放置在您的专用网络或企业网络中。
  • 选择性地将应用公开为面向 Internet 的应用。
  • 使应用能够与本地系统(如数据库、消息传递系统和目录)进行交互。
  • 控制应用和 Azure Spring Apps 的入站和出站流量。
  • 与 Azure 网络资源(如 Application Gateway、Azure Firewall、Azure Front Door 和 Express Route)以及流行的网络产品(如 Palo Alto Firewall、F5 Big-IP、Cloudflare 和 Infoblox)组合使用。

下面显示的 Azure Spring Apps 参考架构是采用典型企业中心辐射型设计的底层基础。Azure Spring Apps 部署在单个辐射点中,该点依赖于托管在中心中的共享服务。

_图 4 – 显示了针对选择性公开为公共应用的精心设计的中心辐射型设计_

零信任 - 端到端安全通信

您可以确保端到端通信安全,或在应用的任何通信点终止传输层安全。您可以自动化保障通信安全所需的所有 Azure 资源的预配和配置。

基于“永不信任,始终验证并免凭据”的原则,零信任通过消除未知和未管理的证书,仅信任通过身份验证共享的证书,来帮助保障所有通信的安全。在授予对这些证书的访问权限之前,会先验证身份。您可以简单地配置 Azure Spring Apps 中的应用,以使用托管标识和 Azure 基于角色的访问控制,将 Azure Key Vault 中的证书安全地加载到应用内存中。

零信任 – 使用 Key Vault 管理机密

每个应用都有将其连接到其环境和支持服务的属性,例如数据库、日志记录和监控工具、消息传递平台以及许多其他内容。每个都需要一种方式来定位和访问它,通常以 URL 和凭据的形式出现,如果这些机密暴露,这些关键信息可能被用来访问重要的客户数据。即使这些数据不受法律保护(出于非常好的原因,全球几乎所有地方都受法律保护),保护客户数据不泄露仍然是我们所有人都应放在首位的事情。在 Azure Spring Apps 中,应用可以配置为使用托管标识和 Azure 基于角色的访问控制,直接从 Key Vault 将机密加载到内存中——实现零信任和零代码!

最终用户身份验证和授权

保护应用访问安全至关重要。您可以使用 Azure Active Directory 中的组织标识以及 Facebook、Twitter 和 Gmail 等目录中的社交标识来保护应用的访问。您可以使用适用于 Java 的 Microsoft Authentication Library 或适用于 Azure Active Directory 的 Spring Boot Starter。启用最终用户登录或进行身份验证。然后,他们可以获得授权。或者,您可以简单地使用托管的 Spring Cloud Gateway 配置单点登录 (SSO)。

端到端监控

您可以使用您选择的任何工具和平台对您的 Spring 工作负载进行端到端监控,包括 App Insights、Log Analytics、New Relic、Dynatrace、AppDynamics、Elastic 或 Splunk。

_图 5 – 通过 Application Insights 应用映射可见的应用事务_

端到端自动化

您可以使用各种自动化工具和平台,构建从构思到生产的端到端自动化流程。通常,我们看到客户创建的流水线大致分为 3 类:

  • 预配流水线 - 使用 Terraform、ARM 模板、Bicep 或 Azure CLI 预配 Azure 资源,创建可重复脚本以一致地启动和关闭环境。
  • 构建流水线 - 使用 Maven 或 Gradle 构建 JAR,并将其存储到 Nexus、JFrog、Azure Artifacts 等制品库中。
  • 部署流水线 - 使用 GitHub Actions、Azure Pipelines 和 Azure CLI 自动化部署,包括蓝/绿部署以最大程度地减少中断。

继续利用现有实践

在迁移或构建,以及在 Azure 上扩展 Spring 应用时,您可以利用您在网络、监控、自动化、身份提供者、本地系统、开发和构建工具以及应用库方面的现有投资

  • 网络 – F5、Palo Alto、Cloudflare、Checkpoint、Infoblox 等。
  • 监控 - New Relic、Dynatrace、AppDynamics、Elastic、Splunk 等。
  • 自动化 – GitHub Actions、Azure Pipelines、Jenkins、GitLab 等。
  • 身份提供者 – Azure Active Directory、ForgeRock、Auth0、Ping、Okta 等。
  • 本地系统 – 数据库(如 Oracle DB、IBM DB2)、消息传递(如 IBM MQ、TIBCO EMS)、事件处理(如 Kafka)、目录(如 Active Directory、OpenLDAP、IBM ID)、邮件、FTP 等。
  • 开发工具 – IntelliJ、VS Code、Eclipse、Spring Tool Suite、Maven、Gradle 等。

4 - 立即开始!

Azure Spring Apps 企业层可提供更高的生产力,并且您可以借助 Spring 专家来使您的项目更加成功。我们很想了解您如何利用企业层构建有影响力的解决方案,并不断向您学习。

**立即开始 -- aka.ms/spring-apps-enterprise **

您还可以通过 VMware 的公告了解更多关于 Azure Spring Apps 企业层正式发布的信息。

更多资源

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

提升技能

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

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

查看全部