Hvad er kok? - Et værktøj, der bruges til konfigurationsstyring



Denne blog på What is Chef er den første blog i Chef-blogserien. Det taler om Configuration Management og hvordan Chef opnår det ved hjælp af en use-case.

Chef er et værktøj, der bruges til Configuration Management og konkurrerer tæt med Marionet . I denne blog vil jeg forklare, hvad der er Chef, Configuration Management, og hvordan Chef opnår Configuration Management med en brugssag.

Hvad er kok?

Chef er et automatiseringsværktøj, der giver en måde at definere infrastruktur som kode. Infrastruktur som kode (IAC) betyder simpelthen at administrere infrastruktur ved at skrive kode (Automatisering af infrastruktur) snarere end ved hjælp af manuelle processer. Det kan også betegnes som programmerbar infrastruktur. Kokken bruger et pure-Ruby, domænespecifikt sprog (DSL) til at skrive systemkonfigurationer. Nedenfor er de typer automatisering udført af Chef, uanset infrastrukturens størrelse:





  • Konfiguration af infrastruktur
  • Applikationsinstallation
  • Konfigurationer styres på tværs af dit netværk

Synes godt om Marionet som har en Master-Slave-arkitektur, selv Chef har en Client-Server-arkitektur. Men Chef har en ekstra komponent kaldet Workstation. Jeg vil tale om arbejdsstation i min næste blog. Se diagrammet nedenfor:

Chef vs Puppet - Hvad er Chef - Edureka



I Chef opdateres noder dynamisk med konfigurationerne i serveren. Dette kaldes Træk konfiguration hvilket betyder, at vi ikke behøver at udføre endnu en enkelt kommando på Chef-serveren for at skubbe konfigurationen på noderne, noder opdateres automatisk selv med de konfigurationer, der findes i Serveren. Min næste blog videre Chef Tutorial vil forklare Chef-arkitekturen sammen med alle Chef-komponenterne i detaljer.

Lad os nu se på grundene bag kokkens popularitet.

Hvad er kok - Chef-nøgletal

  • Chef understøtter flere platforme som AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows og Ubuntu. Yderligere klientplatforme inkluderer Arch Linux, Debian og Fedora.
  • Chef kan integreres med skybaserede platforme som Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure og Rackspace til automatisk klargøring og konfiguration af nye maskiner.
  • Kokken har en aktiv, smart og hurtigt voksende samfundsstøtte.
  • På grund af kokkens modenhed og fleksibilitet bruges den af ​​giganter som Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Tilfredshed, IGN, Marshall University, Socrata, University of Minnesota, Wharton School fra University of Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney og Cheezburger.

Ifølge Phil Dibowitz, produktionsingeniør, Facebook



”Der er tre målestørrelser, vi generelt ser på infrastruktur - antallet af servere, mængden af ​​forskellige konfigurationer på tværs af disse systemer og antallet af personer, der kræves for at opretholde disse konfigurationer. Chef leverede en automatiseringsløsning, der var fleksibel nok til at bøje sig efter vores skaladynamik uden at kræve, at vi ændrede vores arbejdsgang. ”

Uden tvivl er Chef et af de mest berømte Configuration Management-værktøjer og konkurrerer tæt med Marionet . Men inden jeg dykker dybt ned i 'Hvad er kok', er det kun rimeligt, at jeg først forklarer, hvad der er Configuration Management, og hvorfor det er vigtigt.

hvordan fungerer casting i java

Konfigurationsstyring

Bare rolig, der vil ikke være nogen tung definition af Configuration Management i denne blog :)

Lad os forstå Configuration Management på denne måde - antag at du er nødt til at installere en software oven på hundredvis af systemer. Denne software kan være et operativsystem eller en kode, eller det kan være en opdatering af en eksisterende software. Du kan udføre denne opgave manuelt, men hvad sker der, hvis du skal afslutte denne opgave natten over, for i morgen kan det være en Stor milliard dag salg i virksomheden eller noget M eller Salg osv., hvor der forventes stor trafik. Selvom du var i stand til at gøre dette manuelt, er der stor mulighed for flere fejl på din store dag. Hvad hvis den software, du opdaterede på hundredvis af systemer, ikke fungerer, hvordan vender du tilbage til den forrige stabile version, vil du være i stand til at udføre denne opgave manuelt? AF-selvfølgelig ikke!

For at løse dette problem blev Configuration Management introduceret. Ved at bruge konfigurationsstyringsværktøjer som Chef, Puppet osv. Kan du automatisere denne opgave. Alt hvad du skal gøre er at angive konfigurationerne på en central server, og derfor konfigureres alle knudepunkter. Det giver adgang til en nøjagtig historisk oversigt over systemtilstand til projektledelse og revision. Så grundlæggende er vi nødt til at specificere konfigurationerne en gang på den centrale server og replikere det på tusinder af noder. Configuration Management hjælper med at udføre nedenstående opgaver på en meget struktureret og nem måde:

  • Find ud af, hvilke komponenter der skal ændres, når kravene ændres.
  • Gentagelse af en implementering, fordi kravene er ændret siden den sidste implementering.
  • Vender tilbage til en tidligere version af komponenten, hvis du har erstattet med en ny, men mangelfuld version.
  • Udskiftning af den forkerte komponent, fordi du ikke nøjagtigt kunne bestemme, hvilken komponent der skulle udskiftes.

