Ansible představuje open-source řešení pro automatizaci IT a správu konfigurací. Umožňuje zjednodušit procesy spojené s nasazováním softwaru, konfigurací systémů a implementací aplikací.
Na rozdíl od jiných nástrojů, jako jsou Chef, CFEngine, Salt nebo Puppet, se Ansible vyznačuje specifickým přístupem k automatizaci správy konfigurace.
Ansible Tower nabízí webové prostředí pro ovládání Ansible. Uživatelé, kteří pracují s Ansible, požadovali intuitivní a snadno ovladatelné rozhraní pro efektivní nasazování a monitorování konfigurací.
Ansible Tower se tak stal odpovědí na tyto potřeby. Každý nástroj a rámec má své specifické vlastnosti a zvláštnosti. Tento článek se zaměří na rozlišení mezi Ansible, Ansible Galaxy a Ansible Tower.
Ansible – Představení
Ansible je open-source nástroj, který automatizuje jak dodávání softwaru, tak správu konfigurací. Umožňuje řídit a nastavovat více počítačů z jediného centrálního serveru.
Funguje na principu „push“, kdy je konfigurace distribuována z hlavního stroje do všech spravovaných uzlů.
Konfigurační soubory se vytvářejí pomocí jazyka YAML. Jsou snadno čitelné a dostatečně jednoduché na to, aby je mohli vytvářet i administrátoři serverů. Komunikace probíhá přes SSH a jako přenosová vrstva slouží OpenSSH.
Konfigurace v Ansible jsou uloženy v souborech YAML, které nazýváme playbooky. Playbooky obsahují úkoly nebo hry, které se používají k nastavení jednotlivých uzlů pomocí modulů.
Playbooky jsou tedy místem, kde se definují konfigurace. Všechny úkoly zadané v playbooku se provádějí sekvenčně. Ansible podporuje jak synchronní, tak asynchronní provádění.
Na obrázku výše vidíme několik hostitelských počítačů. Právě na těchto počítačích se provádí veškerá konfigurace definovaná pomocí Ansible.
Výhody Ansible:
- Je zdarma a s otevřeným zdrojovým kódem.
- Snadná implementace: Konfigurace Ansible je jednoduchá a bezproblémová.
- Vysoký výkon: Ansible umožňuje konfigurovat tisíce strojů současně.
- Flexibilní: Lze jej použít v různých prostředích.
- Bez agentů: Nepotřebuje agenty na uzlech, na rozdíl od například Jenkins.
- Efektivní: Nepotřebuje žádný další software pro spuštění.
Nevýhody Ansible:
- Obtížnější instalace.
- Nepodporuje Windows.
- Potíže se zpětnou kompatibilitou.
Ansible Galaxy – Představení
Ansible Galaxy je platforma, která umožňuje uživatelům sdílet a využívat role. Ansible Galaxy doporučuje používat opakovaně použitelné role pro správu konfigurací serverů. Tato platforma je často využívána v projektech.
Ansible Galaxy funguje jako veřejné úložiště rolí pro Ansible. Každá role obsahuje soubory README, které poskytují informace o použití role a jejích proměnných.
V Ansible Galaxy se neustále vyvíjí a přibývají nové role. Role umožňují rozdělit rozsáhlejší playbooky do strukturovaných modulů. Role lze upravovat a přizpůsobovat dle potřeby.
Struktura Ansible Galaxy Role:
- README.md – soubor s popisem role, včetně vstupních parametrů a příkladů konfigurace.
- tasks – definice úkolů pro roli. Hlavním vstupním bodem je soubor Main.yml.
- handlers – definice handlerů, které lze použít v této nebo jiných rolích.
- defaults – výchozí proměnné pro roli.
- vars – proměnné, které mají vyšší prioritu než výchozí proměnné.
- files – soubory, které lze nasazovat pomocí role.
- templates – šablony, které lze použít v rámci role.
- meta – metadata pro definici role a jejích závislostí.
- tests – CI testy pro roli.
- library – umístění vlastních modulů nebo pluginů. V této složce lze také vytvořit vlastní Python modul a využít ho v úkolech.
Ansible Galaxy je nástroj pro vytváření a správu rolí. S příchodem nových verzí Ansible se objevují i nové funkcionality. Verze 2.2.8 zavedla koncept kolekcí, které slouží k balení a distribuci modulů, playbooků a pluginů.
Výhody Ansible Galaxy:
- Centralizované úložiště pro sdílení a opakované používání Ansible obsahu.
- Jednoduché stahování rolí pro instalaci aplikací.
- Zrychluje proces nasazování.
Nevýhody Ansible Galaxy:
- Řízeno komunitou, takže funkčnost modulů není vždy zaručena.
- Mnoho rolí má nedostatečnou dokumentaci.
- Většina rolí není idempotentní.
Ansible Tower – Představení
Ansible Tower poskytuje grafické uživatelské rozhraní pro Ansible. Jedná se o webové řešení, které je vhodné pro různé typy IT týmů.
Ansible Tower si lze představit jako palubní desku automobilu, kde jsou zobrazeny všechny důležité informace o stavu vozidla. Ansible Tower je podobná palubní deska, přičemž Ansible je samotný motor.
Ansible Tower umožňuje vzdálené spouštění úkolů pomocí GUI. Úkoly Ansible se provádějí pomocí playbooků, které lze spouštět z příkazové řádky. Ansible Tower však nabízí možnost spouštění playbooků přímo z webového rozhraní.
Můžete spouštět existující playbooky nebo si vytvářet vlastní. Ansible Tower nabízí integrovaná upozornění, která informují týmy o dokončení nebo selhání úkolu. Tato funkcionalita je klíčová pro interní komunikaci v organizaci.
Dále poskytuje řízení přístupu na základě rolí (RBAC), což umožňuje omezit přístup ke spouštění úkolů pouze autorizovaným uživatelům. To je důležité pro dodržování bezpečnostních standardů a předpisů.
Ansible Tower kromě RBAC generuje i auditní protokol, který sleduje, kdo a kdy prováděl jaké operace. Tato funkce poskytuje další úroveň zabezpečení, kterou samotný Ansible nenabízí.
Ansible Tower umožňuje vzdáleně spouštět kód v různých aplikacích. Například, pokud virtuální počítač přestane fungovat, Ansible Tower může usnadnit jeho restartování.
Vzdálenou instalaci softwaru lze využít k rychlému opravování bezpečnostních chyb nebo resetování hesel. Ansible Tower tak slouží jako centrální místo pro správu síťové infrastruktury a virtuálních strojů.
Na rozdíl od Ansible, Ansible Tower není zdarma. Existují dvě verze: Premium a Standard. Volba mezi nimi závisí na požadavcích konkrétní IT společnosti. Standardní edice je vhodná pro většinu IT operací, zatímco Premium je navržena pro kritické DevOps prostředí.
Ceny za Ansible Tower poskytuje společnost Red Hat po individuální konzultaci. Standardní verze může stát okolo 10 000 USD ročně pro 100 uzlů, zatímco Premium verze pro stejný počet uzlů vyjde přibližně na 14 000 USD ročně.
Výhody Ansible Tower:
- Intuitivní rozhraní.
- Umožňuje vytvořit CI/CD pipeline pro správu pracovních postupů.
- Umožňuje plánovat úkoly a dostávat upozornění na chyby.
- Grafická správa inventáře.
- Jednoduchá konfigurace.
Nevýhody Ansible Tower:
- Vysoká cena.
- Závislost na předplatném.
- Komplikované řešení konfliktů při slučování kódu.
- Náročné ladění.
Ansible vs Ansible Galaxy vs Ansible Tower
Ansible slouží jako nástroj pro automatizaci IT. Umožňuje nasazovat software, konfigurovat systémy a organizovat složité IT operace, jako je kontinuální nasazování nebo aktualizace bez výpadků. Hlavními prioritami Ansible jsou jednoduchost a snadné použití.
Naproti tomu, Ansible Tower je často popisován jako “výkonný Git klient pro Mac a Windows”. Nabízí GUI pro všechny výkonné Git funkce, což zvyšuje efektivitu práce. Ansible Galaxy slouží k ukládání a sdílení Ansible rolí, je tedy ekvivalentem PyPI pro Python nebo Maven pro Javu.
Ansible Tower nemůže fungovat bez Ansible. Ansible Tower rozšiřuje funkčnost Ansible. Ansible samotný je motor, který řídí správu infrastruktury a nasazování.
Ansible Tower umožňuje detailně sledovat a ověřovat dodržování bezpečnostních standardů vaší infrastruktury.
Ansible Tower nabízí RBAC pro vaše Ansible implementace. Je to také skvělá volba, pokud chcete, aby profesionálové, kteří nemají zkušenosti s kódováním, mohli kontrolovat vaši infrastrukturu.
Srovnání Ansible vs Ansible Tower vs Ansible Galaxy:
Ansible | Ansible Tower | Ansible Galaxy | |
Popis | Open-source nástroj pro správu konfigurace | Uživatelské rozhraní pro Ansible | Úložiště rolí a kolekcí |
Provádění | Spouští playbooky z příkazové řádky | Spouští playbooky z GUI | Spouští ansible-galaxy z příkazové řádky |
Vydání | 2012 | 2015 | 2016 |
Cena | Zdarma | Od 5000 $ (jednoduchá konfigurace) | Zdarma |
Funkce | – | Poskytuje přehled o celém prostředí Ansible | Umožňuje opakovaně využívat bloky kódu |
Závěr
Tento článek se věnoval Ansible, Ansible Tower a Ansible Galaxy a rozdílům mezi nimi. Organizace by měly zvážit své potřeby před investicí do Ansible Tower, protože se jedná o nákladné řešení. Celkově je však Ansible vynikající CM nástroj pro jakékoli prostředí podobné Linuxu.
Možná vás také budou zajímat úlohy administrátora systému, které lze automatizovat pomocí Ansible.