DevOps & CI/CDexpert

Č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á.