Arm社区

文章数:282 被阅读:641628

账号入驻

在基于 Arm 架构的全新微软 Azure B 系列虚拟机上,使用 GitHub Actions 构建 Web 应用程序

最新更新时间:2023-08-30 20:37
    阅读数:

点击上方 Arm 社区 关注我们


Arm 正在与云原生软件生态系统建立坚实的合作关系,以确保开源项目能够为开发者带来更多原生多架构的支持。此外,Arm 还积极与社区成员和代码贡献者合作,旨在为其提供无缝的软件开发体验。开发者利用 Arm 成熟的云原生软件生态系统 [1] 构建应用程序,以实现高性价比及高能效等优势。云原生应用程序对计算的要求各不相同。有些需要持续的高吞吐量,而有些如 Web 服务器和开发生成环境则并不一定需要全天候的 CPU 满负荷性能,而 Arm 灵活的架构足以支持如此广泛的工作负载。

微软推出 B 系列虚拟机

微软发布了全新 Azure Bpsv2 系列虚拟机的公共预览版 [2] ,该虚拟机采用了搭载 Arm Neoverse 的 Ampere Altra 处理器。B 系列虚拟机可按需提供高水平的 CPU 性能,而针对需要偶发激增的高性能但大部分时间运行在较低性能水平的工作负载,B 系列虚拟机是理想之选。由于这系列的虚拟机可无需过度配置,便可满足必要的性能需求,尤其适用于面临不可预测的突增需求的工作负载,例如活动或促销。

Bpsv2 系列虚拟机是搭载 Arm 架构的新一代 Azure B 系列虚拟机,不仅能提供基准水平的 CPU 性能,并能够随着工作负载量的增加扩展到更高突增性能。它非常适用于不需要持续的 CPU 完全性能的应用,像是开发和测试服务器、低流量 Web 服务器、小型数据库、微服务、概念验证服务器、构建服务器和代码仓库。当运行较低性能水平的任务时,B 系列虚拟机会随着时间的推移累积额度,如此一来,当运行的应用程序需要更高的 CPU 性能时,虚拟机可使用这些额度,提供更高性能的爆发需求。

相较于通用的虚拟机,开发者使用基于 Arm 架构的 Azure B 系列虚拟机所支付的费用更少,可节约成本。与传统通用虚拟机相比不仅更具性价比,能效也更高,是用于开发和测试环境的 CI/CD 流水线的理想选择。在使用基于 Arm 架构的 B 系列虚拟机构建和测试云原生应用程序的过程中,开发者可以高效地管理对其他资源的间歇性需求。接下来,让我们通过以下关于构建 CI/CD 流水线的工作负载示例,了解客户如何通过使用基于 Arm 架构的 Azure B 系列虚拟机构建应用程序,并节省成本。

基于 Arm 架构的 Azure B 系列虚拟机 和 GitHub Actions

在 GitHub Actions 的 CI/CD 流水线采用该虚拟机 [3] 可在构建和测试的过程中,管理资源需求的激增。一般来说,CI/CD 流水线中的 GitHub Actions 自托管运行器只是偶尔需要构建资源。故该运行器大部分时间都处于闲置状态,而对应的 Azure 虚拟机却在不断产生费用。如果该运行器使用 B 系列虚拟机,用户不仅可节约成本,且能随着时间的推移累积额度,用于应对偶发的资源需求。

在这个示例中,我们展示了一个Web 应用程序的 CI/CD 生命周期,它使用了 GitHub Actions 且基于 Spring Boot 所开发。通常,GitHub Actions 运行器的资源足以构建、测试和运行应用程序的源代码。然而,在我们模拟的场景中,正在执行的测试用例数量突然激增,因此需要其他资源支持。该应用场景概述如下:

Web 应用程序的源代码托管在 GitHub 中,其 CI/CD 生命周期通过 GitHub Actions 进行管理。

在基于 Arm 架构的 Azure  B 系列虚拟机上配置了一个 GitHub Actions 自托管运行器。

此虚拟机的性能大部分时间都保持在基线性能以下,并为 CI/CD 管道中的构建和测试过程提供支持。

虚拟机随着时间的推移累积额度,当需要更多资源时,会使用这些额度以提供爆发到基线以上的性能。

构建和测试过程完成后,虚拟机回到其基线性能,并再次开始累积额度。

配置

先决条件:

拥有有效订阅的 Azure 帐户

GitHub 帐户

登录 Azure 帐户,参考以下配置创建一个基于 Arm 架构的虚拟机。确保选择 Arm64 版本作为虚拟机的架构和并选择相应的操作系统镜像,如下所示:

登录 GitHub 帐户并创建此资源库的副本 [4] 。然后,转到资源库设置并注册一个新的 GitHub Actions 自托管运行器。在 Azure B 系列虚拟机上执行以下命令,并等待运行器进入“闲置”状态。

GitHub Actions 运行器现在可以接受任务了。GitHub 中有一个很棒的功能,可以直接在浏览器中使用 Visual Studio Code 编码器。只需在资源库页面上点击,就会立即启动编辑器。修改应用程序源代码并提交更改。系统将自动触发 GitHub 中的构建过程,同时,还可以在 Azure 虚拟机中进行监控。成功构建后,使用 https://localhost:8443 访问应用程序,然后应该会打开以下页面。

当 B 系列虚拟机以低于基线性能运行时,将随着时间的推移累积额度。其累积的额度,可以在 Azure 门户网站上查看,如下所示:

我们对 CI/CD 流水线进行了多次提交,可以看到累积的额度被使用。以下屏幕截图显示了用于 B 系列虚拟机的额度值:

总结,如果客户想要优化 Azure 中的计算资源并降低成本,可以考虑选用搭载 Arm Neoverse 的 Ampere Altra 处理器的 Azure Bpsv2 系列虚拟机 [5] 。当需求激增时,这些虚拟机可以灵活地利用云资源。可爆发能力可在必要时提供额外的性能,而基线性能确保了一致性和可靠性。

本文作者:Arm 基础设施事业部高级经理兼解决方案工程师 Pranay Bakre

[1] - [5] 来源可参见原文,欢迎点击阅读原文

推荐帖子


最新有关Arm社区的文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved