Kaj je kuhar? - Orodje za upravljanje konfiguracije



Ta blog o tem, kaj je kuhar, je prvi blog iz blogov Chef. Govori o upravljanju konfiguracije in o tem, kako Chef to doseže z uporabo primera.

Chef je orodje, ki se uporablja za upravljanje konfiguracije in z njim tesno konkurira Lutka . V tem blogu bom razložil, kaj je kuhar, upravljanje konfiguracije in kako kuhar doseže upravljanje konfiguracije s primerom uporabe.

Kaj je kuhar?

Chef je orodje za avtomatizacijo, ki ponuja način definiranja infrastrukture kot kode. Infrastruktura kot koda (IAC) preprosto pomeni upravljanje infrastrukture s pisanjem kode (avtomatizacija infrastrukture) in ne z uporabo ročnih procesov. Lahko ga označimo tudi kot programljivo infrastrukturo. Chef za zapisovanje sistemskih konfiguracij uporablja čisti rubi, jezik, specifičen za domeno (DSL). Spodaj so navedene vrste avtomatizacije, ki jih izvaja Chef, ne glede na velikost infrastrukture:





  • Konfiguracija infrastrukture
  • Uvajanje aplikacij
  • Konfiguracije se upravljajo v vašem omrežju

Všeč mi je Lutka ki ima arhitekturo Master-Slave, celo Chef ima arhitekturo Client-Server. Toda Chef ima dodatno komponento, imenovano Workstation. O delovnih postajah bom govoril v naslednjem blogu. Glejte spodnji diagram:

Kuhar vs Lutka - Kaj je kuhar - Edureka



V Chefu se vozlišča dinamično posodabljajo s konfiguracijami v strežniku. To se imenuje Povlecite konfiguracijo kar pomeni, da nam ni treba izvesti niti enega ukaza na strežniku Chef, da potisnemo konfiguracijo na vozliščih, vozlišča se samodejno posodobijo s konfiguracijami, ki so prisotne v strežniku. Moj naslednji blog na Vadnica za kuharja bo podrobno razložil arhitekturo Chef skupaj z vsemi komponentami Chef.

Zdaj pa si poglejmo razloge za priljubljenost Chefa.

c ++ stl vprašanja za intervju

Kaj je kuhar - ključne meritve kuharja

  • Kuhar podpira več platform, kot so AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows in Ubuntu. Dodatne odjemalske platforme vključujejo Arch Linux, Debian in Fedora.
  • Chef je mogoče integrirati s platformami v oblaku, kot so Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure in Rackspace, da samodejno zagotovi in ​​konfigurira nove stroje.
  • Kuhar ima aktivno, pametno in hitro rastočo podporo skupnosti.
  • Zaradi zrelosti in prilagodljivosti Chefa ga uporabljajo velikani, kot so Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School univerze v Pennsylvaniji, Bonobos, Splunk, Citi, DueDil, Disney in Cheezburger.

Po besedah ​​Phila Dibowitza, inženirja proizvodnje, Facebook



»Na splošno gledamo na tri dimenzije obsega infrastrukture - število strežnikov, obseg različnih konfiguracij v teh sistemih in število ljudi, potrebnih za vzdrževanje teh konfiguracij. Chef je zagotovil rešitev za avtomatizacijo, ki je dovolj prilagodljiva, da se prilagodi naši dinamiki, ne da bi od nas zahtevali, da spremenimo svoj potek dela. '

Brez dvoma je Chef eno najbolj znanih orodij za upravljanje konfiguracije, s katerim tesno konkurira Lutka . Preden pa se poglobimo v 'Kaj je kuhar', je pošteno, da najprej razložim, kaj je upravljanje konfiguracije in zakaj je to pomembno.

Upravljanje konfiguracije

Ne skrbite, v tem blogu ne bo nobene težke definicije upravljanja konfiguracije :)

Dovolite nam, da razumemo upravljanje konfiguracije na ta način - predpostavimo, da morate namestiti programsko opremo na stotine sistemov. Ta programska oprema je lahko operacijski sistem ali koda ali pa posodobitev obstoječe programske opreme. To nalogo lahko opravite ročno, toda kaj se zgodi, če morate to nalogo dokončati čez noč, ker je jutri morda Dan velikih milijard prodaja v podjetju ali kakšen drug M ali Prodaja itd., v katerem se pričakuje gost promet. Tudi če bi to lahko storili ročno, obstaja velika verjetnost več napak na vaš veliki dan. Kaj pa, če programska oprema, ki ste jo posodobili na stotinah sistemov, ne deluje, kako se boste potem vrnili na prejšnjo stabilno različico, ali boste to nalogo lahko opravili ročno? AF-seveda ne!

sinhronizacija niti v primeru Java

Da bi rešili to težavo, je bilo uvedeno upravljanje konfiguracije. Z uporabo orodij za upravljanje konfiguracije, kot so kuhar, lutka itd., Lahko to nalogo avtomatizirate. Vse, kar morate storiti, je določiti konfiguracije v enem centraliziranem strežniku in v skladu s tem bodo konfigurirana vsa vozlišča. Omogoča dostop do natančnega zgodovinskega zapisa stanja sistema za namene upravljanja projektov in revizije. V bistvu moramo konfiguracije enkrat določiti na osrednjem strežniku in jih ponoviti na tisoče vozlišč. Upravljanje konfiguracije pomaga pri izvajanju spodnjih nalog na zelo strukturiran in enostaven način:

  • Ugotovitev, katere komponente spremeniti, ko se zahteve spremenijo.
  • Ponavljanje izvedbe, ker so se zahteve spremenile od zadnje izvedbe.
  • Vrnitev na prejšnjo različico komponente, če ste jo zamenjali z novo, vendar z napako.
  • Zamenjava napačne komponente, ker niste mogli natančno določiti, katero komponento naj bi zamenjali.

