Čo je šéfkuchár? - Nástroj používaný na správu konfigurácie



Tento blog na tému Čo je šéfkuchár je prvým blogom zo série blogov šéfkuchárov. Hovorí o správe konfigurácie a o tom, ako to Chef dosahuje v prípade použitia.

Chef je nástroj používaný na správu konfigurácie, s ktorým úzko súťaží Bábka . V tomto blogu vysvetlím Čo je to Chef, Configuration Management a ako Chef dosahuje Configuration Management s prípadom použitia.

Čo je šéfkuchár?

Chef je automatizačný nástroj, ktorý poskytuje spôsob definovania infraštruktúry ako kódu. Infraštruktúra ako kód (IAC) jednoducho znamená, že riadenie infraštruktúry je potrebné skôr písaním kódu (automatizácia infraštruktúry), ako pomocou manuálnych procesov. Môže sa tiež označiť ako programovateľná infraštruktúra. Šéfkuchár používa na písanie systémových konfigurácií jazyk Pure-Ruby (Domain-specific Language) (DSL). Ďalej uvádzame typy automatizácie, ktoré vykonáva spoločnosť Chef, bez ohľadu na veľkosť infraštruktúry:





  • Konfigurácia infraštruktúry
  • Nasadenie aplikácie
  • Konfigurácie sa spravujú vo vašej sieti

Páči sa mi to Bábka ktorý má architektúru Master-Slave, dokonca aj Chef má architektúru klient-server. Ale šéfkuchár má ďalší komponent s názvom Workstation. O pracovnej stanici budem hovoriť v ďalšom blogu. Pozrite si nižšie uvedený diagram:

Kuchár vs Bábka - Čo je to kuchár - Edureka



V Chef sa uzly dynamicky aktualizujú podľa konfigurácií na serveri. Toto sa volá Konfigurácia ťahania čo znamená, že na odoslanie konfigurácie na uzloch nemusíme na serveri Chef vykonávať ani jeden príkaz, uzly sa automaticky aktualizujú o konfigurácie na serveri. Môj ďalší blog na Výukový program pre kuchárov podrobne vysvetlí architektúru Chef a všetky jej komponenty.

Pozrime sa teraz na dôvody popularity Chef.

Čo je šéfkuchár - kľúčové metriky šéfkuchára

  • Šéfkuchár podporuje viac platforiem ako AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows a Ubuntu. Medzi ďalšie klientske platformy patria Arch Linux, Debian a Fedora.
  • Šéfkuchára je možné integrovať s cloudovými platformami, ako sú Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure a Rackspace, ktoré umožňujú automatické poskytovanie a konfiguráciu nových strojov.
  • Šéfkuchár má aktívnu, inteligentnú a rýchlo rastúcu podporu komunity.
  • Kvôli vyspelosti a flexibilite šéfkuchára ho používajú giganti ako Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School University of Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney a Cheezburger.

Podľa Phila Dibowitza, výrobného inžiniera spoločnosti Facebook



„Infraštruktúra sa všeobecne zameriava na tri rozmery - počet serverov, objem rôznych konfigurácií naprieč týmito systémami a počet ľudí potrebných na údržbu týchto konfigurácií. Spoločnosť Chef poskytla automatizačné riešenie dostatočne flexibilné na to, aby sa dokázalo prispôsobiť dynamike nášho rozsahu bez toho, aby sme museli meniť náš pracovný tok. “

Chef je bezpochyby jedným z najslávnejších nástrojov na správu konfigurácie a úzko s ním súťaží Bábka . Ale predtým, ako sa ponorím hlboko do témy „Čo je šéfkuchár“, je spravodlivé, že najskôr vysvetlím, čo je Configuration Management a prečo je dôležité.

Správa konfigurácie

Nebojte sa, v tomto blogu nebude žiadna ťažká definícia Configuration Management :)

