Jak se kultura DevOps prosazuje uvnitř odvětví IT, roste i zájem o automatizační platformu dobře vyhovující rychlosti a agilitě, které jsou běžně propagovány jako hlavní výhody DevOps, a to znamená rostoucí potřebu IT profesionálů, kteří jsou nejen ochotni přijmout myšlení a metodologii stojící za řešením Devops, ale také jsou schopni DevOps dovedností s novými softwarovými nástroji, jako jsou Chef, Puppet a Ansible, které patří mezi nejvýraznější nástroje pro správu konfigurace a automatizaci nasazení. Každý z těchto nástrojů má své specifické silné stránky. Tyto nástroje pro automatizaci a orchestraci usnadňují život pro jakoukoli velikost infrastruktury.

Při výběru toho nejvhodnějšího najděte nástroj, který vám bude nejlépe vyhovovat, protože díky němu budete produktivnější a to, který nástroj potřebujete, závisí na vašich požadavcích a aktuálním prostředí. Nástroje jako Chef, Puppet, Ansible nejsou nutně určeny jen pro služby DevOps, jejich použití v organizaci IT může položit základy pro zrychlení oblasti, jako je doručování aplikací, záplatování a podobně.

Níže je shrnuto několik silných stránek jednotlivých nástrojů a pár věcí, které by vás mohly ovlivnit směrem k použití jednoho nad druhým:

Proč Puppet?

Puppet je pomalejší, ale nejrozšířenější a podporuje více operačních systémů. Puppet je systém pro správu konfigurace, který poskytuje způsob, jak definovat stav IT infrastruktury, a umožňuje automatické vynucení správného stavu. Pravděpodobně se těší největšímu podílu mysli ze všech tří. Je nejkomplexnější z hlediska dostupných akcí, modulů a uživatelského rozhraní. Puppet představuje ucelený obraz orchestrace datových center, zahrnuje téměř všechny operační systémy a nabízí hluboké nástroje pro hlavní operační systémy

  • Běží v systémech Linux, CentOS, Debian, Ubuntu, Fedora, BSD, MacOS, Windows a dalších.
  • Využívá vlastní „jednoduchou“ syntaxi, Puppet DSL neboli Domain Specific Language. Můžete používat i vlastní moduly Ruby.
  • Rozsáhlé možnosti reportování
  • Velká knihovna existujících modulů v Puppetu a moduly jsou různé kvality.
  • Webové uživatelské rozhraní je k dispozici pouze v podnikové verzi
  • Jednoduchá architektura: Puppet server a agenti Puppet
  • Puppet poskytuje efektivní a škálovatelné softwarové řešení pro správu konfigurací velkého počtu zařízení.
  • Správci systémů používají Puppet ke správě výpočetních prostředků, jako jsou fyzické a virtuální servery a síťová zařízení.
  • Puppet se nasazuje pomocí uspořádání klient/server, kdy server neboli Puppet master spravuje jeden nebo více klientských uzlů.

Proč Chef?“

Chef je složitý, ale rychlý a výkonný, je to automatizační platforma, která transformuje infrastrukturu do kódu. Mnoho společností poskytujících služby Devops se rozhodlo přijmout Chef, protože jim poskytuje možnost zacházet se svým systémem jako s objektem, protože se snadným používáním přichází nedostatek robustnosti. Chef je podobný Puppetu, pokud jde o celkovou koncepci, v tom, že existuje hlavní server a agenti nainstalovaní na spravovaných uzlech, ale liší se ve skutečném nasazení s Devops Solutions & Services.

  • Rozsáhlá syntaxe jazyka Ruby pro konfigurační „recepty“: to přináší vyšší křivku učení, ale větší výkon
  • Webové uživatelské rozhraní je standardní a zdarma.
  • Architektura je složitější: pro konfiguraci a správu potřebujete server Chef, agenty Chef a pracovní stanici Chef.
  • Velká knihovna existujících receptů různé kvality.
  • Jednoduchý multiplatformní a samostatný postup instalace.
  • Rychlejší výkon.

Proč Ansible?“

Ansible je napsán v jazyce Python a vyžaduje pouze přítomnost knihoven Python na serverech, které se mají konfigurovat. Nepodporuje systém Windows, ale je velmi jednoduchý, rychlý a lehký a zcela odlišný od systémů Chef a Puppet. Ústředním bodem Ansible je být zjednodušený a rychlý a nevyžadovat instalaci agenta uzlu. Ansible tedy provádí všechny funkce přes SSH. K dispozici je mnoho modulů od systémových, databázových až po správu cloudu. Je poměrně snadné napsat si vlastní moduly. Podporováno je mnoho jazyků, ale pokud znáte jazyk python, nezabere vám vytvoření vlastního modulu mnoho času. Podporuje všechny základní služby hlavních poskytovatelů cloudových služeb, jako jsou AWS, Rackspace, Digital Ocean, GCE, OpenStack atd.

  • Ansible je založen na Pythonu
  • Nejmladší z těchto tří technologií, tudíž s nejmenší komunitou
  • Funguje bez agentů, ale má mnoho závislostí na Pythonu, jakmile začnete se složitými operacemi
  • Jednoduchá architektura: stačí pracovní stanice Ansible a servery SSH. Bez agentů a serveru, ale na klientských počítačích máte závislosti na Pythonu
  • K dispozici je webové uživatelské rozhraní, ale s omezenými funkcemi, protože je vyvíjeno odděleně od hlavního projektu.
  • Skripty a moduly lze vytvářet v libovolném jazyce, k dispozici je omezená knihovna
  • Není podpora Windows
  • nejjednodušší syntaxe a nejnižší křivka učení
  • Ansible může pro komunikaci používat Paramiko, implementaci Python SSH2, nebo standardní SSH, ale k dispozici je také akcelerační režim, který umožňujerychlejší a rozsáhlejší komunikaci.
  • Ansible má sbírku modulů, které lze použít ke správě různých systémů i cloudové infrastruktury, například Amazon EC2 a OpenStack

Puppet nebo Chef nebo Ansible???

  • Puppet a Chef pomáhají vývojářům a vývojově orientovaným organizacím, kdežto Ansible je mnohem flexibilnější pro potřeby správců systémů
  • Jednoduché rozhraní a použitelnost Ansible zapadá přímo do psychologie správců systémů a v organizaci s velkým množstvím systémů Linux a Unix je Ansible relativně rychlý a snadno spustitelný.
  • Puppet je z hlediska použitelnosti nejvyspělejší a nejpohodlnější z této trojice, doporučuje se však solidní znalost jazyka Ruby.
  • Puppet není tak přehledný jako Ansible a jeho konfigurace může být někdy složitá. Je to nejbezpečnější způsob pro různá prostředí, ale možná zjistíte, že Ansible se lépe hodí do větší nebo podobnější infrastruktury.
  • Chef má velmi stabilní a dobře navržené uspořádání, a přestože nedosahuje úrovně Puppetu, pokud jde o hrubé funkce, je to velmi schopné řešení. Chef může představovat nejobtížnější křivku učení pro správce, kteří nemají významné zkušenosti s programováním, ale mohl by být nejlogičtějším řešením pro vývojově orientované osoby a vývojové organizace.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *