Vad är kock? - Ett verktyg som används för konfigurationshantering



Denna blogg på What is Chef är den första bloggen i Chef-bloggserien. Det talar om Configuration Management och hur Chef uppnår det med hjälp av ett användningsfall.

Chef är ett verktyg som används för Configuration Management och konkurrerar nära med Marionett . I den här bloggen kommer jag att förklara Vad är Chef, Configuration Management och hur Chef uppnår Configuration Management med ett användningsfall.

Vad är kock?

Chef är ett automatiseringsverktyg som ger ett sätt att definiera infrastruktur som kod. Infrastruktur som kod (IAC) betyder helt enkelt att hantera infrastruktur genom att skriva kod (Automatisera infrastruktur) snarare än att använda manuella processer. Det kan också kallas programmerbar infrastruktur. Chef använder ett pure-Ruby, domänspecifikt språk (DSL) för att skriva systemkonfigurationer. Nedan visas de typer av automatisering som görs av Chef, oavsett infrastrukturens storlek:





  • Konfiguration av infrastruktur
  • Applikationsdistribution
  • Konfigurationer hanteras i ditt nätverk

Tycka om Marionett som har en Master-Slave-arkitektur till och med Chef har en Client-Server-arkitektur. Men Chef har en extra komponent som heter Workstation. Jag kommer att prata om arbetsstationen i min nästa blogg. Se diagrammet nedan:

Chef vs Puppet - What Is Chef - Edureka



I Chef uppdateras noder dynamiskt med konfigurationerna i servern. Det här kallas Dra konfiguration vilket innebär att vi inte behöver utföra ens ett kommando på Chef-servern för att driva konfigurationen på noderna, noder uppdateras automatiskt med konfigurationerna som finns i servern. Min nästa blogg på Kökshandledning kommer att förklara Chef-arkitekturen tillsammans med alla Chef-komponenterna i detalj.

Låt oss nu titta på orsakerna bakom kockens popularitet.

Vad är kock - Kockens viktigaste mått

  • Chef stöder flera plattformar som AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows och Ubuntu. Ytterligare klientplattformar inkluderar Arch Linux, Debian och Fedora.
  • Chef kan integreras med molnbaserade plattformar som Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure och Rackspace för att automatiskt tillhandahålla och konfigurera nya maskiner.
  • Chef har ett aktivt, smart och snabbt växande community-stöd.
  • På grund av kockens mognad och flexibilitet används den av giganter som Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Nöjdhet, IGN, Marshall University, Socrata, University of Minnesota, Wharton School vid University of Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney och Cheezburger.

Enligt Phil Dibowitz, produktionsingenjör, Facebook



”Det finns tre skalningsdimensioner som vi brukar titta på för infrastruktur - antalet servrar, volymen för olika konfigurationer över dessa system och antalet personer som krävs för att underhålla dessa konfigurationer. Chef tillhandahöll en automatiseringslösning som är tillräckligt flexibel för att böja sig till vår skaldynamik utan att vi behöver ändra vårt arbetsflöde. ”

Utan tvekan är Chef ett av de mest kända konfigurationshanteringsverktygen och konkurrerar tätt med Marionett . Men innan jag dyker djupt in i 'What is Chef' är det bara rättvist att jag först förklarar vad som är Configuration Management och varför det är viktigt.

Konfigurationshantering

Oroa dig inte, det kommer inte att finnas någon tung definition av Configuration Management i den här bloggen :)

Låt oss förstå Configuration Management på detta sätt - antar att du måste distribuera en programvara ovanpå hundratals system. Denna programvara kan vara ett operativsystem eller en kod eller det kan vara en uppdatering av en befintlig programvara. Du kan göra den här uppgiften manuellt, men vad händer om du måste slutföra den här uppgiften över natten för att imorgon kan vara en Big Million Day försäljning i företaget eller något M eller Försäljning etc. där tung trafik förväntas. Även om du kunde göra detta manuellt finns det stor risk för flera fel på din stora dag. Vad händer om programvaran du uppdaterade på hundratals system inte fungerar, hur kommer du då att återgå till den tidigare stabila versionen, kommer du att kunna göra den här uppgiften manuellt? AF-naturligtvis inte!

t SQL datumdatatyp

För att lösa detta problem introducerades Configuration Management. Genom att använda Configuration Management-verktyg som Chef, Puppet, etc. kan du automatisera denna uppgift. Allt du behöver göra är att specificera konfigurationerna i en central server och följaktligen kommer alla noder att konfigureras. Det ger tillgång till en exakt historisk dokumentation av systemtillståndet för projektledning och revision. Så i grund och botten måste vi ange konfigurationerna en gång på centralservern och replikera det på tusentals noder. Configuration Management hjälper till att utföra nedanstående uppgifter på ett mycket strukturerat och enkelt sätt:

  • Ta reda på vilka komponenter som ska ändras när kraven ändras.
  • Gör om en implementering eftersom kraven har ändrats sedan den senaste implementeringen.
  • Återgår till en tidigare version av komponenten om du har ersatt den med en ny men felaktig version.
  • Byta ut fel komponent eftersom du inte kunde exakt bestämma vilken komponent som skulle bytas ut.

