Što je kuhar? - Alat koji se koristi za upravljanje konfiguracijom

Ovaj blog na temu What is Chef prvi je blog iz bloga Chef. Govori o upravljanju konfiguracijom i kako chef to postiže pomoću slučaja upotrebe.

Chef je alat koji se koristi za upravljanje konfiguracijom i s kojim se usko natječe Lutka . Na ovom blogu objasnit ću što je chef, upravljanje konfiguracijom i kako chef postiže upravljanje konfiguracijom pomoću slučaja.



Što je kuhar?

Chef je alat za automatizaciju koji pruža način definiranja infrastrukture kao koda. Infrastruktura kao kod (IAC) jednostavno znači upravljanje infrastrukturom pisanjem koda (automatizacija infrastrukture), a ne ručnim procesima. Može se nazvati i programabilnom infrastrukturom. Chef koristi čisti Ruby, jezik specifičan za domenu (DSL) za pisanje konfiguracija sustava. Ispod su vrste automatizacije koje je izradio Chef, bez obzira na veličinu infrastrukture:



  • Konfiguracija infrastrukture
  • Implementacija aplikacije
  • Konfiguracijama se upravlja na vašoj mreži

Kao Lutka koja ima Master-Slave arhitekturu, čak i Chef ima Client-Server arhitekturu. Ali Chef ima dodatnu komponentu koja se naziva Workstation. O radnoj stanici govorit ću na sljedećem blogu. Pogledajte donji dijagram:

Kuhar vs Lutka - Što je kuhar - Edureka



U Chefu, čvorovi se dinamički ažuriraju s konfiguracijama na poslužitelju. Ovo se zove Povuci konfiguraciju što znači da na Chef poslužitelju ne trebamo izvršiti niti jednu naredbu za guranje konfiguracije na čvorovima, čvorovi će se automatski ažurirati konfiguracijama prisutnim na poslužitelju. Moj sljedeći blog na Vodič za kuhara detaljno će objasniti Chef arhitekturu zajedno sa svim Chef komponentama.

Pogledajmo sada razloge koji stoje iza popularnosti Chefa.

naučiti koristiti vizualni studio

Što je kuhar - ključni pokazatelji kuhara

  • Kuhar podržava više platformi poput AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows i Ubuntu. Dodatne klijentske platforme uključuju Arch Linux, Debian i Fedoru.
  • Chef se može integrirati s platformama temeljenim na oblaku kao što su Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure i Rackspace za automatsko osiguravanje i konfiguriranje novih strojeva.
  • Kuhar ima aktivnu, pametnu i brzo rastuću podršku zajednice.
  • Zbog zrelosti i fleksibilnosti kuhara, koriste ga divovi poput Mozille, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Sveučilište Marshall, Socrata, Sveučilište Minnesota, Wharton School sa Sveučilišta Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney i Cheezburger.

Prema Phil Dibowitzu, inženjeru proizvodnje, Facebook



„Postoje tri dimenzije razmjera koje obično gledamo na infrastrukturu - broj poslužitelja, obujam različitih konfiguracija u tim sustavima i broj ljudi potrebnih za održavanje tih konfiguracija. Chef je pružio rješenje za automatizaciju dovoljno fleksibilno da se prilagodi našoj dinamici razmjera, a da ne zahtijeva da promijenimo svoj tijek rada. '

Bez sumnje, Chef je jedan od najpoznatijih alata za upravljanje konfiguracijom i s kojim se usko natječe Lutka . No, prije nego što zaronim duboko u 'Što je kuhar', pošteno je da prvo objasnim što je upravljanje konfiguracijom i zašto je to važno.

Upravljanje konfiguracijom

Ne brinite, na ovom blogu neće biti teške definicije upravljanja konfiguracijom :)

Dopustite nam da razumijemo upravljanje konfiguracijom na ovaj način - pretpostavimo da morate instalirati softver na stotine sustava. Ovaj softver može biti operativni sustav ili kôd ili može biti ažuriranje postojećeg softvera. Ovaj zadatak možete obaviti ručno, ali što će se dogoditi ako ovaj zadatak morate završiti preko noći jer bi sutra mogao biti Dan velikih milijardi prodaja u tvrtki ili neke druge M ili Prodaja itd. u kojem se očekuje gust promet. Čak i ako ste to mogli ručno, postoji velika mogućnost višestrukih pogrešaka na vaš veliki dan. Što ako softver koji ste ažurirali na stotinama sustava ne radi, kako ćete se vratiti na prethodnu stabilnu verziju, hoćete li moći ručno obaviti ovaj zadatak? AF-naravno da nije!

Da bi se riješio ovaj problem, uvedeno je upravljanje konfiguracijom. Korištenjem alata za upravljanje konfiguracijom poput kuhara, lutke itd. Možete automatizirati ovaj zadatak. Sve što trebate učiniti je odrediti konfiguracije na jednom centraliziranom poslužitelju i prema tome će se konfigurirati svi čvorovi. Omogućuje pristup točnom povijesnom zapisu stanja sustava u svrhu upravljanja projektima i revizije. U osnovi, moramo jednom odrediti konfiguracije na središnjem poslužitelju i replicirati ih na tisuće čvorova. Upravljanje konfiguracijom pomaže u izvršavanju sljedećih zadataka na vrlo strukturiran i jednostavan način:

  • Otkrivanje komponenata koje treba promijeniti kada se zahtjevi promijene.
  • Ponavljanje implementacije jer su se zahtjevi promijenili od posljednje implementacije.
  • Vraćanje na prethodnu verziju komponente ako ste je zamijenili novom, ali neispravnom verzijom.
  • Zamjena pogrešne komponente jer niste mogli točno odrediti koja bi komponenta trebala biti zamijenjena.

