技術專欄

集結國內外精選文章,掌握最新雲端技術新知與應用 

iKala Cloud / 部落格 / 應用程式現代化 / 深入淺出 Anthos:現代化應用程式的開發與部署

深入淺出 Anthos:現代化應用程式的開發與部署

針對 71% 最近將「提高靈活性並加快上線時間」視為企業首要任務的 CIO 們,今天,本文要談談 Anthos 可以如何協助您提高組織中的應用程式的開發和部署。 

傳統而言,應用程式的開發和發佈會受到一些缺點的影響,而這些缺點會拖慢您的上線時間:

  • 孤立的應用程式營運團隊和工具:一個用於內部部署,一個用於各種雲環境
  • 交付週期長加上不頻繁發佈,會增加每次生產部署的風險和複雜性
  • 在開發過程中未發現的可靠性和安全性問題
  • 添加更多應用程式、團隊和更新時,缺乏可伸縮性,可觀察性和治理

快速、安全且可靠的 CI/CD 原則

導入容器化,並採用一致性、符合政策的平台 ─ 例如 Anthos ─ 可以幫助您更快地創建具有更多功能、更安全、更可靠的應用程式,從而在瞬息萬變的世界中保持領先地位。但是僅僅因為您改在快速道路上駕駛舊轎車並不意味著它會更快。同樣的道理,在採用 Anthos 之後,若您維持相同舊的開發方式、發佈工具及方法,那麼,Anthos 或許不會對您的應用程式開發速度產生實質性的影響。

多年來,Google 致力於打造可大規模運行的服務。那時,Google 就擬定了應用程式開發和發行的原則,並努力為您帶來諸如 SRE 之類的概念,與 Kubernetes 這類的創新。借助 Anthos,您可以訪問在本地和雲環境中的應用程式開發和發佈工具。這些工具有許多優點:

自動化的建置、測試與部署

持續整合 (CI) 和持續部署 (CD) 使您可以消除傳統軟體發佈週期的限制,並轉為依需模型。您的應用程式部署人員可以使用完全託管的工具輕鬆地將其擴展、維護和更新,並將新程式碼快速推送給用戶。我們為您提供這些工具的整合使用提供指南:原始碼版本控管、產出物儲存庫,和問題管理,無論是本地還是在多雲環境中都能使用。 

基於政策的安全性 (policy-based security)

「安全性」應該奠基在集中管理的政策之上,並由自動化工具執行。Anthos 通過在所有環境中創建一個通用管理層來簡化該原理的實現。Anthos Config Management 在這些環境中強化安全性和組織政策。您可以使用不更改程式碼的簡化工作流程,來添加或更新政策。Anthos 還包括諸如二進制授權等技術,可幫助您保護軟體供應鏈,確保您構建的程式碼就是您部署的程式碼。 

借助基於政策的安全性 (policy-based security),開發人員可以專注於構建產品和功能,而不必為不斷變化的組織政策和合規性標準而更新程式碼。

主動可靠性測試

CI/CD 使您可以專注於在開發和測試過程中的問題預防,而不必通過自動化工具進行檢查來減輕正式環境中的問題(也稱為測試左移)。我們的 CI/CD 方法支持自動推出和回復舊版,並且由於擁有一致的 Anthos 平台,您的測試和開發環境與正式環境更加相似,因此您可以在上線之前發現兼容性問題。 

CI/CD 用戶和工具

考量現代 CI/CD 管道的組成時,請考慮組織內的三個角色:開發人員、部署人員和資安管理人員。讓我們看一下每個可用的工具以及它們之間的互動方式: 

CI_CD users and tools.jpg

1. 開發人員

開發人員可以將 git 儲存庫用於程式碼管理;該儲存庫為應用程式和設定檔提供儲存,並允許檢查程式碼更改。他們還可以使用持續整合 (CI) 工具,例如 Gitlab。該服務能測試和驗證程式碼,並構建可在部署環境中使用的產出物(例如:用於 Kubernetes 的容器映像檔)。最後,您的開發人員可以使用 Container Registry 儲存 CI 期間構建的產出物(容器映像檔)。

