Hva er kokk? - Et verktøy som brukes til konfigurasjonsadministrasjon



Denne bloggen på What is Chef er den første bloggen i Chef-bloggserien. Den snakker om Configuration Management og hvordan Chef oppnår det ved å bruke en case.

Chef er et verktøy som brukes til Configuration Management og konkurrerer tett med Marionett . I denne bloggen vil jeg forklare Hva er Chef, Configuration Management og hvordan Chef oppnår Configuration Management med en use-case.

Hva er kokk?

Chef er et automatiseringsverktøy som gir en måte å definere infrastruktur som kode. Infrastruktur som kode (IAC) betyr ganske enkelt at administrasjon av infrastruktur ved å skrive kode (Automatisering av infrastruktur) i stedet for å bruke manuelle prosesser. Det kan også betegnes som programmerbar infrastruktur. Chef bruker et pure-Ruby, domain-specific language (DSL) for å skrive systemkonfigurasjoner. Nedenfor er typene automatisering utført av Chef, uavhengig av størrelsen på infrastrukturen:





  • Konfigurasjon av infrastruktur
  • Søknad distribusjon
  • Konfigurasjoner administreres på tvers av nettverket ditt

Som Marionett som har en Master-Slave-arkitektur, til og med Chef har en Client-Server-arkitektur. Men Chef har en ekstra komponent som heter Workstation. Jeg skal snakke om arbeidsstasjonen i neste blogg. Se diagrammet nedenfor:

Chef vs Puppet - What Is Chef - Edureka



I Chef oppdateres nodene dynamisk med konfigurasjonene i serveren. Dette kalles Trekk konfigurasjon som betyr at vi ikke trenger å utføre en eneste kommando på Chef-serveren for å presse konfigurasjonen på nodene, noder vil automatisk oppdatere seg med konfigurasjonene som er tilstede i Serveren. Min neste blogg på Kokkopplæring vil forklare Chef-arkitekturen sammen med alle Chef-komponentene i detalj.

La oss nå se på årsakene bak kokkens popularitet.

Hva er Chef - Chef Key Metrics

  • Chef støtter flere plattformer som AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows og Ubuntu. Ytterligere klientplattformer inkluderer Arch Linux, Debian og Fedora.
  • Chef kan integreres med skybaserte plattformer som Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure og Rackspace for automatisk å klargjøre og konfigurere nye maskiner.
  • Chef har en aktiv, smart og raskt voksende støtte fra samfunnet.
  • På grunn av kokkens modenhet og fleksibilitet blir den brukt av giganter som Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Tilfredshet, IGN, Marshall University, Socrata, University of Minnesota, Wharton School fra University of Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney og Cheezburger.

I følge Phil Dibowitz, produksjonsingeniør, Facebook



“Det er tre målestørrelser vi generelt ser på for infrastruktur - antall servere, volumet av forskjellige konfigurasjoner på tvers av disse systemene, og antall personer som kreves for å opprettholde disse konfigurasjonene. Chef ga en automatiseringsløsning som var fleksibel nok til å bøye seg til vår skala dynamikk uten at vi måtte endre arbeidsflyten. ”

Uten tvil er Chef et av de mest berømte Configuration Management-verktøyene og konkurrerer tett med Marionett . Men før du dykker dypt inn i 'Hva er kokk', er det bare rettferdig at jeg først forklarer hva som er Configuration Management og hvorfor det er viktig.

Konfigurasjonsstyring

Ikke bekymre deg, det vil ikke være noen tung definisjon av Configuration Management i denne bloggen :)

La oss forstå Configuration Management på denne måten - antar at du må distribuere en programvare på toppen av hundrevis av systemer. Denne programvaren kan være et operativsystem eller en kode, eller det kan være en oppdatering av en eksisterende programvare. Du kan gjøre denne oppgaven manuelt, men hva skjer hvis du må fullføre denne oppgaven over natten fordi i morgen kan det være en Stor milliarddag salg i selskapet eller noe M eller Salg etc. der det forventes tung trafikk. Selv om du var i stand til å gjøre dette manuelt, er det stor mulighet for flere feil på den store dagen. Hva om programvaren du oppdaterte på hundrevis av systemer ikke fungerer, hvordan vil du da gå tilbake til forrige stabile versjon, vil du kunne gjøre denne oppgaven manuelt? AF-selvfølgelig ikke!

For å løse dette problemet ble Configuration Management introdusert. Ved å bruke Configuration Management-verktøy som Chef, Puppet, etc. kan du automatisere denne oppgaven. Alt du trenger å gjøre er å spesifisere konfigurasjonene i en sentralisert server, og følgelig blir alle nodene konfigurert. Det gir tilgang til en nøyaktig historisk oversikt over systemtilstanden for prosjektledelse og revisjonsformål. Så i utgangspunktet må vi spesifisere konfigurasjonene en gang på den sentrale serveren og replikere det på tusenvis av noder. Configuration Management hjelper deg med å utføre oppgavene nedenfor på en veldig strukturert og enkel måte:

  • Å finne ut hvilke komponenter som skal endres når kravene endres.
  • Gjør om en implementering fordi kravene har endret seg siden forrige implementering.
  • Tilbake til en tidligere versjon av komponenten hvis du har byttet ut med en ny, men feil versjon.
  • Bytte ut feil komponent fordi du ikke kunne bestemme nøyaktig hvilken komponent som skulle byttes ut.

