使用Azure Spring Cloud构建企业Java代码

仍然有许多Java应用程序为我们的业务提供动力。 但是,当我们将这些Java应用程序移至公共云时会发生什么呢? 我们是否可以在不重写它们的情况下部署它们,并且仍然具有Azure等服务的所有成本和扩展优势?

一种选择是Azure的新Spring Cloud服务 。 它基于 Pivotal流行的Spring Boot Java框架构建 ,可帮助您利用Java代码中的关键Azure服务并使用Azure的Kubernetes服务来管理扩展 。 由于可以作为托管服务使用,因此几乎不需要配置,甚至不需要平台管理。 目前处于私有预览中 ,将于2019年底之前进行公开预览。

[想自己罢工吗? 下载InfoWorld的29条技巧,以独立开发者的身份获得成功,从而获得来自成功的独奏程序员的宝贵指导。 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

Spring Boot是熟悉的Spring的派生产品,也许最好将其视为企业Java应用程序的有效运行时间。 您需要做的就是编写和部署代码。 Spring Boot为您配置和管理库和服务。 目的是使您的代码(如Spring Boot文档所述)“只是运行”。

在Azure上使用Java的观点

Spring Boot的自有方法可以处理依赖关系,使其适合作为托管云服务运行。 如果您不需要管理代码所需的库,则使服务保持最新状态并确保可以将应用程序代码和所有关联的构件构建到连续的交付管道中会容易得多。 任何更改都只会生成并部署一个新的JAR(Java存档)。 Pivotal的Spring Boot工具包括其自己的构建服务,该构建服务获取您的代码,对其进行编译,打包,并在Azure Spring Cloud中将其交付到准备在Azure Kubernetes Service(AKS)上运行的容器中。 将代码部署到Azure之后,可以使用Azure CLI运行和扩展应用程序。

作为其Build Service的一部分,Pivotal一直在与Heroku合作开发工具,以改善为Kubernetes应用程序创建容器的过程。 如果使用的是Azure Spring Boot,则将使用这些工具来管理应用程序映像。 一种工具Cloud Native Buildpacks用于构建和打包您的应用程序映像,使它们可以在Spring Boot运行的任何位置运行。 另一个kpack与Kubernetes控制器一起使用,以使用Kubernetes命令行和一组自定义Kubernetes控制器来自动化部署。

使用Spring Boot中的kpack,如果将更新推送到源代码管理树,则kpack可以检测到推送并自动生成更新的Buildpack并将其部署到您的应用程序。 它不仅适用于Spring Boot,还适合与Cloud Foundry应用程序一起使用,并且由于它是开源的,因此被其他基于Kubernetes的项目采用。 在Azure Spring Boot中,它可以自动处理您的代码以及创建和更新容器,以供部署。

与Spring Boot Starters的快速Azure集成

Azure Spring Boot的关键功能之一是其选择的Starters ,它使您能够利用代码对基本库的自动支持,从代码中访问各种服务API。 Azure Spring Cloud为关键的Azure服务(包括其核心数据库(Azure SQL和Cosmos DB),Azure Active Directory以及事件中心的流数据)添加了Starters。 您甚至可以将其与Azure自己的监视工具结合使用,从而允许您将Spring Boot应用程序集成到具有端到端性能监视和可跟踪性的更广泛的Azure服务组合中。

Starters向各种Spring Boot配置文件添加新的属性和依赖项,并在部署时导入适当的模块。 您不需要将Azure资源与Spring Boot应用程序放在同一个资源组中,因为您可以使用资源帐户的详细信息(包括用于存储身份验证密钥的任何凭据文件)分别配置代码的应用程序属性。 完成Azure配置后,可以将适当的代码添加到您的应用程序中。 当Spring Boot管理与Azure资源的连接时,您可以像使用它们作为本机Spring Boot资源一样使用它们,而无需将特定于Azure的代码添加到您的应用程序中。

通过将Azure服务与代码分离,可以使应用程序具有可移植性,可以在拥有Spring Boot实例的任何位置运行。 Azure上的存储Blob与您自己的服务器上的存储Blob相同,数据库或身份验证服务也是如此。 您的开发人员无需具备Azure特定技能; 他们可以继续使用他们现有的Java知识。

您不仅限于将Spring Boot用作托管服务。 Azure支持使用虚拟机托管服务器的自己的Spring Boot实例 。 但是,您有责任确保您的应用程序和基础框架是最新的。 借助Microsoft和Pivotal的托管服务,任何安全性和其他更新都会在后台自动交付,从而限制了服务中断并降低了数据泄露的风险。

通往Java多云的道路

通过为开发人员和运营人员使用熟悉的工具,Azure Spring Boot是本地IT和公共云之间的有效桥梁。 如果您的代码不依赖Azure服务,则是提供混合和多云支持的一种方式。 您可以在本地运行相同的代码,然后突发到Azure以处理需求高峰。 或在AWS和Azure 托管相同的应用程序,并使用全局DNS服务将用户路由到适当的端点,以最大程度地减少延迟或避免服务中断。

如果您使用Visual Studio Code进行Java开发,则Pivotal提供了Spring Boot扩展包,以添加交付Spring Boot应用程序所需的所有功能 。 这些功能包括用于处理Spring Java代码的IDE功能及其配置文件。 有用于部署清单,构建管道和仪表板的工具,可帮助调试所有Spring Boot项目。 只需一个安装程序即可设置和配置所有工具,因此您无需花费太多时间来调整开发环境即可开始编写代码。

在使用公共云时,使事情保持简单很重要。 复杂的应用程序难以调试,难以扩展,并且更难于理解运行它们的成本。 通过减少对中间件的依赖并与Azure服务直接集成, Azure Spring Cloud应该为您提供一个可预测的,可理解的框架,用于在Azure上部署Java应用程序,而无需更改开发和测试代码的方式。 可以在安装了Spring Boot的任何地方运行的代码。

From: https://www.infoworld.com/article/3445817/build-enterprise-java-code-with-azure-spring-cloud.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值