Co je kuchař? - Nástroj používaný pro správu konfigurace



Tento blog o What is Chef je prvním blogem ze série blogů Chef. Hovoří o správě konfigurace a o tom, jak toho Chef dosahuje pomocí případu použití.

Chef je nástroj používaný pro správu konfigurace a úzce s ním soutěží Loutka . V tomto blogu vysvětlím, co je Chef, Configuration Management a jak Chef dosahuje Configuration Management s případem použití.

Co je kuchař?

Chef je automatizační nástroj, který poskytuje způsob, jak definovat infrastrukturu jako kód. Infrastruktura jako kód (IAC) jednoduše znamená, že správa infrastruktury je spíše psaní kódu (automatizace infrastruktury) než používání ručních procesů. Lze jej také označit jako programovatelnou infrastrukturu. Šéfkuchař používá pro psaní systémových konfigurací čistý jazyk DSL (Pure-Ruby). Níže jsou uvedeny typy automatizace prováděné společností Chef bez ohledu na velikost infrastruktury:





  • Konfigurace infrastruktury
  • Nasazení aplikace
  • Konfigurace jsou spravovány ve vaší síti

Jako Loutka který má architekturu Master-Slave, dokonce i Chef má architekturu klient-server. Ale šéfkuchař má další komponentu nazvanou Workstation. O pracovní stanici budu mluvit ve svém dalším blogu. Viz níže uvedený diagram:

Chef vs Puppet - What Is Chef - Edureka



V Chef jsou uzly dynamicky aktualizovány s konfiguracemi na serveru. Tomu se říká Konfigurace Pull což znamená, že pro odeslání konfigurace na uzly nepotřebujeme na serveru Chef spustit ani jediný příkaz, uzly se automaticky aktualizují o konfigurace přítomné na serveru. Můj další blog na Výukový program pro kuchaře podrobně vysvětlí architekturu Chef spolu se všemi komponenty Chef.

Podívejme se nyní na důvody popularity Chef.

Co je šéfkuchař - klíčové metriky šéfkuchaře

  • Chef podporuje více platforem jako AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows a Ubuntu. Mezi další klientské platformy patří Arch Linux, Debian a Fedora.
  • Šéfkuchaře lze integrovat s cloudovými platformami, jako je Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure a Rackspace, které automaticky zajišťují a konfigurují nové stroje.
  • Chef má aktivní, inteligentní a rychle rostoucí komunitní podporu.
  • Vzhledem k vyspělosti a flexibilitě šéfkuchaře jej využívají giganti jako 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.

Podle Phil Dibowitze, produkčního inženýra společnosti Facebook



'Existují tři dimenze měřítka, na které se obecně zaměřujeme na infrastrukturu - počet serverů, objem různých konfigurací napříč těmito systémy a počet lidí potřebných k údržbě těchto konfigurací.' Chef poskytl automatizační řešení dostatečně flexibilní, aby se přizpůsobilo dynamice našeho měřítka, aniž by bylo nutné měnit náš pracovní postup. “

Bezpochyby je Chef jedním z nejznámějších nástrojů pro správu konfigurace a úzce s ním soutěží Loutka . Než se ale ponořím hlouběji do „Co je šéfkuchař“, je fér, že nejprve vysvětlím, co je Configuration Management a proč je to důležité.

Správa konfigurace

Nebojte se, v tomto blogu nebude žádná těžká definice správy konfigurace :)

Pojďme pochopit správu konfigurace tímto způsobem - předpokládejme, že musíte nasadit software na stovky systémů. Tímto softwarem může být operační systém nebo kód, nebo se může jednat o aktualizaci stávajícího softwaru. Tuto úlohu můžete provést ručně, ale co se stane, pokud budete muset tuto úlohu dokončit přes noc, protože zítra může být Velký miliardový den prodej ve společnosti nebo nějaký M nebo Prodej atd., kde se očekává silný provoz. I když jste to dokázali udělat ručně, existuje velká možnost více chyb ve váš velký den. Co když software, který jste aktualizovali na stovkách systémů, nefunguje, jak se vrátíte zpět k předchozí stabilní verzi, budete schopni tento úkol provést ručně? Samozřejmě AF ne!

K vyřešení tohoto problému byla zavedena správa konfigurace. Pomocí nástrojů pro správu konfigurace, jako je Chef, Puppet atd., Můžete tento úkol automatizovat. Musíte pouze určit konfigurace na jednom centralizovaném serveru a podle toho budou nakonfigurovány všechny uzly. Umožňuje přístup k přesnému historickému záznamu stavu systému pro účely řízení projektu a auditu. V zásadě tedy musíme určit konfigurace jednou na centrálním serveru a replikovat to na tisících uzlů. Správa konfigurace pomáhá při provádění níže uvedených úkolů velmi strukturovaným a snadným způsobem:

  • Zjištění, které součásti se mají změnit, když se mění požadavky.
  • Předělaná implementace, protože požadavky se od poslední implementace změnily.
  • Návrat k předchozí verzi komponenty, pokud jste ji nahradili novou, ale chybnou verzí.
  • Výměna nesprávné součásti, protože jste nemohli přesně určit, která součást má být nahrazena.

V mém blogu Puppet se dozvíte, jak NYSE pomocí nástroje Configuration Management ušetřil miliony dolarů

