利用企业最佳实践部署 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 与互联网隔离,并将您的应用和 Azure Spring Cloud 放置在您的私有网络中。
  • 有选择地将 Spring Boot 应用公开为面向互联网的应用。
  • 使应用能够与本地系统交互,例如数据库、消息系统和目录服务。
  • 控制 Azure Spring Cloud 的入站和出站网络通信。
  • 与 Azure 网络资源(例如 Application Gateway、Azure Firewall、Azure Front Door 和 Express Route)以及流行的网络产品(例如 Palo Alto Firewall、F5 Big-IP、Cloudflare 和 Infoblox)进行组合使用。

可靠的部署模式

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

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

为了解决这些问题,您可以从试错法开始,但这需要时间。花费在纠正错误和实现这些结果上的时间,就无法用于实现您的组织目标。一个可重复、经过测试的部署模式可以帮助您从一开始就解决问题。

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

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

从这里开始

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

有关此架构的实现,请参阅 GitHub 上的 Azure Spring Cloud 参考架构存储库 。此架构的部署选项包括现成的 Azure Resource Manager (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 社区所有即将举行的活动。

查看全部