Portál AbcLinuxu, 30. dubna 2025 15:27
Chef: automatizace infrastruktury
20.10.2011 16:00
| Přečteno: 1949×
| Správa IT
|
| poslední úprava: 8.12.2012 20:50
Každý, kdo někdy spravoval více než dva servery nebo udržoval komplexní aplikační prostředí, ví, jak složité je udržet celou infrastrukturu konzistentní. Řízení konfiguračních procesů (ať si užijeme trochu toho „corporate speaku“) se může proměnit v peklo, ve kterém schopnost rychle a efektivně reagovat na nové požadavky ustupuje potřebě mít změny podrobně dokumentované, auditované a ověřitelné. Na opačných koncích spektra tak proti sobě stojí kovbojský přístup a byrokracií komplikovaná snaha o soulad firemních směrnic, pravidel a protokolů.
Přitom většina aktivit spojených se správou a konfigurací systému se dá lehce automatizovat. Není proto divu, že spousta administrátorů si proces usnadní sadou vlastních skriptů, které jsou jen zřídkakdy znovu použity – a když už, tak jen ojediněle mimo jejich nejbližší okolí, ať již osobní nebo firemní. V důsledku toho se neustále objevuje již objevené. Pro schopného sysadmina je proces relativně bezbolestný. Bohužel praxe ukazuje, že stejnou situací prochází bezpočet firem, které podobné štěstí nemají. Výsledkem je jen malá přenositelnost a bohužel často zbytečné investice.
Ekosystém nástrojů pro správu systémů a automatizaci konfigurace, se v posledních letech rozšířil a zároveň přinesl řadu inovací, a to jak v možnostech automatizace, tak také v tom, že se přiblížil náročným prostředím, jako jsou například finanční instituce. Jen z pohledu na nejrozšířenější nástroje, například CFEngine, Puppet a Chef, je zřejmý dopad na zlepšení přenositelnosti zkušeností v této oblasti, přičemž zůstává zachován důraz na soulad procesních a bezpečnostních postupů.
A právě s jedním z nejnovějších přírůstků – nástrojem Chef, produktem společnosti Opscode – vás chci seznámit.
Chef
Open-source systémový integrační framework Chef poskytuje prostředí pro správu serverů pomocí definice zdrojů a požadavků místo toho, aby bylo nutné spouštět/provádět individuální příkazy. Správa konfigurace se provádí pomocí
- definic logického modelu a požadavků pomocí zdrojů (balíček, šablona, služba, prostředí atp. ),
- zařazením zdrojů do receptů (recipes) pro definici komplexních konfigurací a postupů,
- sdružením příbuzných receptů do kuchařek (cookbooks),
- aplikováním kuchařek a receptů pro specifické serverové instance podle jejich role (identifikující společnost vlastnosti),
- exekucí Chef klienta pro uvedení instancí do požadovaného stavu.
Integrace systémů a služeb je zajišťována prostřednictvím
- nalezení služeb a systémů pomocí vyhledávání (podle názvu, role, atributů nebo prostředí),
- integrace pomocí jednoduše použitelného jazyka (na Ruby založený jazyk pro správu konfigurace),
- REST API pro snadnou rozšiřitelnost.
Díky těmto vlastnostem lze Chef použít jako nástroj, který umožňuje obnovit infrastrukturu s ničím jiným než zdrojovým repozitářem (stejným, jaký se používá pro vývoj aplikací), zálohou aplikačních dat a přístupem k tzv. „bare metal resources“ – tj. hardware, u kterého není požadavek na žádný instalovaný software.
h4ck3r friendly
Předchozí odstavec jako by naznačoval, že Chef je spíš frameworkem, který bude prosazovat IT manažer. Opak je ale pravdou. Chef používají jak vývojáři, tak systémoví správci, kteří oceňují jeho robustnost a efektivitu. Vybudování znalostní databáze snižuje množství rutinních zásahů a opakovaných řešení stejných problémů, a umožňuje tak zvýšit produktivitu a celkovou kvalitu služeb.
Za pomoci CLI nástrojů, jako je „knife“, se navíc zásadně nezmění prostředí, ve kterém jsou zvyklí pracovat.
Kam dál?
Nejdůležitějším zdrojem informací je přímo Wiki společnosti Opscode.
Pokud vás zajímá již praktický pohled na to, jak Chef využít, v nadcházející sérii příspěvků vám přiblížím jak praktické, tak teoretické aspekty z oblasti automatizace konfigurace a deploymentu aplikací.
Tiskni
Sdílej:
Komentáře
Vložit další komentář
20.10.2011 17:26
dad
Re: Chef: automatizace infrastruktury
Založit nové vlákno •
Nahoru
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.