Pogledajte moj blog na Lutkama da biste saznali kako je NYSE uštedio milijune dolara uz pomoć Upravljanja konfiguracijom

Postoje općenito dva načina za upravljanje vašim konfiguracijama, a to su Push i Pull konfiguracije.

java kako to koristiti
  • Konfiguracija povlačenja: U ovoj vrsti upravljanja konfiguracijom, čvorovi povremeno anketiraju centralizirani poslužitelj radi ažuriranja. Ti su čvorovi dinamički konfigurirani pa u osnovi povlače konfiguracije s centraliziranog poslužitelja. Konfiguraciju povlačenja koriste alati poput kuhara, lutke itd.
  • Push konfiguracija: U ovoj vrsti upravljanja konfiguracijama, centralizirani poslužitelj gura konfiguracije na čvorove. Za razliku od Pull Configuration, postoje određene naredbe koje se moraju izvršiti na centraliziranom poslužitelju kako bi se konfigurirali čvorovi. Push konfiguraciju koriste alati poput Ansible.

Naučite razne komponente upravljanja konfiguracijom na mom blogu s vodičima za lutke

Sad je pravo vrijeme da vas povenem naprijed u ovoj potrazi za razumijevanjem 'Što je chef' objašnjavajući kako Chef postiže upravljanje konfiguracijom.

Što je chef - upravljanje konfiguracijom s chefom

Shvatili smo što je Chef, sad ću vam objasniti kako Chef postiže upravljanje konfiguracijom pomoću slučaja. Gannett je američki medijski holding kojim se trguje javno. To je najveći američki izdavač novina mjeren ukupnom dnevnom nakladom.

Tradicionalni tijek implementacije Gannetta karakteriziralo je više primopredaja i ručnih testova. Pogledajmo koji su bili problemi s kojima su se suočili u ovom procesu:

  • Održavanje točnih, ponovljivih izrada bilo je teško.
  • Bilo je mnogo kvarova u gradnji, a testovi su se često izvodili u pogrešnim okruženjima.
  • Vrijeme primjene i osiguranja moglo bi se kretati od nekoliko dana do nekoliko tjedana.
  • Operativni tim nije imao pristup oblaku ili razvojnom okruženju.
  • Svaka je skupina koristila svoj vlastiti set alata i nije bilo odgovornosti za financiranje ili sigurnost. Nitko nije znao koliko aplikacija zapravo košta. Sigurnost nije imala načina za reviziju softverskih hrpa.

Gannett je bio spreman za promjenu. Programeri su željeli brzo implementirati svoje aplikacije. Operacije su željele stabilnu infrastrukturu u kojoj bi mogle graditi i implementirati na ponovljiv način. Financije su htjele znati pravi trošak prijave. Sigurnost je željela pregledati i revidirati sve stogove i biti u mogućnosti pratiti promjene.

Gannett je vidio da taj oblak kao usluga nudi brojne prednosti. Programeri su imali pristup standardiziranim resursima. Bilo je lakše nositi se s vršnim prometom zbog cloud-ovog modela računanja na zahtjev, a primopredaje su minimalizirane.

Chef vam omogućuje da na zahtjev dinamički osiguravate i uklanjate svoju infrastrukturu kako biste išli u korak s vrhovima upotrebe i prometa. Omogućuje češće postavljanje i ažuriranje novih usluga i značajki, uz mali rizik od zastoja. Uz Chefa možete iskoristiti svu fleksibilnost i uštedu troškova koje oblak nudi.

Pogledajmo koje su funkcije obavljao kuhar iz Gannetta:

  • Gannett je počeo graditi VPC (Virtual Private Cloud) za razvojno okruženje koje bi oponašalo proizvodnju. Niti jedan alat koji su već koristili nije prikladan. Ali otkrili su da je kuhar dobro surađivao s oblakom i Linux i Windows okruženjem. Koristili su Chefa za izgradnju razvojnog okruženja koje je savršeno odgovaralo proizvodnom okruženju.
  • Da bi se aplikacija preselila u VPC, morala ju je pripremiti i razmjestiti s Chefom.
  • Sigurnost bi bila uključena rano i upravljala bi obveznim kontrolama pristupa chefu i održavanju sigurnosnih standarda sustava.

Sada je vrijeme da shvatite koji su bili rezultati ovog procesa:

  • Gannettovo raspoređivanje postalo je brže i pouzdanije. Priprema i primjena aplikacija, što je jednom trajalo tjednima, nakon upotrebe kuhara trebalo je nekoliko minuta.
  • Sve nove aplikacije postavljene su u oblak s Chefom. Te su aplikacije raspoređene u sva okruženja na isti način na koji su raspoređene u produkciju. Također, testiranje se odvijalo u svakom okruženju, tako da su implementacije bile pouzdane.
  • Sva infrastruktura tretirana je kao kod, što uvelike povećava vidljivost svih promjena koje su se dogodile. Razvoj, poslovanje, sigurnost i financije svi su imali koristi od toga.

Nakon Što je Chef ”Moj sljedeći blog tj. Vodič za kuhara usredotočuje se na arhitekturu kuhara zajedno s njegovim komponentama. Također sam objasnio kako rasporediti Apache2 pomoću Chefa.

Ako ste pronašli ovaj blog na “ Što je Chef ”Relevantno, provjerite Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edureka DevOps certifikacijski tečaj pomaže učenicima da steknu stručnost u različitim DevOps procesima i alatima kao što su Puppet, Jenkins, Nagios i GIT za automatizaciju više koraka u SDLC-u.