Šíření virtualizace spolu s rostoucím výkonem standardních serverů v oboru a dostupností cloud computingu vedlo k výraznému nárůstu počtu serverů, které je třeba spravovat v rámci organizace i bez ní. Tam, kde jsme si kdysi vystačili se stojany fyzických serverů, ke kterým jsme měli přístup v datovém centru na chodbě, musíme nyní spravovat mnohem více serverů, které lze rozšířit po celém světě.
To je místo, kde vstupují do hry nástroje pro řízení orchestrace dat a správu konfigurace. V mnoha případech spravujeme skupiny identických serverů, provozujeme identické aplikace a služby. Jsou nasazeny na virtualizační rámce v rámci organizace, nebo běží jako cloud nebo hostované instance ve vzdálených datových centrech. V některých případech můžeme mluvit o velkých instalacích, které existují pouze pro podporu velmi velkých aplikací nebo velkých instalacích, které podporují nesčetné množství menších služeb. V obou případech nelze vyloučit schopnost mávat hůlkou a přimět je všechny, aby se ohnuli podle vůle administrátora. Je to jediný způsob, jak spravovat tyto velké a rostoucí infrastruktury.
Puppet, Chef, Ansible a Salt byli postaveni s ohledem na tento cíl: usnadnit konfiguraci a údržbu desítek, stovek nebo dokonce tisíců serverů. To neznamená, že menší obchody nebudou těžit z těchto nástrojů, protože automatizace a orchestrace obecně usnadňují život v infrastruktuře jakékoli velikosti.
Podíval jsem se do hloubky na každý z těchto čtyř nástrojů, prozkoumal jsem jejich design a funkci a zjistil jsem, že i když některé skórovaly výše než jiné, je tu místo, kam se každý může vejít, v závislosti na cílech nasazení. Zde shrnuji svá zjištění.
Loutkové podnikání
Loutka má pravděpodobně největší podíl mysli ze všech čtyř. Je to nejúplnější z hlediska dostupných akcí, modulů a uživatelských rozhraní. Loutka představuje celkový obraz orchestrace datových center, zahrnuje téměř každý operační systém a nabízí hluboké nástroje pro hlavní operační systémy. Počáteční nastavení je relativně jednoduché a vyžaduje instalaci hlavního serveru a klientských agentů v každém systému, který má být spravován.
Odtamtud je CLI (rozhraní příkazového řádku) jednoduché a umožňuje stahování a instalaci modulů prostřednictvím loutka
příkaz. Poté jsou nutné změny konfiguračních souborů, aby se modul přizpůsobil požadovanému úkolu, a klienti, kteří by měli pokyny obdržet, tak učiní, když se přihlásí k hlavnímu serveru nebo prostřednictvím push, který okamžitě spustí úpravy.
Existují také moduly, které mohou zajišťovat a konfigurovat instance cloudového serveru a instance virtuálního serveru. Všechny moduly a konfigurace jsou sestaveny s jazykem specifickým pro loutky založeným na Ruby nebo samotném Ruby, a budou tedy kromě dovedností správy systému vyžadovat i programové znalosti.
Scorecard | Škálovatelnost (20.0%) | Dostupnost (20.0%) | Výkon (10.0%) | Hodnota (10.0%) | Řízení (20.0%) | Interoperabilita (20.0%) | Celkové skóre (100%) |
---|---|---|---|---|---|---|---|
AnsibleWorks Ansible 1.3 | 8.0 | 9.0 | 9.0 | 9.0 | 8.0 | 7.0 | 8.2 |
Enterprise Chef 11.4 | 9.0 | 9.0 | 8.0 | 9.0 | 7.0 | 8.0 | 8.3 |
Puppet Enterprise 3.0 | 9.0 | 9.0 | 9.0 | 9.0 | 9.0 | 9.0 | 9.0 |
SaltStack Enterprise 0.17.0 | 9.0 | 9.0 | 9.0 | 9.0 | 9.0 | 8.0 | 8.8 |