AWS Cloud and DevOps with the intention to bring more enterprise on to the cloud and practicing

(只提供繁体中文版本)

DevOps – Blog by John Chang

AWS Cloud and DevOps with the intention to bring more enterprise on to the cloud and practicing

DevOps一開始的目的是為了解決開發團隊(Dev)以及維運團隊(Ops)之間的衝突,兩個團隊互相責怪對方的缺失導致產品無法如期運作。在2009年,Flickr的工程師在一次的演講中發表了一個主題:『10+ Deploys per Day, Dev and Ops Cooperation at Flickr』,才讓大家瞭解兩個團隊彼此是可以順利合作的。如今,DevOps已經成為許多團隊的工作方式,部門之間的溝通更加緊密結合,彼此的工作也更透明化,產品開發的效率也更勝以往。

AWS提供許多服務來幫助開發團隊進行DevOps,CodePipeline是一套可以幫助開發團隊從開發到產品部署的完整服務。Code Repository方面,你可以選擇AWS本身的CodeCommit,或是習慣用GitHub的人,AWS也可以讓你選擇GitHub當作來源。接著是Build的步驟,你可以使用AWS CodeBuild的服務,或是你有自己的CI server,像是Jenkins。最後的Deploy部分,CloudFormation或是CodeDeploy,可以依照使用者的需求來決定。你可以在使用這些服務來幫助許多步驟達到自動化,這樣的好處除了提高效率之外,也可以減少人為的操作錯誤,開發團隊只需專心在產品的開發即可。

上述提到的服服,都是在AWS cloud上可以使用的,越來越多的企業選擇AWS作為他們的雲端服務,把軟體部署在雲端的好處有以下幾點:

  1. 彈性。雲端服務是以量計費的,你只需要負擔你使用的服務量,不需要時也可以立刻中止。
  2. 安全性。你可以不用自己架設防火牆,AWS提供了WAF的服務來幫助你阻擋惡意的攻擊,或是在虛擬機器的security group中也可以設定一些安全機制。
  3. 不需自己維護硬體設備。硬體規格將不再是軟體的限制,當需求變大時,可以立刻在雲端上加大你的用量以符合軟體的需求。
  4. 擴充性。當使用者的數量增加時,不再需要自己處理,而是藉由AWS auto-scaling的機制來解決,提高產品的穩定度。

在cloud上進行DevOps開發產品將會是未來趨勢,將以往手動的程序自動化,這樣的轉變可以增加團隊的工作進度,也可以提供更好的服務品質給客戶。

Posted in ICG日志.