Automatizácia cloudu (cloud automation) je pojem, ktorý odkazuje na nástroje a procesy, ktoré redukujú alebo odstraňujú potrebu manuálnych zásahov potrebných pre zabezpečovanie alebo správu služieb a prevádzkovej záťaže (workload) na cloude. Takéto nástroje môžu byť použité automatický dohľad nad inštaláciou, konfiguráciou a manažment zdrojov poskytujúcich cloudovou službou. Organizácie tak môžu aplikovať automatizáciu infraštruktúry na privátne, verejné či hybridné cloudové prostredia a dosiahnuť tak ciele ako nepretržitá integrácia a nepretržité nasadzovanie (CI/CD).
Tradičný vývoj a prevádzka podnikových aplikácii a služieb je často manuálny a časovo náročný proces. Tento proces často obsahuje opakujúce sa úlohy, akými sú napríklad:
- vytváranie virtuálnych sietí a konfigurácia sieťových pravidiel
- škálovanie, zabezpečovanie a konfigurácia zdrojov akými sú virtuálne stroje (virtual machines – VMs)
- zabezpečovanie a zdieľanie úložísk
- rozdeľovanie záťaže (load balancing)
- samotné nasadenie aplikácie alebo služby
- monitorovanie aplikácie a jej výkonu
Pri vykonávaní niektorej z vyššie uvedených úloh manuálnym spôsobom, môže a aj dochádza k chybám. To má za následok nutnosť venovať viac času ich hľadaniu, analýze a následnému odstraňovaniu, čo organizáciu stojí čas aj peniaze. Chyby a množstvo času vynaložené na ich opravy sú zbytočne súčasťou adaptívnych zmien na základe požiadaviek zákazníka alebo prevádzky, okrem čoho taktiež narúšajú stabilitu vývojového procesu a ohrozujú dostupnosť a bezpečnosť. S automatizáciou cloudovej infraštruktúry sa riziko takýchto chýb mnohonásobne znižuje a zároveň sa zefektívňuje čas potrebný na vykonávanie zmien, keďže prebiehajú takmer automaticky. Je tomu tak z toho dôvodu, že zvyčajne všetko, čo je potrebné zadefinovať automatizačným nástrojom je požadovaný výsledný stav.
Typy úloh cloudovej automatizácie
- Konfigurácie – konfigurácie infraštruktúry môžu byť definované pomocou šablón (templates) a implementované automaticky. Možnosti pre integráciu rastú s využitím príslušných cloudových služieb.
- Vývoj a nasadenie – nepretržitý vývoj aplikácie sa spolieha na automatizáciu niekoľkých krokov od kontroly kódu a jeho verziovaniu až po automatické testovanie a nasadenie.
- Značkovanie (tagging) – zdroje je možné automaticky označiť na základe špecifických kritérií, kontextu alebo podmienok prevádzky.
- Bezpečnosť – cloudové prostredia môžu byť nastavené s automatickými bezpečnostnými kontrolami, ktoré povoľujú alebo bránia prístupu k vybraným aplikáciám alebo dátam a preverujú bezpečnostnú zraniteľnosť alebo nezvyčajné úrovne výkonu.
- Logovanie a monitorovanie – cloudové nástroje môžu byť nastavené na zbieranie logov všetkej aktivity zahŕňajúce služby, aplikačné logy či sieťovú aktivitu v prostredí. Monitorovacie filtre (upozornenia) môžu byť nastavené pre odhaľovanie nezvyčajných udalostí alebo anomálií. Taktiež môžu byť nastavené na upozorňovanie v prípade dosiahnutia kritických hraníc pamäte, výpočtového výkonu alebo zostáva- júceho úložného priestoru.
Andrej Rábek
Autor
„DevOps? neviem o čom hovoríš. Môžem vytvoriť vašu infraštruktúru v AWS, zautomatizovať ju pomocou Terraformu, ktorý beží v pipeline GitLabu, vytvoriť Helm diagramy pre vaše aplikácie, nasadiť to v spolupráci s Helmfile samozrejme opäť z pipelines, a mnoho ďalšieho.“