Existují obecně dva způsoby správy konfigurací, jmenovitě konfigurace Push a Pull.

  • Konfigurace tahu: V tomto typu správy konfigurace uzly pravidelně žádají o centralizovaný server aktualizace. Tyto uzly jsou dynamicky konfigurovány, takže v zásadě stahují konfigurace z centralizovaného serveru. Konfiguraci Pull používají nástroje jako Chef, Puppet atd.
  • Konfigurace push: V tomto typu správy konfigurace centralizovaný server posílá konfigurace do uzlů. Na rozdíl od konfigurace Pull existují určité příkazy, které je třeba provést na centralizovaném serveru, aby bylo možné konfigurovat uzly. Push Configuration používají nástroje jako Ansible.

Naučte se různé komponenty Configuration Management v mém blogu Puppet Tutorial

Nyní je ten správný čas, kdy vás v tomto hledání porozumění otázce „Co je to šéfkuchař“ vysvětlím vysvětlením, jak společnost Chef dosahuje správy konfigurace.

Co je šéfkuchař - Správa konfigurace se šéfkuchařem

Pochopili jsme, co je Chef, nyní vám vysvětlím, jak Chef dosahuje Configuration Management s případem použití. Gannett je veřejně obchodovatelná americká mediální holdingová společnost. Je největším vydavatelem novin v USA, měřeno celkovým denním nákladem.

Gannettův tradiční pracovní postup nasazení se vyznačoval několika předáváními a manuálními testy. Podívejme se, jaké byly problémy, kterým tento proces čelil:

  • Údržba přesných a opakovatelných sestavení byla obtížná.
  • Došlo k mnoha selháním sestavení a testy často probíhaly ve špatných prostředích.
  • Časy nasazení a zajišťování se mohou pohybovat od několika dnů do několika týdnů.
  • Provozní tým neměl přístup k cloudu ani vývojovému prostředí.
  • Každá skupina používala svou vlastní sadu nástrojů a neexistovala žádná odpovědnost za financování ani bezpečnost. Nikdo nevěděl, kolik aplikace ve skutečnosti stojí. Zabezpečení nemělo žádný způsob, jak auditovat softwarové komíny.

Gannett byl na změnu připraven. Vývojáři chtěli rychle nasadit své aplikace. Operace chtěly stabilní infrastrukturu, kde by mohly stavět a nasazovat opakovatelným způsobem. Finance chtěly znát skutečné náklady na aplikaci. Zabezpečení chtělo zobrazit a auditovat všechny hromádky a sledovat změny.

Gannett viděl, že cloud jako služba nabízí mnoho výhod. Vývojáři měli přístup ke standardizovaným zdrojům. Zpracování špičkového provozu bylo snazší díky cloudovému modelu výpočtu na vyžádání a předávání bylo minimalizováno.

Šéfkuchař vám umožňuje dynamicky zřídit a zrušit zřízení vaší infrastruktury na vyžádání, abyste drželi krok s vrcholy v používání a provozu. Umožňuje nasazovat a aktualizovat nové služby a funkce častěji, s malým rizikem prostojů. S Chef můžete využít veškerou flexibilitu a úsporu nákladů, které cloud nabízí.

Podívejme se, jaké funkce vykonával šéfkuchař v Gannettu:

jak se naučit pl sql
  • Gannett začal stavět VPC (Virtual Private Cloud) pro vývojové prostředí, které by napodobovalo produkci. Žádný z nástrojů, které již používali, nebyl vhodný. Zjistili však, že šéfkuchař pracoval dobře s cloudem a prostředím Linux i Windows. Použili Chef k vytvoření vývojového prostředí, které dokonale odpovídalo produkčnímu prostředí.
  • Aby se aplikace mohla přesunout do VPC, musela být zřízena a nasazena spolu s kuchařem.
  • Zabezpečení by bylo zapojeno brzy a řídilo by povinné kontroly přístupu k šéfkuchaři a udržování bezpečnostních standardů systému.

Nyní je čas pochopit, jaké byly výsledky tohoto procesu:

  • Nasazení Gannett se stalo rychlejší a spolehlivější. Zřizování a nasazování aplikací, které jednou trvalo týdny, po použití Chef to trvalo minuty.
  • Všechny nové aplikace byly nasazeny na cloudu s Chef. Tyto aplikace byly nasazeny do všech prostředí stejným způsobem, jako byly nasazeny do výroby. Také v každém prostředí proběhlo testování, aby nasazení byla spolehlivá.
  • Celá infrastruktura byla zpracována jako kód, což výrazně zvyšuje viditelnost všech změn, ke kterým došlo. Z toho měl prospěch vývoj, provoz, bezpečnost a finance.

Po ' Co je kuchař „Můj další blog, tj. Výukový program pro kuchaře se zaměřuje na architekturu Chef spolu s jeho komponentami. Také jsem vysvětlil, jak nasadit Apache2 pomocí Chef.

Pokud jste našli tento blog na „ Co je kuchař „Relevantní, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Kurz certifikace Edureka DevOps pomáhá studentům získat odborné znalosti v různých procesech a nástrojích DevOps, jako jsou Puppet, Jenkins, Nagios a GIT pro automatizaci více kroků v SDLC.