Se min blog på Puppet for at lære, hvordan NYSE sparede millioner af dollars ved hjælp af Configuration Management

Der er stort set to måder at styre dine konfigurationer på, nemlig Push and Pull-konfigurationer.

  • Træk konfiguration: I denne type Configuration Management undersøger noderne regelmæssigt en central server for opdateringer. Disse noder er dynamisk konfigureret, så dybest set trækker de konfigurationer fra den centraliserede server. Pull-konfiguration bruges af værktøjer som Chef, Marionet osv.
  • Push-konfiguration: I denne type Configuration Management skubber den centraliserede server konfigurationerne til noderne. I modsætning til Pull Configuration er der visse kommandoer, der skal udføres på den centraliserede server for at konfigurere noderne. Push-konfiguration bruges af værktøjer som Ansible.

Lær forskellige komponenter i Configuration Management i min Puppet Tutorial Blog

Det er nu det rigtige tidspunkt, hvor jeg tager dig foran i denne søgen efter at forstå “Hvad er kok” ved at forklare, hvordan Chef opnår Configuration Management.

Hvad er kok - Konfigurationsstyring med kok

Vi har forstået, hvad der er Chef, nu vil jeg forklare dig, hvordan Chef opnår Configuration Management med en brugssag. Gannett er et børsnoteret amerikansk medieholdingselskab. Det er den største amerikanske avisudgiver målt ved den samlede daglige omsætning.

forskel mellem hash-kort og hash-tabel

Gannetts traditionelle implementeringsworkflow var præget af flere handoffs og manuelle tests. Lad os se, hvad der var de problemer, de stod over for med denne proces:

  • Det var svært at opretholde nøjagtige, gentagelige bygninger.
  • Der var mange byggefejl, og test kørte ofte i de forkerte miljøer.
  • Implementerings- og klargørelsestider kan variere fra et par dage til flere uger.
  • Operations team havde ikke adgang til skyen eller udviklingsmiljøer.
  • Hver gruppe brugte sit eget værktøjssæt, og der var ingen ansvar for finansiering eller sikkerhed. Ingen vidste, hvor meget en applikation faktisk kostede. Sikkerhed havde ingen måde at revidere softwarestakkene på.

Gannett var klar til forandringen. Udviklere ønskede at implementere deres applikationer hurtigt. Operationer ønskede en stabil infrastruktur, hvor de kunne bygge og implementere på en gentagelig måde. Finans ville vide de sande omkostninger ved en ansøgning. Sikkerhed ønskede at se og revidere alle stakke og være i stand til at spore ændringer.

Gannett så, at skyen som en tjeneste gav mange fordele. Udviklere havde adgang til standardiserede ressourcer. Det var lettere at håndtere spidsbelastet trafik på grund af skyens beregningsmodel, og handoffs blev minimeret.

Chef giver dig mulighed for dynamisk at tilvejebringe og afinstallere din infrastruktur efter behov for at holde trit med toppe i brug og trafik. Det gør det muligt at distribuere og opdatere nye tjenester og funktioner oftere med lille risiko for nedetid. Med Chef kan du drage fordel af al den fleksibilitet og omkostningsbesparelser, cloud tilbyder.

hvordan man konverterer strengdato til dato i java

Lad os se, hvad var funktionerne udført af Chef hos Gannett:

  • Gannett begyndte at opbygge VPC (Virtual Private Cloud) til udviklingsmiljø, der ville efterligne produktionen. Ingen af ​​de værktøjer, de allerede brugte, var passende. Men de fandt ud af, at Chef fungerede godt med skyen og både Linux- og Windows-miljøet. De brugte Chef til at opbygge et udviklingsmiljø, der passer perfekt til produktionsmiljøet.
  • For at en applikation kunne flytte ind i VPC, måtte den klargøres og implementeres med Chef.
  • Sikkerhed ville blive involveret tidligt og ville styre de obligatoriske kontroller for adgang til Chef og for opretholdelse af systemsikkerhedsstandarder.

Nu er tiden inde til at forstå, hvad der var resultaterne af denne proces:

  • Gannetts implementering blev hurtigere og mere pålidelig. Applikationsklargøring og -installation, som en gang tog uger, efter brug af Chef tog det minutter.
  • Alle nye applikationer blev implementeret i skyen med Chef. Disse applikationer blev implementeret i alle miljøer på samme måde som de blev implementeret til produktion. Der opstod også test i hvert miljø, så implementeringerne var pålidelige.
  • Al infrastruktur blev behandlet som kode, hvilket i høj grad øger synligheden af ​​eventuelle ændringer, der opstod. Udvikling, drift, sikkerhed og finans blev alle draget fordel af dette.

Efter ' Hvad er kok ”Min næste blog dvs. Chef Tutorial fokuserer på kokkens arkitektur sammen med dens komponenter. Jeg har også forklaret, hvordan man implementerer Apache2 ved hjælp af Chef.

Hvis du fandt denne blog på “ Hvad er kok ”Relevant, tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edureka DevOps-certificeringstræningskurset hjælper elever med at få ekspertise i forskellige DevOps-processer og -værktøjer såsom Puppet, Jenkins, Nagios og GIT til automatisering af flere trin i SDLC.