Poďme týmto spôsobom porozumieť správe konfigurácie - predpokladajme, že musíte nasadiť softvér na stovky systémov. Týmto softvérom môže byť operačný systém alebo kód, alebo môže ísť o aktualizáciu existujúceho softvéru. Túto úlohu môžete urobiť manuálne, ale čo sa stane, ak budete musieť túto úlohu dokončiť cez noc, pretože zajtra môže byť a Veľký miliardový deň predaj v spoločnosti alebo nejaké M alebo zľava atď., pri ktorých sa očakáva veľká premávka. Aj keď ste to dokázali urobiť manuálne, existuje veľká pravdepodobnosť viacerých chýb vo váš veľký deň. Čo ak softvér, ktorý ste aktualizovali na stovkách systémov, nefunguje, ako sa potom vrátite k predchádzajúcej stabilnej verzii, budete môcť túto úlohu vykonať manuálne? AF kurz samozrejme nie!

Na vyriešenie tohto problému bola predstavená Configuration Management. Túto úlohu môžete automatizovať pomocou nástrojov na správu konfigurácie, ako sú Chef, Puppet atď. Musíte len špecifikovať konfigurácie na jednom centralizovanom serveri a podľa toho budú nakonfigurované všetky uzly. Umožňuje prístup k presným historickým záznamom o stave systému na účely riadenia a auditu projektu. Takže v zásade musíme špecifikovať konfigurácie raz na centrálnom serveri a replikovať ich na tisícoch uzlov. Správa konfigurácie pomáha pri vykonávaní nasledujúcich úloh veľmi štruktúrovaným a ľahkým spôsobom:

  • Zisťovanie, ktoré komponenty sa majú zmeniť, keď sa zmenia požiadavky.
  • Znova vykonaná implementácia, pretože od poslednej implementácie sa požiadavky zmenili.
  • Ak ste nahradili novú, ale chybnú verziu, vrátite sa k predchádzajúcej verzii komponentu.
  • Výmena nesprávneho komponentu, pretože ste nedokázali presne určiť, ktorý komponent sa má vymeniť.

V mojom blogu Puppet sa dozviete, ako NYSE ušetrila milióny dolárov pomocou Configuration Management

Existujú zhruba dva spôsoby správy konfigurácií, a to konfigurácie Push a Pull.

  • Konfigurácia ťahu: V tomto type správy konfigurácie uzly pravidelne žiadajú o aktualizáciu centralizovaný server. Tieto uzly sú dynamicky konfigurované, takže v podstate sťahujú konfigurácie z centralizovaného servera. Konfiguráciu Pull používajú nástroje ako Chef, Puppet atď.
  • Konfigurácia push: V tomto type správy konfigurácie centralizovaný server posúva konfigurácie do uzlov. Na rozdiel od konfigurácie sťahovania existujú určité príkazy, ktoré sa musia vykonať na centralizovanom serveri, aby sa mohli nakonfigurovať uzly. Konfiguráciu push používajú nástroje ako Ansible.

Naučte sa rôzne komponenty Configuration Management v mojom blogu Puppet Tutorial

Teraz je správny čas, aby som vás posunul vpred v hľadaní porozumenia otázky „Čo je to šéfkuchár“ vysvetlením toho, ako spoločnosť Chef dosahuje správu konfigurácie.

Čo je to šéfkuchár - správa konfigurácie so šéfkuchárom

Pochopili sme, čo je Chef, teraz vám vysvetlím, ako Chef dosahuje správu konfigurácie s prípadom použitia. Gannett je verejne obchodovateľná americká mediálna holdingová spoločnosť. Je to najväčšie vydavateľstvo novín v USA, merané celkovým denným nákladom.

