Terraform (oprogramowanie)
Oryginalni autorzy | Mitchell Hashimoto i in. |
---|---|
Deweloperzy | HashiCorp |
Pierwsze wydanie | 28 lipca 2014 |
Wersja stabilna | 1.3.6 / 30 listopada 2022
|
Magazyn | |
Napisane w | Iść |
System operacyjny | Linux , FreeBSD , macOS , OpenBSD , Solaris i Microsoft Windows |
Dostępne w | język angielski |
Typ | Infrastruktura jako kod |
Licencja | Licencja publiczna Mozilli v2.0 |
Strona internetowa |
|
Terraform to narzędzie programowe typu open source do infrastruktury jako kodu, stworzone przez HashiCorp . Użytkownicy definiują i udostępniają infrastrukturę centrum danych za pomocą deklaratywnego języka konfiguracji znanego jako HashiCorp Configuration Language (HCL) lub opcjonalnie JSON .
Projekt
Terraform zarządza zasobami zewnętrznymi (takimi jak infrastruktura chmury publicznej, infrastruktura chmury prywatnej, urządzenia sieciowe, oprogramowanie jako usługa i platforma jako usługa ) wraz z „dostawcami”. HashiCorp utrzymuje obszerną listę oficjalnych dostawców, a także może integrować się z dostawcami opracowanymi przez społeczność. Użytkownicy mogą wchodzić w interakcje z dostawcami Terraform, deklarując zasoby lub wywołując źródła danych. Zamiast używać imperatywnych poleceń Aby udostępnić zasoby, Terraform używa konfiguracji deklaratywnej do opisania pożądanego stanu końcowego. Gdy użytkownik wywoła Terraform na danym zasobie, Terraform wykona CRUD w imieniu użytkownika, aby osiągnąć żądany stan. Infrastruktura jako kod może być napisana jako moduły, promując możliwość ponownego użycia i konserwacji.
Terraform obsługuje wielu dostawców infrastruktury chmury, takich jak Amazon Web Services , Cloudflare , Microsoft Azure , IBM Cloud , Serverspace, Google Cloud Platform , DigitalOcean , Oracle Cloud Infrastructure , Yandex.Cloud , VMware vSphere i OpenStack .
HashiCorp utrzymuje rejestr modułów Terraform, uruchomiony w 2017 r. W 2019 r. Terraform wprowadził płatną wersję o nazwie Terraform Enterprise dla większych organizacji.
Podstawowe koncepcje
Dostawcy
Terraform polega na dostawcach, którzy umożliwiają interakcję z różnymi interfejsami API i usługami. Dostawcy ci są konfigurowani w kodzie konfiguracyjnym Terraform i umożliwiają dostęp do ofert opartych na chmurze, takich jak AWS lub GCP, oraz ofert Software-as-a-Service. Dzięki temu programiści korzystający z Terraform mogą zintegrować wiele usług z przepływami pracy automatyzacji.
Moduły
Moduły Terraform zostały zaprojektowane w celu uproszczenia tworzenia wielu zasobów poprzez logiczne grupowanie ich w jedną ofertę wielokrotnego użytku. Minimalizuje to czas programowania i zmniejsza redundancję, ułatwiając użytkownikom tworzenie złożonych komponentów infrastruktury bez pisania dużej ilości kodu.