2. 部署人員

部署人員還可以使用 git 儲存庫儲存有關如何部署應用程式的指令。通過使用 Kustomize 或 Anthos Config Management 這類的配置管理工具,他們可以將 CI 創建的產出物和部署說明打包在一起。這允許原始檔 (primitives) 或樣板 (blueprints) 的重複使用和擴展配置。最後,部署人員可以使用持續部署 (CD) 服務,該服務定義跨環境的程式碼推出過程,簡化過渡環境和正式環境之間的部署過程,並為失敗的更新提供容易的回復舊版機制。

3. 資安管理人員

安全管理員利用 git 儲存庫來儲存應用於您的基礎架構(叢集)的政策。他們與 Anthos Config Management 提供的策略管理服務一起使用,以提供一種在其叢集上強化政策的機制(例如:RBAC,配額等)。您可以使用 Anthos GKE 來管理這些叢集,以提供容器編排,運行 CI 期間構建的產出物,並提供針對工作負載的擴展、健康狀態檢查和推出方法。管理員審查這些政策的變更後,才合併到正式環境的叢集當中。

這些工具都被設計成符合 Anthos 環境使用,因此您可以合併其他 Anthos 功能,例如 Anthos Service Mesh,它使您可以深入了解您的服務運作狀況,從而提高了彈性。綜合現代 CI/CD 實踐的概述,讓我們看一下它如何與 Anthos 結合使用。

Anthos 部署中的 CI/CD

由於商務連續性、法規遵循、可擴展性,以及開發團隊或客戶的接近程度等理由,您的軟體開發和發佈過程很可能會在一個以上的環境中進行,無論是本地端或雲端、橫跨多個區域,甚至橫跨多個雲端。讓我們看一下如何使用 Anthos 在兩個區域中實現 CI/CD,其中第一個區域用於開發、測試和正式環境,第二個區域只用於正式環境:

CI_CD in an Anthos deployment.jpg

在以上範例架構中:

(1) Anthos Config Management 使您的叢集狀態保持同步,並幫助資安管理員確保應用程式部署人員的所有部署均遵守組織政策

(2) Anthos GKE 為開發用的叢集提供了資源,供開發人員直接對其應用程式進行操作

(3) Anthos Service Mesh 在您環境中的所有叢集中提供服務管理功能,使操作者知道可以在哪裡部署應用程式

(4) 產出物儲存庫儲存在 CI 階段生成的容器映像檔

(5) 最後,應用程式部署人員會在所有環境中一致地部署應用程式

如此一來,您便可以利用 Anthos 的功能將程式碼快速部署到任何位置的正式環境中。

合作夥伴生態系整合,與對開源的承諾

完整的合作夥伴生態系統是 Google Cloud 成功的原因之一。GitLab 提供 CI/CD 工具,讓超過 100,000 個組織使用,並擁有超過 2,200 多名活躍貢獻者。在上面的範例中,我們使用了 GitLab 的 CI 服務來簡化預備測試環境和正式環境之間的過程。對合作夥伴和開源的承諾是 Google Cloud 核心價值。 

引用 GitLab 聯盟副總裁 Brandon Jung 的說法:「全世界的企業都使用我們的 CI/CD 工具來轉換和改善其應用程式的開發和發佈。我們與 Anthos 結盟,是因為它提供彈性的現代化應用程式平台,可以在混合雲和多雲環境中,創建並發佈安全的應用程式。」

立即開始

在瞬息萬變的今日,「加速創新」的任務比以往都更重要。如果您的組織需要更快速發展,歡迎聯繫 iKala Cloud。我們將會與您討論 Anthos 如何幫助您的開發人員在非編碼的作業上,減少 23 至 38%,將您的營運團隊生產力提升 40 至 55%,並針對安全性工作的處理效率提升 60 至 96%*。

* 資料來源:Total Economic Impact report, Forrester Consulting

(原文翻譯改編自 Google Cloud。)

分享本文:
FacebookLineTwitter
回到頂端