您好,Azure Spring Cloud

工程 | Josh Long | 2020年9月2日 | ...

注意:这篇博客是在Spring团队和Microsoft Azure Spring Cloud团队成员(包括Josh Long、Julien Dubois、Sean Li、Kylie Liang、Jonathan Giles、Asir Selvasingh以及Microsoft Azure Spring Cloud和VMware Spring团队的其他成员)的合作下撰写的。

嗨,Spring 粉丝们!今天我们非常高兴地宣布Azure Spring Cloud 正式上市。Azure Spring Cloud 是一个用于部署和管理基于 Spring Boot 和 Spring Cloud 的服务和软件的平台,该平台构建在 Microsoft Azure 上。它由 Microsoft 和 VMware 共同构建、运营和支持。

Azure Spring Cloud 的核心概念是优化基于 Spring Boot 的微服务在利用 Azure Kubernetes 服务的平台上的生产路径,从而抽象出管理 Kubernetes 所涉及的所有复杂性。让我们具体看看 Azure Spring Cloud 是如何做到这一点的。您首先需要设置一个新的 Azure Spring Cloud 服务实例。您可以在Azure 门户命令行轻松完成此操作。完成后,我们就可以发布软件了!

让我们从简单的事情开始。访问Spring Initializr并构建一个新服务。添加Reactive Web依赖项。点击Generate。您将获得一个zip文件,您应该将其解压缩。生成的项目可以在您想要的任何 IDE 中打开。编辑pom.xml,暂时注释掉以下依赖项

将以下 Spring Webflux HTTP 控制器添加到与主应用程序位于同一代码页的 Java 代码库中。


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collection;

@RestController
class HelloController {

    @GetMapping("/hello")
    Map<String, String> hello() {
        return java.util.Collections.singletonMap("greeting", "Hello from Azure Spring Cloud");
    }
}

然后,使用 Apache Maven 从项目的根目录构建应用程序,就像构建任何 Spring Boot 应用程序一样

mvn clean package -f pom.xml 

这将为您提供一个.jar文件,您可以正常运行它:java -jar target/*jar

应用程序可以运行,现在您可以在 Azure Spring Cloud 上配置应用程序实例,以便当您部署.jar文件时,平台将知道如何处理它以及如何配置它。

您可以在 Azure 门户或命令行创建新的应用程序。

az spring-cloud app create -n simple-microservice

您只需要创建一次应用程序定义。此后,我们只需要部署应用程序本身。

 az spring-cloud app deploy -n simple-microservice --jar-path target/demo-0.0.1-SNAPSHOT.jar

这样,应用程序就在云端运行了!恭喜!您已进入生产环境。感觉不错,不是吗?在这种情况下,生产环境是一个非常强大的环境。

进入生产环境后,您需要分布式跟踪和日志聚合

您可能希望集中和保护配置值,这对于 Spring Cloud Config Server 来说很容易做到,它很容易在 Azure Spring Cloud 中设置

您还可以利用预配置的Azure Spring Cloud 中的 Eureka 服务注册表来实现服务注册和发现

Spring on Azure 集成

所有这些都只是开始挖掘 Azure Spring Cloud 的全部潜力!Azure Spring Cloud 简化了建立支持微服务的架构的工作,但是一个典型的应用程序还有很多其他的架构需求,值得庆幸的是,Microsoft Azure 完全可以满足这些需求。

我们还没有连接到数据库或消息队列,也没有添加安全功能或其他任何东西。但是不用担心,适用于 Microsoft Azure 的 Spring Cloud 提供了一个丰富的工具箱,允许您以 Spring 应用程序的惯用方式访问 Azure 服务。让我们看看其中一些(但绝对不是全部)可能性。

模块与 Azure CosmosDB 通信

  • 您可以使用 Spring Cloud Stream 与 Azure Service Bus 通信

Josh 在 2020 年 6 月向新加坡 Java 和 Microsoft 用户组的联合会议发表的演讲中深入探讨了其中一些机会。

关键的合作

2019 年 10 月,Microsoft 和 VMware 宣布了 Azure Spring Cloud 的合作。从那时起,许多客户都向我们咨询了这项差异化产品。许多组织中的 Java 和 JVM 开发人员都使用了这项服务,并向我们提供了大量反馈,以帮助我们确定功能优先级并塑造 Azure Spring Cloud。我们启用了安全功能来管理密钥、混合部署、控制应用程序的入口和出口以及使用 TLS/SSL 保护通信。为了支持性能和可靠性,我们启用了自动缩放、日志流式传输、警报和自诊断。

生产环境很棒,您不必相信我们的话

我们喜欢 Azure Spring Cloud 平台,我们希望您也喜欢。我们知道你们中的很多人已经喜欢上了!事实证明,生产环境_很棒,您不必相信我们的话!在官方发布博客上有一些客户评价。

在今天的 SpringOne 2020 上了解更多信息

  • Microsoft 的 Asir Selvasingh 和 Adib Sakali 今天下午在 SpringOne 2020 上进行客户小组讨论,太平洋标准时间 9 月 2 日星期三下午 12:35。
  • Microsoft 的 Julien Dubois 和 Josh Long 将在 9 月 3 日星期四太平洋标准时间上午 11:35 在 SpringOne 2020 上介绍Bootiful Azure Spring Cloud

后续步骤

获取Spring通讯

关注Spring通讯

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部