AWS CloudFormation je nástroj od Amazon Web Services, ktorý vám umožňuje automatizovane vytvárať a spravovať cloudovú infraštruktúru pomocou šablón (templates). Namiesto klikania v konzole môžete celú architektúru – servery, databázy, siete, oprávnenia – opísať ako kód.
Tento prístup sa nazýva Infrastructure as Code (IaC) a zohráva kľúčovú úlohu v moderných CI/CD (Continuous Integration / Continuous Deployment) procesoch.
Pomocou CloudFormation napíšete textový súbor vo formáte YAML alebo JSON, kde popíšete, aké AWS služby má systém vytvoriť. Po spustení CloudFormation:
Namiesto ručného vytvárania infraštruktúry v klikacom rozhraní konzoly ju máte zadefinovanú ako kód. Viete ju jednoducho nasadiť, skopírovať alebo aktualizovať v rôznych prostrediach (vývoj, test, produkcia).
Pri manuálnom vytváraní prostredia sú chyby bežné. CloudFormation zabezpečí, že sa nasadí presne to, čo ste definovali – bez preklepov a zabudnutých nastavení.
S CloudFormation môžete plne automatizovať nasadzovanie pomocou CI/CD nástrojov ako CodePipeline, Jenkins, GitLab CI či GitHub Actions. Po každom commite sa aplikácia aj infraštruktúra nasadia automaticky.
Máte tím vývojárov, ktorí pracujú na aplikácii. Namiesto toho, aby každý vytváral vlastné testovacie prostredie ručne, CloudFormation šablóna vytvorí celé prostredie za pár minút – rovnaké pre každého. Ak potrebujete nové prostredie, stačí spustiť šablónu.
Po pushnutí kódu do repozitára sa spustí pipeline, ktorá cez CloudFormation nasadí nové prostredie. Nemusíte sa manuálne prihlasovať do konzoly.
Každá zmena infraštruktúry je zapísaná v git histórii. Viete sa vrátiť k starej verzii alebo porovnať zmeny.
CloudFormation dokáže najskôr otestovať šablónu bez toho, aby ju nasadil (tzv. Change Set). Viete tak presne, čo sa zmení – ešte pred reálnym deploymentom.
Nie úplne. Šablóny sú textové súbory vo formáte YAML/JSON – je dobré vedieť čítať a písať základné štruktúry.
Áno. Môžete ho použiť na manuálne vytváranie prostredí, migráciu infraštruktúry, dokumentáciu nastavení a podobne.
Áno. Samotná služba je bezplatná – platíte len za vytvorené AWS zdroje (napr. EC2, S3).
Nie. CloudFormation je určený výhradne pre AWS. Pre viac-cloudové prostredia sa používa napr. Terraform.
Terraform je nástroj tretích strán, ktorý podporuje viac poskytovateľov. CloudFormation je natívny pre AWS, lepšie integrovaný, no obmedzený len na AWS.
Viac informacií preberáme na kurze: