Terraform (phần mềm)

Bách khoa toàn thư mở Wikipedia
Terraform
Thiết kế bởiMitchell Hashimoto et al.
Phát triển bởiHashiCorp
Phát hành lần đầu28 tháng 7 năm 2014; 9 năm trước (2014-07-28)
Phiên bản ổn định
1.0.0 / 8 tháng 6 năm 2021; 2 năm trước (2021-06-08)[1]
Kho mã nguồn
Viết bằngGo
Hệ điều hànhLinux, FreeBSD, macOS, OpenBSD, Solaris, and Microsoft Windows
Ngôn ngữ có sẵnTiếng Anh
Thể loạiCơ sở hạ tầng dưới dạng mã
Giấy phépMozilla Public License v2.0[2]
Websitehttps://www.terraform.io

Terraform là một công cụ cơ sở hạ tầng dưới dạng mã mã nguồn mở do HashiCorp phát triển. Người dùng khai báo và cung cấp cơ sở hạ tầng trung tâm dữ liệu bằng ngôn ngữ cấu hình mang tính khai báo gọi là HashiCorp Configuration Language (HCL) (Ngôn ngữ cấu hình HashiCorp), hoặc có thể lựa chọn JSON.[3]

Thiết kế[sửa | sửa mã nguồn]

Terraform được sử dụng để quản lý các tài nguyên ngoại (external resources) (chẳng hạn như cơ sở hạ tầng đám mây chung, cơ sở hạ tầng đám mây riêng, các thiết bị mạng,các phần mềm dưới dạng dịch vụ và các nền tảng dưới dạng dịch vụ) với "các nhà cung cấp". HashiCorp hỗ trợ một số các nhà cung cấp chính thức, ngoài ra cũng có thể tích hợp với các nhà cung cấp do cộng đồng phát triển.[4] Người dùng có thể tương tác với các nhà cung cấp của Terraform bằng cách khai báo các tài nguyên(resources) [5] hoặc bằng cách gọi các nguồn dữ liệu(data sources).[6] Thay vì sử dụng các lệnh để quản lý các tài nguyên, Terraform sử dụng cấu hình mang tính khai báo để mô tả trạng thái cuối mà người dùng mong muốn. Khi người dùng chạy Terraform trên một tài nguyên nhất định, Terraform sẽ thay mặt người dùng thực hiện các hành động CRUD(tạo, đọc, sửa, xoá) để đạt được trạng thái mong muốn.[7] Ngoài ra cơ sở hạ tầng dưới dạng mã có thể được viết dưới dạng mô-đun, nâng cao khả năng tái sử dụng và bảo trì của mã nguồn.[8]

Terraform hỗ trợ một số nhà cung cấp cơ sở hạ tầng đám mây như Amazon Web Services, Microsoft Azure, IBM Cloud, Google Cloud Platform,[9] DigitalOcean,[10] Oracle Cloud Infrastructure, Yandex,[11] VMware vSphereOpenStack.[12][13][14][15][16]

HashiCorp cũng hỗ trợ Terraform Registry nơi cộng đồng người dùng có thể đăng tải và chia sẽ các mô-đun và nhà cung cấp, ra mắt vào năm 2017.[17] Vào năm 2019, Terraform cũng đã ra mắt thêm phiên bản trả phí có tên Terraform Enterprise cho các tổ chức hoặc doanh nghiệp lớn hơn.[18]

Terraform có bốn lệnh chính:

$ terraform init
$ terraform plan
$ terraform apply
$ terraform destroy

Xem thêm[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ “Releases - hashicorp/terraform”. Truy cập ngày 8 tháng 6 năm 2021 – qua GitHub.
  2. ^ Terraform's LICENSE
  3. ^ “Syntax - Configuration Language”.
  4. ^ “Providers”.
  5. ^ “Resources”.
  6. ^ “Data Sources”.
  7. ^ “Configuration”.
  8. ^ “Modules”.
  9. ^ “Google Cloud Platform Provider for Terraform”. Truy cập ngày 5 tháng 2 năm 2017.
  10. ^ Starr-Bochicchio, Andrew (ngày 22 tháng 10 năm 2018). “Introducing the DigitalOcean Terraform Provider”. DigitalOcean Blog (bằng tiếng Anh). Truy cập ngày 17 tháng 12 năm 2020.
  11. ^ “Yandex Cloud Provider” (bằng tiếng Anh). 31 tháng 5 năm 2021. Bản gốc lưu trữ ngày 2 tháng 6 năm 2021. Truy cập ngày 15 tháng 8 năm 2021.
  12. ^ “Terraform vs. Chef, Puppet, etc. - Terraform by HashiCorp”. Terraform by HashiCorp (bằng tiếng Anh). Truy cập ngày 14 tháng 3 năm 2018.
  13. ^ Bryant, Daniel (26 tháng 3 năm 2017). “HashiCorp Terraform 0.9. Released with State Locking, State Environments, and Destroy Provisioners”. InfoQ. Truy cập ngày 23 tháng 5 năm 2017.
  14. ^ Yevgeniy., Brikman (2017). Terraform Writing Infrastructure as Code. O'Reilly Media. ISBN 9781491977057. OCLC 978667796.
  15. ^ Somwanshi, Sneha (ngày 1 tháng 3 năm 2015). “Choosing the Right Tool to Provision AWS Infrastructure”. ThoughtWorks Blog (bằng tiếng Anh).
  16. ^ Turnbull, James (2016). The Terraform Book. ISBN 9780988820258.
  17. ^ Atkins, Martin (16 tháng 11 năm 2017). “HashiCorp Terraform 0.11”. HashiCorp Blog. Truy cập ngày 17 tháng 12 năm 2020.
  18. ^ HashiCorp. “HashiCorp Terraform - Provision & Manage any Infrastructure”. HashiCorp: Infrastructure enables innovation (bằng tiếng Anh). Truy cập ngày 15 tháng 4 năm 2020.

Liên kết ngoài[sửa | sửa mã nguồn]