天天看點

Terraform:最好從建立公司初期就開始用

Terraform 是國際著名的開源的資源編排工具,據不完全統計,全球已有超過一百家雲廠商及服務提供商支援 Terraform。Terraform 是 HashiCorp 的代碼軟體基礎設施。它允許使用者使用進階配置語言定義資料中心基礎架構,從中可以建立執行計劃以建構 OpenStack 等基礎架構,或者在 IBM Cloud,AWS,Microsoft Azure,Google Cloud Platform 等多種雲服務中建構基礎架構。

Terraform最大的好處在于它使基礎架構的配置變得像代碼一樣可以進行版本控制與復原操作。如果新的配置出錯了,不用擔心,可以用前一個能夠正常運作的版本的配置重新把雲資源設定一遍。一樣的Terraform配置,一定會産生相同的雲基礎架構,隻要之前那個版本可以運作,那麼復原之後的雲基礎架構也一定可以繼續運作。

Terraform的另一個好處就是讓跨雲(Multi Cloud)變得更簡單。試想一下,如果沒有資源編排工具,我們就需要把每個雲廠商上運作的現有設定記在腦子裡,每一次服務的跨雲遷徙都是一次新的嘗試。而Terrafrom已經有一百多家雲廠商的支援,對于一些比較普遍的資源,如計算和存儲服務,可能跨雲僅僅是把一些設定代碼從一個檔案複制到另一個檔案,然後換一下底層調用的Provider引擎。

很多人可能認為隻有在公司大了,雲架構變得複雜了之後才需要引入Terraform。然而恰恰相反,Terraform最好在公司剛剛開始上雲的時候就用起來。主要原因在于Terraform是有狀态的,當已經運作了很多雲上的服務之後,把這些服務的配置導入Terraform需要很長的時間,而且需要很多手動配置來保證本地的狀态與雲上的狀态是一緻的。如果一開始就用Terraform來建立雲資源的話就不會有這樣的擔心。而且一開始由于需要的雲資源也比較簡單,Terraform的配置也相對容易,是一個上手學習的好機會。等雲架構複雜了之後,一點點小錯誤都有可能造成極其嚴重的後果。

GoKubernetes所有的雲資源都是通過Terraform來管理的。如果你對使用Terraform感興趣,歡迎與我們一起探讨關于設計與配置Terraform架構有關的問題。