V mojem blogu na temo Lutka lahko izveste, kako je NYSE s pomočjo upravljanja konfiguracije prihranil milijone dolarjev

Obstajata dva načina upravljanja vaših konfiguracij, in sicer konfiguracije Push in Pull.

  • Konfiguracija vlečenja: V tej vrsti upravljanja konfiguracije vozlišča redno poiščejo centraliziran strežnik za posodobitve. Ta vozlišča so dinamično konfigurirana, tako da v bistvu vlečejo konfiguracije s centraliziranega strežnika. Konfiguracijo vlečenja uporabljajo orodja, kot so kuhar, lutka itd.
  • Potisna konfiguracija: Pri tej vrsti upravljanja konfiguracije centralizirani strežnik potisne konfiguracije na vozlišča. Za razliko od nastavitve vlečenja obstajajo določeni ukazi, ki jih je treba izvesti v centraliziranem strežniku, da lahko konfigurirate vozlišča. Potisno konfiguracijo uporabljajo orodja, kot je Ansible.

Spoznajte različne komponente upravljanja konfiguracije v mojem blogu z vajami za lutke

Zdaj je pravi čas, da vas popeljem naprej v prizadevanju za razumevanje »Kaj je kuhar« z razlago, kako kuhar doseže upravljanje konfiguracije.

Kaj je kuhar - upravljanje konfiguracije s kuharjem

Razumeli smo, kaj je Chef, zdaj pa vam bom razložil, kako Chef doseže upravljanje konfiguracije s primerom uporabe. Gannett je ameriški medijski holding, s katerim se trguje. Je največji ameriški založnik časopisov, merjeno s skupno dnevno naklado.

Za tradicionalni potek uvajanja Gannetta je bilo značilno več predaj in ročnih preskusov. Poglejmo, s katerimi težavami so se soočili v tem procesu:

  • Vzdrževanje natančnih, ponovljivih zgradb je bilo težko.
  • Prišlo je do številnih napak pri gradnji in testi so se pogosto izvajali v napačnih okoljih.
  • Čas uvajanja in zagotavljanja lahko traja od nekaj dni do nekaj tednov.
  • Operacijska skupina ni imela dostopa do oblaka ali razvojnih okolij.
  • Vsaka skupina je uporabljala svoj nabor orodij in ni bilo odgovornosti za financiranje ali varnost. Nihče ni vedel, koliko aplikacija dejansko stane. Varnost ni mogla revidirati skladov programske opreme.

Gannett je bil pripravljen na spremembo. Razvijalci so želeli svoje aplikacije hitro uvesti. Operacije so želele stabilno infrastrukturo, kjer bi lahko gradile in uvajale na ponovljiv način. Finance so želele vedeti resnične stroške prijave. Varnost si je želela ogledati in pregledati vse sklade ter slediti spremembam.

Gannett je videl, da oblak kot storitev ponuja številne prednosti. Razvijalci so imeli dostop do standardiziranih virov. Lažje je bilo obvladovati največji promet zaradi modela računalništva na zahtevo v oblaku, premestitve pa so bile čim manjše.

Chef vam omogoča, da na zahtevo dinamično zagotavljate in onemogočate svojo infrastrukturo, da boste sledili vrhuncem v uporabi in prometu. Omogoča pogostejše uvajanje in posodabljanje novih storitev in funkcij z majhnim tveganjem izpadov. S programom Chef lahko izkoristite vso prilagodljivost in prihranek stroškov, ki jih ponuja oblak.

Poglejmo, kakšne funkcije je opravljal kuhar pri Gannettu:

  • Gannett je začel graditi VPC (Virtual Private Cloud) za razvojno okolje, ki bi posnemalo proizvodnjo. Nobeno orodje, ki so ga že uporabljali, ni bilo primerno. Ugotovili pa so, da je kuhar dobro delal z oblakom ter okoljem Linux in Windows. Z Chefom so ustvarili razvojno okolje, ki se je popolnoma ujemalo s proizvodnim okoljem.
  • Da se je aplikacija preselila v VPC, jo je bilo treba pripraviti in razviti s Chefom.
  • Varnost bi bila vključena že zgodaj in bi upravljala obvezne kontrole dostopa do Chefa in vzdrževanja varnostnih standardov sistema.

Zdaj je čas, da razumemo, kakšni so bili rezultati tega procesa:

datumski tip podatkov v sql
  • Gannettova namestitev je postala hitrejša in zanesljivejša. Zagotavljanje in uvajanje aplikacij, ki je trajalo tedne, po uporabi Chefa je trajalo nekaj minut.
  • Vse nove aplikacije so bile nameščene v oblaku s programom Chef. Te aplikacije so bile razporejene v vsa okolja na enak način kot v proizvodnjo. Tudi testiranje je potekalo v vsakem okolju, tako da so bile razmestitve zanesljive.
  • Vsa infrastruktura je bila obravnavana kot koda, kar močno poveča prepoznavnost morebitnih sprememb. Razvoj, poslovanje, varnost in finance so imeli koristi od tega.

Po Kaj je kuhar ”Moj naslednji blog tj. Vadnica za kuharja se osredotoča na arhitekturo Chefa skupaj z njegovimi komponentami. Pojasnil sem tudi, kako uporabiti Apache2 s pomočjo Chef.

Če ste našli ta spletni dnevnik na Kaj je kuhar 'Ustrezne, preverite Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tečaj Edureka DevOps Certification Training pomaga učencem pridobiti znanje o različnih procesih DevOps in orodjih, kot so Lutka, Jenkins, Nagios in GIT za avtomatizacijo več korakov v SDLC.