你好,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 正式GA(通用可用)。Azure Spring Cloud 是一个基于 Microsoft Azure 构建的平台,用于部署和管理由 Spring Boot 和 Spring Cloud 提供支持的服务和软件。它由 Microsoft 和 VMware 联合构建、运营和支持。

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

让我们从简单的开始。前往 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 Portal 或命令行上创建一个新应用程序。

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 中是微不足道的,而 Spring Cloud Config Server 在 Azure Spring Cloud 中设置 起来也非常简单。

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

Spring on Azure 集成

所有这些,我们才刚刚开始触及 Azure Spring Cloud 的全部力量!Azure Spring Cloud 极大地简化了支持微服务的必要基础设施的搭建,但典型的应用程序还有大量的其他基础设施需求,值得庆幸的是,Microsoft Azure 完全能够满足这些需求。

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

) 模块与 Azure CosmosDB 对话。

  • 您可以使用 Spring Cloud Stream 与 Azure Service Bus 对话。

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

一项关键的合作

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

生产环境非常棒,您不必只听我们的一面之词

我们热爱 Azure Spring Cloud 平台,希望您也会喜欢。我们知道很多人已经喜欢了!事实证明,生产环境确实很棒,您不必只听我们的一面之词!在 官方发布博客 上有一些客户评价。

今天和明天在 SpringOne 2020 了解更多

  • 微软的 Asir Selvasingh 和 Adib Sakali 将于今天(9 月 2 日星期三)太平洋夏令时下午 12:35 在 SpringOne 2020 举行客户座谈会
  • 微软的 Julien Dubois 和 Josh Long 将于明天(9 月 3 日星期四)太平洋夏令时上午 11:35 在 SpringOne 2020 演讲 Bootiful Azure Spring Cloud

下一步

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系。

订阅

领先一步

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

了解更多

获取支持

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

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部