利用企业最佳实践部署 Spring Boot 应用程序 – Azure Spring Cloud 参考架构

工程 | Josh Long | 2021年3月11日 | ...

利用企业最佳实践部署 Spring Boot 应用程序 – Azure Spring Cloud 参考架构

今天,我们很高兴地宣布 Azure Spring Cloud 参考架构现已可用。您可以开始部署Azure Spring Cloud 参考架构,以利用经过验证的最佳实践,加速并在云中大规模安全地部署 Spring Boot 应用程序。

在过去的一年中,我们与许多企业客户合作,了解他们的场景,包括对适当扩展、安全、部署和成本需求的看法。许多这些客户在本地数据中心运行数千个 Spring Boot 应用程序。当他们将这些应用程序迁移到云时,他们需要经过实战考验的架构,以增强信心,满足其 IT 部门和/或监管机构提出的要求。在许多客户环境中,他们还需要展示架构与行业定义的安全控制和基准之间的直接映射。感谢这些客户给我们提供与他们合作的机会,并帮助我们构建 Azure Spring Cloud 参考架构。使用此参考架构,您可以进行部署和定制以满足您的特定需求,并展示与安全控制和基准的预定义映射。

“Azure Spring Cloud 参考架构的可用性减少了我们研究架构选项和 Spring Cloud 功能集的内部周期,这使我们能够快速确定我们希望如何实现和扩展到全球。”——Devon Yost,企业架构师,Digital Realty Trust

“祝贺您和您的团队为所有客户免费创建和提供 Azure Spring Cloud 参考架构。参考架构是用户将他们的设计与 Microsoft 专家如何设计部署进行比较的好方法。参考架构包含使用多种技术的部署令人难以置信。我们能够比较参考 Terraform 实现并快速了解架构。我们甚至已经开始测试架构中重点介绍的 Azure DNS,以使用基础设施即代码原则来管理我们的 DNS。” - Armando Guzman,首席软件工程师,统一商务,Raley’s

Java 应用程序的轻松部署

Azure Spring Cloud 由 Microsoft 和 VMware 联合构建、运营和支持。它是一款针对 Spring Boot 应用程序的完全托管服务,让您可以专注于构建运行业务的应用程序,而无需费心管理基础设施。该服务以精心设计的架构整合了 Azure 计算、网络和存储服务,从而减少了基础设施决策的数量。Azure Spring Cloud 参考架构提供了一种可部署的设计,该设计映射到行业安全基准,为合规性审批提供了良好的开端。对架构中引用的每个服务的实现和配置都针对安全控制进行了评估,以确保安全设计。

安全和托管虚拟网络

安全是 Azure Spring Cloud 的关键原则,您可以通过将 Spring Boot 应用程序部署到托管虚拟网络 (VNET) 中的 Azure Spring Cloud 来保护这些应用程序。使用 VNET,您可以通过以下方式保护 Spring Boot 应用程序和其他依赖项周围的边界:

  • 将 Spring Cloud 与 Internet 隔离,并将您的应用程序和 Azure Spring Cloud 放置在您的私有网络中。
  • 选择性地将 Spring Boot 应用程序公开为面向 Internet 的应用程序。
  • 使应用程序能够与本地系统(例如数据库、消息传递系统和目录)交互。
  • 控制 Azure Spring Cloud 的入站和出站网络通信。
  • 与 Azure 网络资源(如应用程序网关、Azure 防火墙、Azure 前门和 ExpressRoute)以及流行的网络产品(如 Palo Alto 防火墙、F5 Big-IP、Cloudflare 和 Infoblox)组合使用。

可靠的部署模式

当您在私有网络中部署一系列 Azure 资源(包括 Azure Spring Cloud)并将这些资源与本地系统互连时,您可能会面临以下多个问题:

  • 如何管理成本以最大限度地提高交付的价值?
  • 如何构建运营流程以保持系统在生产环境中持续运行?
  • 如何在系统能够适应负载变化的情况下考虑性能效率?
  • 您的系统如何从故障中恢复并继续运行?
  • 如何保护应用程序和数据免受威胁和风险?

