iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
DevOps

Terraform 從零開始 - 實戰Lab打造GCP雲端自動化架構系列 第 2

Day 2 — Introduction — Terraform 與基礎架構即代碼 (IAC) 的解決方案

  • 分享至 

  • xImage
  •  

文章目標:說明 Terraform 如何作為基礎架構即代碼 (IAC) 工具,來解決現代 IT 架構的挑戰。

Day 2 — Introduction — Terraform 與基礎架構即代碼 (IAC) 的解決方案

文章同步分享到

1. 雲端架構解決方案 - 基礎設施即代碼 IaC

基礎設施即代碼 IaC :

  1. Infrastructure as Code, IaC 是一種自動化管理和佈署基礎設施的方法。
  2. 可以將基礎設施定義為程式碼,並使用自動化工具來佈署和管理基礎設施。讓管理和維護基礎設施變得更加容易和可靠,同時也提高了效率和安全性。

IAC的歷史

  1. 20世紀90年代,自動化工具Puppet和Chef開始出現,這些工具可以使用程式碼來自動化管理和佈署基礎設施,但這些工具主要用於管理單個主機,而不是整體的基礎設施。
  2. 雲端計算的興起與雲端基礎設施的可擴展性和自動化管理使得IAC更加容易實現和使用。現在許多自動化工具如Terraform、Ansible和AWS CloudFormation等都支援IAC。

2. 雲端架構解決方案 - 基礎設施即代碼 IaC - Terraform

Terraform的歷史

  1. Terraform的歷史可以追溯到2014年,當時HashiCorp公司推出了這個開源工具。Terraform的目標是成為一個通用的IAC工具,可以支援多個雲端平台。
  2. Terraform最初支援的平台是AWS,但現在已經擴展到了包括Azure、Google Cloud、OpenStack和VMware等在內的多個平台。

Terraform的優勢

  1. 模組化設計:Terraform允許您使用模組(Module)來組織和管理您的基礎設施,這使得代碼更加易於編寫、測試和重複使用。
  2. 多雲平台支援:Terraform支援多種雲端平台,包括AWS、Azure、Google Cloud等等,這意味著您可以使用同一個工具管理多種雲端基礎設施

3. 雲端架構解決方案 - Terraform 知名企業都愛用

使用 Terraform 的知名企業

  1. Airbnb:Airbnb是一家知名的線上住宿平台,他們使用Terraform來管理和佈署他們的AWS基礎設施。
  2. Slack:Slack是一個知名的企業通訊平台,他們使用Terraform來自動化管理和佈署他們的AWS基礎設施。
  3. Spotify:Spotify是一個知名的音樂串流平台,他們使用Terraform來管理和佈署他們的AWS基礎設施。
  4. Uber:Uber是一家知名的共乘平台,他們使用Terraform來自動化管理和佈署他們的AWS基礎設施。
  5. The New York Times:紐約時報是一家知名的報紙出版商,他們使用Terraform來管理和佈署他們的GCP基礎設施。

4. Terraform DevOps - 生產力再升級

利用Terraform結合DevOps,又可以再提升至少50%以上的生產,Terraform DevOps 會有下面四個面向:

  1. 雲端基礎設施版本管理
  2. 不同開發環境的配置與管理
  3. CI/CD pipeline自動化驗證與部署
  4. 混合雲的平行部署

Terraform DevOps — 生產力再升級

雲端基礎設施版本管理

  1. 利用Git版本控制系統來管理Terraform代碼和雲端基礎設施的變更和版本,可以幫助您更好地控制基礎設施的各種狀態。
  2. 使用版本控制系統的工作流程來管理不同環境的代碼、創建分支以進行佈署、合併請求以進行代碼審查和自動化測試等。

不同屬性環境的配置與管理

  1. 利用Terraform的變量功能,將不同屬性環境的硬體配置輕鬆地設置在Terraform代碼中。例如,開發環境使用1 vcpu, 3.7G的RAM ,而生產環境則可以使用4 vcpu, 16G 的RAM。
  2. 當您需要更改環境中的硬體配置時,只需修改相應的變量,而不需要手動更改代碼。可以提高基礎設施的可靠性和安全性,並且更輕鬆地管理不同屬性環境的基礎設施。

CI/CD pipeline 自動化驗證與部署

  1. 利用CI/CD pipeline 自動檢查Terraform代碼的語法和結構是否正確,並做測試驗證節省時間。
  2. 利用CI/CD pipeline 自動化部屬基礎設施,做到代碼發布即是雲端基礎設施更改,更彈性與省力的改變硬體配置

混合雲的平行部署

  1. 使用Terraform結合混合雲的平行部署,可以實現跨雲端環境的基礎設施自動化管理,同時部署AWS、Azure、Google Cloud三種環境。
  2. Terraform也支援地端與容器化環境,如docker、kubernetes、open stack與proxmox的支援,相較其他工具對混合雲的整體支援較佳。

5. 總結 Summary

  1. 基礎設施即代碼 IAC的概念與歷史:可以將基礎設施定義為程式碼,並使用自動化工具來佈署和管理基礎設施
  2. Terraform的歷史與優勢:HashiCorp公司推出了Terraform,目標是成為一個通用的IAC工具,同一個工具管理多種雲端基礎設施。
  3. 知名企業都在使用Terraform來自動化管理和佈署其雲端基礎設施:Airbnb、Slack、Spotify等知名企業。
  4. Terraform DevOps 四個面向:雲端基礎設施版本管理、不同開發環境的配置與管理、CI/CD pipeline自動化驗證與部署、混合雲的平行部署

6. 相關連結

  1. Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code - https://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code
  2. Terraform-project-best-practice - https://github.com/qwedsazxc78/terraform-project-best-practice
  3. 歡迎訂閱我的udemy課程:Terraform 從零開始 - 10+實戰Lab打造GCP雲端自動化架構課程 - https://devops-with-alex.com/go/terraform

上一篇
Day 1 —Introduction — 現代 IT 架構問題與解決方案
下一篇
Day 3 — Introduction — 申請 GCP 免費帳號
系列文
Terraform 從零開始 - 實戰Lab打造GCP雲端自動化架構31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言