Arm 正在與云原生軟件生態(tài)系統(tǒng)建立堅實的合作關(guān)系,以確保開源項目能夠為開發(fā)者帶來更多原生多架構(gòu)的支持。此外,Arm 還積極與社區(qū)成員和代碼貢獻(xiàn)者合作,旨在為其提供無縫的軟件開發(fā)體驗。開發(fā)者利用 Arm 成熟的云原生軟件生態(tài)系統(tǒng)[1]構(gòu)建應(yīng)用程序,以實現(xiàn)高性價比及高能效等優(yōu)勢。云原生應(yīng)用程序?qū)τ嬎愕囊蟾鞑幌嗤S行┬枰掷m(xù)的高吞吐量,而有些如 Web 服務(wù)器和開發(fā)生成環(huán)境則并不一定需要全天候的 CPU 滿負(fù)荷性能,而 Arm 靈活的架構(gòu)足以支持如此廣泛的工作負(fù)載。
微軟推出 B 系列虛擬機
微軟發(fā)布了全新 Azure Bpsv2 系列虛擬機的公共預(yù)覽版[2],該虛擬機采用了搭載 Arm Neoverse 的 Ampere Altra 處理器。B 系列虛擬機可按需提供高水平的 CPU 性能,而針對需要偶發(fā)激增的高性能但大部分時間運行在較低性能水平的工作負(fù)載,B 系列虛擬機是理想之選。由于這系列的虛擬機可無需過度配置,便可滿足必要的性能需求,尤其適用于面臨不可預(yù)測的突增需求的工作負(fù)載,例如活動或促銷。
Bpsv2 系列虛擬機是搭載 Arm 架構(gòu)的新一代 Azure B 系列虛擬機,不僅能提供基準(zhǔn)水平的 CPU 性能,并能夠隨著工作負(fù)載量的增加擴展到更高突增性能。它非常適用于不需要持續(xù)的 CPU 完全性能的應(yīng)用,像是開發(fā)和測試服務(wù)器、低流量 Web 服務(wù)器、小型數(shù)據(jù)庫、微服務(wù)、概念驗證服務(wù)器、構(gòu)建服務(wù)器和代碼倉庫。當(dāng)運行較低性能水平的任務(wù)時,B 系列虛擬機會隨著時間的推移累積額度,如此一來,當(dāng)運行的應(yīng)用程序需要更高的 CPU 性能時,虛擬機可使用這些額度,提供更高性能的爆發(fā)需求。
相較于通用的虛擬機,開發(fā)者使用基于 Arm 架構(gòu)的 Azure B 系列虛擬機所支付的費用更少,可節(jié)約成本。與傳統(tǒng)通用虛擬機相比不僅更具性價比,能效也更高,是用于開發(fā)和測試環(huán)境的 CI/CD 流水線的理想選擇。在使用基于 Arm 架構(gòu)的 B 系列虛擬機構(gòu)建和測試云原生應(yīng)用程序的過程中,開發(fā)者可以高效地管理對其他資源的間歇性需求。接下來,讓我們通過以下關(guān)于構(gòu)建 CI/CD 流水線的工作負(fù)載示例,了解客戶如何通過使用基于 Arm 架構(gòu)的 Azure B 系列虛擬機構(gòu)建應(yīng)用程序,并節(jié)省成本。
基于 Arm 架構(gòu)的 Azure B 系列虛擬機和 GitHub Actions
在 GitHub Actions 的 CI/CD 流水線采用該虛擬機[3]可在構(gòu)建和測試的過程中,管理資源需求的激增。一般來說,CI/CD 流水線中的 GitHub Actions 自托管運行器只是偶爾需要構(gòu)建資源。故該運行器大部分時間都處于閑置狀態(tài),而對應(yīng)的 Azure 虛擬機卻在不斷產(chǎn)生費用。如果該運行器使用 B 系列虛擬機,用戶不僅可節(jié)約成本,且能隨著時間的推移累積額度,用于應(yīng)對偶發(fā)的資源需求。
在這個示例中,我們展示了一個Web 應(yīng)用程序的 CI/CD 生命周期,它使用了 GitHub Actions 且基于 Spring Boot 所開發(fā)。通常,GitHub Actions 運行器的資源足以構(gòu)建、測試和運行應(yīng)用程序的源代碼。然而,在我們模擬的場景中,正在執(zhí)行的測試用例數(shù)量突然激增,因此需要其他資源支持。
Web 應(yīng)用程序的源代碼托管在 GitHub 中,其 CI/CD 生命周期通過 GitHub Actions 進行管理。
在基于 Arm 架構(gòu)的 Azure B 系列虛擬機上配置了一個 GitHub Actions 自托管運行器。
此虛擬機的性能大部分時間都保持在基線性能以下,并為 CI/CD 管道中的構(gòu)建和測試過程提供支持。
虛擬機隨著時間的推移累積額度,當(dāng)需要更多資源時,會使用這些額度以提供爆發(fā)到基線以上的性能。
構(gòu)建和測試過程完成后,虛擬機回到其基線性能,并再次開始累積額度。
配置
先決條件:
擁有有效訂閱的 Azure 帳戶
GitHub 帳戶
登錄 Azure 帳戶,參考以下配置創(chuàng)建一個基于 Arm 架構(gòu)的虛擬機。確保選擇 Arm64 版本作為虛擬機的架構(gòu)和并選擇相應(yīng)的操作系統(tǒng)鏡像,如下所示:
登錄 GitHub 帳戶并創(chuàng)建此資源庫的副本[4]。然后,轉(zhuǎn)到資源庫設(shè)置并注冊一個新的 GitHub Actions 自托管運行器。在 Azure B 系列虛擬機上執(zhí)行以下命令,并等待運行器進入“閑置”狀態(tài)。
GitHub Actions 運行器現(xiàn)在可以接受任務(wù)了。GitHub 中有一個很棒的功能,可以直接在瀏覽器中使用 Visual Studio Code 編碼器。只需在資源庫頁面上點擊,就會立即啟動編輯器。修改應(yīng)用程序源代碼并提交更改。系統(tǒng)將自動觸發(fā) GitHub 中的構(gòu)建過程,同時,還可以在 Azure 虛擬機中進行監(jiān)控。成功構(gòu)建后,使用 https://localhost:8443 訪問應(yīng)用程序,然后應(yīng)該會打開以下頁面。
當(dāng) B 系列虛擬機以低于基線性能運行時,將隨著時間的推移累積額度。其累積的額度,可以在 Azure 門戶網(wǎng)站上查看,如下所示:
我們對 CI/CD 流水線進行了多次提交,可以看到累積的額度被使用。以下屏幕截圖顯示了用于 B 系列虛擬機的額度值:
總結(jié),如果客戶想要優(yōu)化 Azure 中的計算資源并降低成本,可以考慮選用搭載 Arm Neoverse 的 Ampere Altra 處理器的 Azure Bpsv2 系列虛擬機[5]。當(dāng)需求激增時,這些虛擬機可以靈活地利用云資源??杀l(fā)能力可在必要時提供額外的性能,而基線性能確保了一致性和可靠性。
審核編輯:彭菁
-
微軟
+關(guān)注
關(guān)注
4文章
6590瀏覽量
104024 -
ARM
+關(guān)注
關(guān)注
134文章
9084瀏覽量
367373 -
軟件
+關(guān)注
關(guān)注
69文章
4921瀏覽量
87392 -
虛擬機
+關(guān)注
關(guān)注
1文章
914瀏覽量
28158 -
云原生
+關(guān)注
關(guān)注
0文章
248瀏覽量
7947
原文標(biāo)題:在基于 Arm 架構(gòu)的全新微軟 Azure B 系列虛擬機上,使用 GitHub Actions 構(gòu)建 Web 應(yīng)用程序
文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論