为了解决这些问题,您可以从反复试验的方法入手,但这需要时间。获得正确结果并实现这些目标所需的时间是未用于组织目标的时间。可重复、经过测试的部署模式可以帮助您从一开始就解决问题。

Azure Spring Cloud 参考架构解决了以下解决方案设计组件:

  • **中心和辐射模型对齐。**与 Azure 登陆区域对齐,这使得可以在 Azure 中以企业规模进行应用程序迁移和新项目开发。登陆区域是用于托管您的工作负载的环境,通过基础设施即代码预先配置。
  • **良好架构框架。**整合了 Azure 良好架构框架的指导原则,以提高工作负载的质量。该框架由五个架构卓越支柱组成:成本优化、运营卓越、性能效率、可靠性和安全性。
  • **外围安全。**保护外围以进行完整的出口管理,使用 Azure Key Vault 管理密钥和证书。连接您选择的网络资源,整合您的 IT 团队提供的路由表,其中包含用户定义的网络路由。它已准备好与 Azure 资源公开的私有链接或您的本地系统公开的端点进行交互。
  • **对已部署环境的授权访问。**包括通过具有必要开发工具的跳转主机通过 Azure Bastion 来保护和授权对已部署环境的访问。
  • **监控。**通过连接应用程序性能监控 (APM) 并为所有资源发布日志和指标来启用可观察性,通过 Azure Monitor。这提供了在您选择的聚合器(例如 Azure Log Analytics、Elastic Stack 或 Splunk)中聚合日志和指标的选项。
  • **冒烟测试。**提供部署脚本以部署业务线系统并对已部署环境进行冒烟测试。
图 1 - 该图表示选择性地公开为公共应用程序的应用程序的良好架构中心和辐射设计

从这里开始

Azure Spring Cloud 参考架构 是使用典型的企业中心和辐射设计来使用 Azure Spring Cloud 的基础。在此设计中,Azure Spring Cloud 部署在单个辐射中,该辐射依赖于在中心托管的共享服务。

有关此架构的实现,请参阅GitHub 上的 Azure Spring Cloud 参考架构存储库。此架构的部署选项包括现成的Azure 资源管理器 (ARM)TerraformAzure CLI 脚本。此存储库中的工件提供了您可以根据您的环境和自动化预配管道进行自定义的基础。

团队成员

此 Azure Spring Cloud 参考架构由 Microsoft 的云解决方案架构师、Java 专家和内容作者创建和维护,此处按字母顺序排列,从左到右逐行排列

  • Armen Kaleshian – 云解决方案架构师
  • Arshad Azeem – 云解决方案架构师
  • Asir Selvasingh – 架构师,Azure 上的 Java
  • Bowen Wan – 软件工程经理,Azure 上的 Java
  • Brendan Mitchell – 内容开发者
  • David Apolinar – 云解决方案架构师
  • Dylan Reed – 客户工程师
  • Karl Erickson – 内容开发者
  • Matt Felton – 云解决方案架构师
  • Ryan Hudson – 云解决方案架构师
  • Troy Ault – 云解决方案架构师

了解 Azure Spring Cloud 并立即开始构建!

Azure Spring Cloud 抽象了基础设施管理和 Spring Cloud 中间件管理的复杂性,因此您可以专注于构建业务逻辑,并让 Azure 负责动态缩放、修补程序、安全、合规性和高可用性。只需几个步骤,即可预配 Azure Spring Cloud、创建应用程序、部署和缩放 Spring Boot 应用程序,并在几分钟内开始监控。我们将继续为 Azure Spring Cloud 提供更多面向开发人员且适合企业的特性。

我们很乐意了解您如何使用 Azure Spring Cloud 构建有影响力的解决方案。请使用Azure Spring Cloud 参考架构和这些资源开始!

资源

获取 Spring 时事通讯

关注 Spring 时事通讯

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部