
56
| 第四章
雲端的另一個主要好處是基礎結構可以靈活地實例化。雲端可讓每位開發者建立自己的
測試環境,或執行大規模測試(但是要注意成本!)。
開發者無法(或不該)在雲端做每一件事
因為雲端可讓人用程式操作多數的基礎設施,開發者越來越喜歡在交付軟
體的運維面承擔更多責任。對小規模的組織或初創企業來說,這種做法或
許是有幫助的,可讓小型開發團隊自給自足,並快速行動。但是這也代表
開發者的工作更繁重,或必須學習越來越多新技術(有時不屬於他們的專
業知識或超出他們的舒適圈),或對開發與運維角色之間固有的折衝與摩
擦視而不見。這可能會造成個人或團隊精疲力竭,或在生產環境產生許多
app 運維方面的問題。你要不計代價避免這種情況。
持續交付至雲端
在雲端環境實施 CD 通常比傳統基礎設施平台簡單,因為 CD 在很大程度上是與雲端技
術共同發展的(反之亦然)。虛擬化與公用雲端供應商提供了 API 與 SDK,這意味著環
境(測試與 QA 等等)的製作與複製容易得多。除了之前談過的,在傳統基礎設施實施
CD 的步驟之外,下面的準則也適用於雲端:
• 分析哪種雲端部署方案最適合你目前的專案。AWS、GCP 與 Azure 等大型雲端供應
商都提供多種雲端平台,包括 AWS ECS 與 Azure AKS 等容器(稍後說明)、AWS
Elastic Beanstalk 與 Azure App Service 等 PaaS 商品,以及 IaaS 構建元素,包含計
算、儲存器與網路。
• 把重心放在建立交付 app 的 CD