Tradičný pracovný postup nasadenia spoločnosti Gannett sa vyznačoval mnohými odovzdaniami a manuálnymi testami. Pozrime sa, aké boli problémy, ktorým čelili v tomto procese:

  • Údržba presných a opakovateľných zostavení bola zložitá.
  • Došlo k mnohým zlyhaniam zostavenia a testy často prebiehali v nesprávnych prostrediach.
  • Časy nasadenia a zabezpečenia sa môžu pohybovať od niekoľkých dní do niekoľkých týždňov.
  • Prevádzkový tím nemal prístup do cloudu alebo vývojového prostredia.
  • Každá skupina použila svoj vlastný súbor nástrojov a neexistovala zodpovednosť za financovanie ani bezpečnosť. Nikto nevedel, koľko vlastne aplikácia stojí. Zabezpečenie nemalo žiadny spôsob, ako skontrolovať softvérové ​​komíny.

Gannett bol pripravený na zmenu. Vývojári chceli rýchlo nasadiť svoje aplikácie. Spoločnosť Operations požadovala stabilnú infraštruktúru, kde by mohli budovať a nasadzovať opakovateľným spôsobom. Financie chceli vedieť skutočné náklady na aplikáciu. Zabezpečenie chcelo zobraziť a skontrolovať všetky komíny a sledovať zmeny.

Gannett videl, že cloud ako služba ponúka veľa výhod. Vývojári mali prístup k štandardizovaným zdrojom. Spracovanie ťažkej prevádzky bolo jednoduchšie kvôli modelu cloudu typu „výpočet na požiadanie“ a odovzdania boli minimalizované.

Šéfkuchár vám umožňuje dynamicky zabezpečiť a zrušiť zabezpečenie vašej infraštruktúry na požiadanie, aby ste držali krok s vrcholmi v používaní a prevádzke. Umožňuje nasadenie a aktualizáciu nových služieb a funkcií častejšie, s malým rizikom výpadku. S Chef môžete využiť všetku flexibilitu a úspory nákladov, ktoré cloud ponúka.

Pozrime sa, aké funkcie vykonával šéfkuchár v spoločnosti Gannett:

príklad webdriveru uhorka java selén
  • Gannett začal budovať VPC (Virtual Private Cloud) pre vývojové prostredie, ktoré by napodobňovalo produkciu. Žiadny z nástrojov, ktoré už používali, nebol vhodný. Zistili však, že šéfkuchár pracoval dobre s cloudom a prostredím Linux aj Windows. Pomocou Chef vytvorili vývojové prostredie, ktoré sa dokonale zhodovalo s produkčným prostredím.
  • Aby sa aplikácia mohla presunúť do VPC, musela byť zaistená a nasadená spolu s Chef.
  • Zabezpečenie by bolo zapojené skoro a riadilo by povinné kontroly prístupu k šéfkuchárovi a udržiavania bezpečnostných štandardov systému.

Teraz je čas pochopiť, aké boli výsledky tohto procesu:

  • Nasadenie spoločnosti Gannett sa stalo rýchlejšie a spoľahlivejšie. Poskytovanie a nasadenie aplikácií, ktoré raz trvalo týždne, po použití aplikácie Chef to trvalo niekoľko minút.
  • Všetky nové aplikácie boli nasadené v cloude so spoločnosťou Chef. Tieto aplikácie boli nasadené do všetkých prostredí rovnakým spôsobom, ako boli nasadené do výroby. V každom prostredí tiež prebehlo testovanie, aby bolo nasadenie spoľahlivé.
  • Celá infraštruktúra bola považovaná za kód, čo výrazne zvyšuje prehľad o akýchkoľvek zmenách, ku ktorým došlo. Z toho mal prospech rozvoj, prevádzka, bezpečnosť a financie.

Po „ Čo je šéfkuchár ”Môj ďalší blog t.j. Výukový program pre kuchárov sa zameriava na architektúru spoločnosti Chef spolu s jej komponentmi. Tiež som vysvetlil, ako nasadiť Apache2 pomocou Chef.

Ak ste našli tento blog na “ Čo je šéfkuchár „Relevantné, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Kurz certifikácie EdOkaka DevOps Certification Training pomáha študentom získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios a GIT na automatizáciu viacerých krokov v SDLC.