Se min blogg på Puppet för att lära dig hur NYSE sparade miljontals dollar med hjälp av Configuration Management

Det finns i stort sett två sätt att hantera dina konfigurationer, nämligen Push and Pull-konfigurationer.

  • Dragkonfiguration: I den här typen av konfigurationshantering undersöker noderna en centraliserad server regelbundet för uppdateringar. Dessa noder är dynamiskt konfigurerade så i princip drar de konfigurationer från den centraliserade servern. Pull-konfiguration används av verktyg som Chef, Puppet etc.
  • Push-konfiguration: I den här typen av konfigurationshantering skjuter den centraliserade servern konfigurationerna till noderna. Till skillnad från Pull Configuration finns det vissa kommandon som måste köras i den centraliserade servern för att konfigurera noderna. Push-konfiguration används av verktyg som Ansible.

Lär dig olika komponenter i Configuration Management i min Puppet Tutorial Blog

Nu är det rätt tid jag tar dig framåt i denna strävan att förstå ”Vad är kock” genom att förklara hur kocken uppnår konfigurationshantering.

Vad är kock - Konfigurationshantering med kock

Vi har förstått vad som är Chef, nu kommer jag att förklara hur Chef uppnår Configuration Management med ett användningsfall. Gannett är ett börsnoterat amerikanskt mediaholdingsbolag. Det är den största amerikanska tidningsutgivaren mätt genom total daglig cirkulation.

Gannetts traditionella arbetsflöde för distribution kännetecknades av flera handoffs och manuella tester. Låt oss se vilka problem de stod inför med denna process:

  • Det var svårt att bibehålla korrekta, repeterbara byggnader.
  • Det fanns många byggfel och tester kördes ofta i fel miljö.
  • Distributionstider och distributionstider kan variera från några dagar till flera veckor.
  • Operationsgruppen hade inte tillgång till molnet eller utvecklingsmiljöerna.
  • Varje grupp använde sin egen uppsättning verktyg, och det fanns ingen ansvarsskyldighet för finansiering eller säkerhet. Ingen visste hur mycket en ansökan faktiskt kostade. Säkerhet hade inget sätt att granska programvarustackarna.

Gannett var redo för förändringen. Utvecklare ville distribuera sina applikationer snabbt. Verksamheten ville ha en stabil infrastruktur där de kunde bygga och distribuera på ett repeterbart sätt. Finans ville veta den verkliga kostnaden för en ansökan. Säkerhet ville se och granska alla stackar och kunna spåra förändringar.

Gannett såg att molnet som en tjänst gav många fördelar. Utvecklare hade tillgång till standardiserade resurser. Det var lättare att hantera topptrafik på grund av molnets beräkningsmodell och handoffs minimerades.

Chef låter dig dynamiskt tillhandahålla och avinstallera din infrastruktur på begäran för att hålla jämna steg med användning och trafik. Det gör att nya tjänster och funktioner kan distribueras och uppdateras oftare, med liten risk för stillestånd. Med Chef kan du dra nytta av all flexibilitet och kostnadsbesparing som molnet erbjuder.

Låt oss se vilka funktioner som utfördes av Chef på Gannett:

  • Gannett började bygga VPC (Virtual Private Cloud) för utvecklingsmiljö som skulle efterlikna produktionen. Inget av de verktyg som de redan använde var lämpliga. Men de fann att Chef fungerade bra med molnet och både Linux- och Windows-miljön. De använde Chef för att bygga en utvecklingsmiljö som perfekt matchade produktionsmiljön.
  • För att en applikation skulle kunna flytta in i VPC, måste den tillhandahållas och distribueras med Chef.
  • Säkerhet skulle involveras tidigt och skulle hantera de obligatoriska kontrollerna för åtkomst till Chef och för att upprätthålla systemets säkerhetsstandarder.

Nu är det dags att förstå vad resultatet av denna process var:

  • Gannetts utplacering blev snabbare och mer tillförlitlig. Tillhandahållande och distribution av applikationer, som en gång tog veckor, efter att ha använt Chef tog det minuter.
  • Alla nya applikationer distribuerades i molnet med Chef. Dessa applikationer distribuerades till alla miljöer på samma sätt som de distribuerades till produktion. Testning inträffade också i varje miljö, så att implementeringarna var tillförlitliga.
  • All infrastruktur behandlades som kod, vilket avsevärt ökar synligheten för alla förändringar som inträffat. Utveckling, drift, säkerhet och ekonomi fick alla nytta av detta.

Efter ' Vad är kock ”Min nästa blogg d.v.s. Kökshandledning fokuserar på Chefs arkitektur tillsammans med dess komponenter. Jag har också förklarat hur man distribuerar Apache2 med Chef.

hur man gör länkad lista i c

Om du hittade den här bloggen på “ Vad är kock ' relevant, kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka DevOps Certification Training-kursen hjälper eleverna att få expertis inom olika DevOps-processer och verktyg som Puppet, Jenkins, Nagios och GIT för att automatisera flera steg i SDLC.