Terraform
名詞 · 基礎設施即程式碼
由 HashiCorp 開發的基礎設施即程式碼(IaC)開源工具,透過 HCL 語言的宣告式配置檔案定義、佈建和管理雲端基礎設施資源——確保可重複性和版本控制。
多雲端 DevOps 平台,將數百個供應商(AWS、Google Cloud、Azure、Docker、Kubernetes)的 API 抽象化為統一的工作流程:編寫、計畫、套用——將基礎設施轉化為可稽核、可測試且可協作的程式碼。
自動化基礎設施的產業標準,管理資源之間的依賴關係圖,透過 `terraform plan` 計算必要的變更並以冪等方式套用——消除配置偏移和人為錯誤。
Terraform 分三個步驟運作:Write(用 HCL 編寫描述所需資源的配置)、Plan(計算達到期望狀態所需的變更)和 Apply(自動佈建資源)。Terraform 維護一個狀態檔案(state),將實際資源映射到宣告的配置。我們的團隊使用這個工作流程可靠且可重複地管理客戶的所有雲端基礎設施。
Terraform 讓您能像管理原始碼一樣對基礎設施進行版本控制、一鍵重建相同環境並消除手動配置錯誤。它提供卓越的多雲端可攜性,並透過 GitOps 工作流程促進團隊協作。我們的團隊優先使用 Terraform 來自動化客戶的伺服器、MongoDB 資料庫和 Kubernetes 叢集的佈建,從而縮短上線時間並降低人為風險。
安裝 Terraform 只需從 HashiCorp 官方網站下載二進位檔案,或透過套件管理器(macOS 的 Homebrew、Linux 的 apt/yum、Windows 的 Chocolatey)安裝。安裝完成後,`terraform init` 命令會透過下載必要的 provider 來初始化專案。我們的團隊將 Terraform 整合到開發用 Docker 映像檔中,確保每位團隊成員都擁有相同且即可使用的環境。
Terraform Provider 是一個外掛程式,讓 Terraform 能與特定的雲端服務或基礎設施 API(AWS、GCP、Azure、Docker、Kubernetes、Cloudflare)通訊。每個 provider 公開一組可在配置檔案中宣告的資源和資料來源。我們的團隊主要使用 AWS、Docker 和 Kubernetes 的 provider 來自動化網頁專案的整個基礎設施鏈。
要使用 Terraform,請建立一個 `.tf` 檔案,用 HCL 宣告 provider 和所需資源,然後執行 `terraform init` 進行初始化、`terraform plan` 預覽變更、`terraform apply` 套用變更。修改記錄在一個可透過遠端後端(S3、Terraform Cloud)共享的狀態檔案中。我們協助客戶採用 Terraform,構建模組結構並建立自動化 CI/CD 管線。
Terraform 是一種基礎設施即程式碼(IaC)工具,讓您在版本控制的配置檔案中定義所有基礎設施資源(伺服器、網路、資料庫、DNS),然後透過雲端供應商的 API 自動佈建。它相當於您數位基礎設施的建築師藍圖。我們的團隊視 Terraform 為確保每個專案基礎設施可重複性和可追溯性的必備工具。
Docker 映像檔是一個不可變的範本,包含執行容器所需的程式碼、依賴項和配置。在 Terraform 的背景下,Docker provider 允許以宣告式和自動化的方式管理映像檔的生命週期(build、pull、push)。我們的團隊結合 Terraform 和 Docker,不僅對應用程式程式碼進行版本控制,還對支撐它的基礎設施進行版本控制,確保端到端的一致部署。
是的,Terraform 擁有官方 Docker provider,可以以宣告方式管理 Docker 容器、映像檔、網路和卷。這意味著您可以在 `.tf` 檔案中定義所有 Docker 基礎設施並像程式碼一樣進行版本控制。我們的團隊使用這種整合來自動化完整 Docker 開發和生產環境的佈建,實現變更的完全可追溯性。
Terraform 和 Docker 在不同層級運作:Docker 將應用程式容器化(打包和執行),而 Terraform 佈建這些容器執行所在的基礎設施(伺服器、網路、叢集)。Terraform 可以透過其專用 provider 建立和管理 Docker 容器。在 Async Code,我們將兩者協同使用:Terraform 佈建雲端基礎設施和 Kubernetes 叢集,Docker 打包 Kubernetes 編排的應用程式。
Terraform 是 HashiCorp 建立的開源工具,它透過將基礎設施轉化為程式碼來革新基礎設施管理。不再透過網頁控制台手動配置伺服器,而是在版本控制的文字檔案中描述您的基礎設施,Terraform 負責自動建立、修改或刪除一切。我們的團隊依靠 Terraform 為客戶提供可靠、有文件記錄且可擴展的雲端基礎設施,消除人為錯誤的風險。