Se bloggen min på Puppet for å lære hvordan NYSE sparte millioner av dollar ved hjelp av Configuration Management

Det er stort sett to måter å administrere konfigurasjonene på, nemlig Push and Pull-konfigurasjoner.

  • Trekkonfigurasjon: I denne typen konfigurasjonsadministrasjon undersøker nodene en sentralisert server med jevne mellomrom for oppdateringer. Disse nodene er dynamisk konfigurert, så i utgangspunktet trekker de konfigurasjoner fra den sentraliserte serveren. Pull konfigurasjon brukes av verktøy som Chef, Puppet etc.
  • Push-konfigurasjon: I denne typen konfigurasjonsadministrasjon skyver den sentraliserte serveren konfigurasjonene til nodene. I motsetning til Pull Configuration er det visse kommandoer som må utføres på den sentraliserte serveren for å konfigurere nodene. Push Configuration brukes av verktøy som Ansible.

Lær ulike komponenter i Configuration Management i Puppet Tutorial Blog

Nå er det riktig tidspunkt jeg tar deg videre i denne søken etter å forstå 'Hva er kokk' ved å forklare hvordan kokk oppnår konfigurasjonsadministrasjon.

Hva er kokk - konfigurasjonsledelse med kokk

Vi har forstått hva som er Chef, nå vil jeg forklare deg hvordan Chef oppnår Configuration Management med en use-case. Gannett er et børsnotert amerikansk medieholdingselskap. Det er den største amerikanske avisutgiveren målt ved total daglig sirkulasjon.

Gannetts tradisjonelle arbeidsflyt for distribusjon var preget av flere overleveringer og manuelle tester. La oss se hva som var problemene de møtte med denne prosessen:

  • Det var vanskelig å opprettholde nøyaktige, repeterbare bygninger.
  • Det var mange byggfeil, og tester kjørte ofte i feil miljøer.
  • Distribusjon og klargjøringstid kan variere fra noen dager til flere uker.
  • Operasjonsteamet hadde ikke tilgang til skyen eller utviklingsmiljøene.
  • Hver gruppe brukte sitt eget verktøysett, og det var ingen ansvar for å finansiere eller sikkerhet. Ingen visste hvor mye en applikasjon faktisk kostet. Sikkerhet hadde ingen måte å revidere programvarestakkene.

Gannett var klar for forandringen. Utviklere ønsket å distribuere applikasjonene sine raskt. Operasjoner ønsket en stabil infrastruktur der de kunne bygge og distribuere på en repeterbar måte. Finans ønsket å vite de sanne kostnadene ved en søknad. Sikkerhet ønsket å se og revidere alle stabler og å kunne spore endringer.

Gannett så at skyen som en tjeneste ga mange fordeler. Utviklere hadde tilgang til standardiserte ressurser. Det var lettere å håndtere topp trafikk på grunn av skyens beregningsmodell, og handoffs ble minimert.

Chef lar deg dynamisk klargjøre og avbestille infrastrukturen din etter behov for å holde tritt med toppene i bruk og trafikk. Det gjør at nye tjenester og funksjoner kan distribueres og oppdateres oftere, med liten risiko for nedetid. Med Chef kan du dra nytte av all fleksibiliteten og kostnadsbesparelsene cloud tilbyr.

La oss se hva som var funksjonene utført av Chef på Gannett:

flette sorter c ++ kildekode
  • Gannett begynte å bygge VPC (Virtual Private Cloud) for utviklingsmiljø som ville etterligne produksjonen. Ingen av verktøyene de allerede brukte, var passende. Men de fant ut at Chef fungerte bra med skyen og både Linux- og Windows-miljøet. De brukte Chef til å bygge et utviklingsmiljø som perfekt samsvarte med produksjonsmiljøet.
  • For at et program skulle gå inn i VPC, måtte det klargjøres og distribueres med Chef.
  • Sikkerhet ville være involvert tidlig og ville håndtere de obligatoriske kontrollene for tilgang til Chef og for å opprettholde systemets sikkerhetsstandarder.

Nå er det på tide å forstå hva som var resultatene av denne prosessen:

  • Gannetts distribusjon ble raskere og mer pålitelig. Applikasjonsklarering og distribusjon, som en gang tok uker, etter bruk av Chef tok det minutter.
  • Alle nye applikasjoner ble distribuert på skyen med Chef. Disse applikasjonene ble distribuert til alle miljøer på samme måte som de ble distribuert til produksjon. Testing skjedde også i hvert miljø, slik at distribusjonene var pålitelige.
  • All infrastruktur ble behandlet som kode, noe som i stor grad øker synligheten for eventuelle endringer som skjedde. Utvikling, drift, sikkerhet og økonomi ble alle dratt nytte av dette.

Etter ' Hva er kokk ”Min neste blogg, dvs. Kokkopplæring fokuserer på arkitekturen til Chef sammen med komponentene. Jeg har også forklart hvordan du distribuerer Apache2 ved hjelp av Chef.

Hvis du fant denne bloggen på “ Hva er kokk ' relevant, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edureka DevOps Certification Training-kurset hjelper elever å få ekspertise i forskjellige DevOps-prosesser og verktøy som Puppet, Jenkins, Nagios og GIT for å automatisere flere trinn i SDLC.