Čo je Terraform?
Terraform je open-source nástroj na infraštruktúru ako kód (IaC), ktorý vyvinula spoločnosť HashiCorp v roku 2014. Umožňuje deklaratívne definovať cloudovú infraštruktúru v jazyku HCL a spravovať ju naprieč viacerými poskytovateľmi.
Definícia Terraform
Čo je Terraform
Terraform je nástroj na infraštruktúru ako kód (Infrastructure as Code), ktorý vytvoril Mitchell Hashimoto v spoločnosti HashiCorp v roku 2014. Terraform je napísaný v jazyku Go a používa vlastný deklaratívny jazyk HCL (HashiCorp Configuration Language).
Ako Terraform funguje
Namiesto manuálneho vytvárania serverov, databáz a sietí cez webové rozhranie definujete infraštruktúru v textových súboroch (.tf):
- Providers — pluginy pre AWS, Azure, GCP, Cloudflare a stovky ďalších služieb (viac ako 3 000 providerov)
- Plan — Terraform ukáže, čo sa zmení pred vykonaním akýchkoľvek úprav
- Apply — vykoná naplánované zmeny v infraštruktúre
- State — súbor sledujúci aktuálny stav infraštruktúry pre porovnanie s konfiguráciou
V roku 2023 HashiCorp zmenil licenciu Terraformu z open-source (MPL 2.0) na BSL (Business Source License), čo viedlo k vzniku open-source forku OpenTofu pod záštitou Linux Foundation. Napriek tomu zostáva Terraform najpoužívanejším IaC nástrojom na svete.
Praktický príklad
Príklad: Potrebujete pre nový projekt vytvoriť na AWS: VPC sieť, 3 EC2 servery, RDS databázu a S3 bucket.
Bez Terraformu: Manuálne klikáte v AWS konzole — proces trvá hodinu a pri opakovaní ľahko urobíte chybu.
S Terraformom: Napíšete konfiguráciu v HCL, spustíte terraform plan (zobrazí zmeny) a terraform apply (vytvorí infraštruktúru). Celý proces je opakovateľný, verziovateľný v Gite a trvá minúty.
Často kladené otázky
Čo je Terraform?
Terraform je nástroj na infraštruktúru ako kód od HashiCorp. Umožňuje definovať cloudovú infraštruktúru v textových súboroch a automaticky ju vytvárať, meniť a rušiť.
Aký jazyk Terraform používa?
Terraform používa vlastný jazyk HCL (HashiCorp Configuration Language), ktorý je deklaratívny a ľudsky čitateľný. Podporuje aj JSON formát ako alternatívu.
Čo je OpenTofu?
OpenTofu je open-source fork Terraformu, ktorý vznikol v roku 2023 po zmene licencie Terraformu na BSL. Je spravovaný Linux Foundation a je plne kompatibilný s existujúcimi Terraform konfiguráciami.
Aký je rozdiel medzi Terraformom a Ansible?
Terraform sa špecializuje na vytváranie infraštruktúry (servery, siete, databázy). Ansible sa zameriava na konfiguráciu existujúcich serverov (inštalácia softvéru, nastavenia). Často sa používajú spolu — Terraform vytvorí servery, Ansible ich nakonfiguruje.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.