本篇文章著重於 Terraform 的實戰使用,將 Terraform 這種 IaC 的工具給整合到 Pipeline 系統中,透過 CI/CD 的概念讓 Terraform 來幫基礎建設達到自動更新。
作者使用 Azure 雲端環境作為範例,搭配 Azure DevOps 與 Terraform 來搭建出基於 Infrastructure 的 CI/CD 實作範例。
以下節錄自文章結論
1. 除了 Terraform 之外,其他的 IaC 工具譬如 Ansible, Pulumi 等也都可以搭建出這種 IaC x CI/CD 的模式,當然大部分的雲端服務商也都沒有問題。作者列出了這種模式下帶來的好處
2. 針對 Infrastructure 的改變,可以更輕鬆的再測試環境測試,而且整個架構也相對於彈性,可以加入更多的測試來確保架構改變後,整體服務不受影響
3. 透過測試的步驟,可以確保任何失敗的修改都只會停留在 Testing 的環境,而不會直接更新正式生產環境。
4. 透過 pipeline 的架構,更容易實現 Singe source of truth 的精神,所有 Infrastructure 的修改都要從程式碼著手,並且經由 Review 來確保品質,同時當正式生產環境有出現問題時,也更容易地去發覺到底是什麼修改造成問題。
5. 程式化的執行減少的人員操作的失誤,同時也提供了運行結果的一致性,未來有問題發生時都可以重複執行pipeline來除錯與驗證。
https://blog.ardanis.com/ci-cd-for-infrastructure-7d9553b32be0
infrastructure as code azure 在 軟體開發學習資訊分享 Facebook 的精選貼文
Terraform 是由 HashiCorp 所開發的自動化工具,是一個專注在 infrastructure as code 的管理工具,範圍涵蓋私有雲、公有雲等服務。
Terraform 支援各大平台,包含大至公有雲 ( AWS、Azure、Google Cloud Platform )、私有雲,小至監控平台 (e.x. Grafana、InfluxDB …)或者 Sass 服務(e.x. GitHub,GitLab…),藉助社群的力量從一開始的 Terraform 到現在 Providers 已經海乃百川…
Terraform 主要為新一代的 infrastructure 管理工具,過去不管是管理 Data Center 或者是 Cloud 都是通過人工的方式去點選出期望的設定值,而人工處理往往會導致各種問題發生,Terraform 就是為了解決這些問題而生。
https://softnshare.com/terraform-cn/
infrastructure as code azure 在 軟體開發學習資訊分享 Facebook 的最讚貼文
講師 Viktor Farcic 是 CloudBees 的首席軟體交付策略師和開發者倡導者、Google 開發者專家和 Docker 隊長( Docker Captains )小組的成員,也是一名出版作者。
Viktor Farcic 最大的熱情是 DevOps、Microservices、持續整合( CI,Continuous Integration )、持續交付( CD,Continuous Delivery/Deployment ) 和測試驅動開發( TDD,Test-Driven Development )。
從這 11.5 小時的課程,你會學到
✅如何使用最常用的 DevOps 工具
✅基礎設施即程式碼( IaC,Infrastructure-as-code )的好處
✅如何在營運環境中使用 Terraform
✅如何在 AWS、 Azure 和 GCP 中建立具有 Terraform 的 Kubernetes 叢集
✅如何在 Kubernetes 打包、部署和管理應用程式
✅如何使用 Helm
✅如何建立本地端開發環境
✅無伺服器( Serverless )部署的常見風格是什麼
✅如何部署託管功能為服務( FaaS,Functions as a Service ) ,包括谷歌雲端功能( Google Cloud Functions )、Azure 功能,和 AWS Lambda
✅如何用 Fargate 部署託管容器作為服務 (CaaS,Containers as a Service ),包括 Google Cloud Run、 Azure 容器例項( Azure Container Instances ) 的 AWS ECS
✅如何使用 Knative 部署自我管理容器作為服務 (CaaS,Containers as a Service )
https://softnshare.com/devops-catalog/