Vad är Puppet? - Konfigurationshantering med marionett



What is Puppet är den första bloggen i Puppet-bloggserien. Det förklarar behovet av Puppet & Configuration Management med ett användningsfall.

Idag är Puppet det mest mogna verktyget för Configuration Management. Men jag vet att du måste undra varför är Puppet så populär och vad som gör den unik jämfört med andra konfigurationshanteringsverktyg.I den här 'Vad är marionett' -bloggen kommer jag att svara på dessa frågor för dig och hjälpa dig att gå vägen till .

Vad är docka?

Puppet är ett konfigurationshanteringsverktyg som används för att distribuera, konfigurera och hantera servrar. Den utför följande funktioner:





javascript få längden på matrisen
  • Definiera olika konfigurationer för varje värd och kontinuerligt kontrollera och bekräfta om den önskade konfigurationen är på plats och inte ändras (om ändrad Puppet återgår till önskad konfiguration) på värden.
  • Dynamisk uppskalning och nedskalning av maskiner.
  • Att ge kontroll över alla dina konfigurerade maskiner, så en centraliserad (master-server eller repo-baserad) förändring sprids automatiskt till alla.

Puppet använder en Master Slave-arkitektur där Master och Slave kommunicerar via en säker krypterad kanal med hjälp av SSL. Dockarkitektur förklaras i detalj i min Puppet Tutorial Blogg.

Kolla in den här videon på Puppet för bättre förståelse.



Vad är Puppet? | DevOps-utbildning | Edureka

Nu när du vet vad som är Puppet, låt oss förstå orsakerna till Puppets popularitet.

Vad är docka - nyckeltal

Nedan följer några fakta om Puppet:



  • Stor installerad bas: Puppet används av mer än 30 000 företag över hela världen inklusive Google, Red Hat, Siemens, etc. tillsammans med flera universitet som Stanford och Harvard Law School. I genomsnitt 22 nya organisationer per dag använder Puppet för första gången.
  • Stor utvecklarbas: Docka används så ofta att många människor utvecklas för den. Puppet har många bidrag till sin källkod.
  • Lång kommersiell meritlista: Puppet har varit i kommersiellt bruk sedan 2005 och har kontinuerligt förfinats och förbättrats. Den har distribuerats i mycket stora infrastrukturer (5000+ maskiner) och prestations- och skalbarhetslektionerna från dessa projekt har bidragit till Puppets utveckling.
  • Dokumentation: Puppet har en stor användarunderhålld wiki med hundratals sidor med dokumentation och omfattande referenser för både språket och dess resurstyper. Dessutom diskuteras den aktivt i flera e-postlistor och har en mycket populär IRC-kanal, så oavsett ditt Puppet-problem är det lätt att hitta svaret.
  • Plattformsstöd: Puppet Server kan köras på vilken plattform som helst som stöder ruby ​​för ex: CentOS, Microsoft Windows Server, Oracle Enterprise Linux etc. Den stöder inte bara de nya operativsystemen utan kan också köras på relativt gamla och inaktuella OS- och Ruby-versioner också.

Det är nu uppenbart att Puppet har enorm efterfrågan globalt. Men innan jag dyker djupt in i Puppet är det bara rättvist att jag först förklarar vad som är Configuration Management och varför det är viktigt.

Konfigurationshantering

Systemadministratörer utför vanligtvis upprepade uppgifter som att installera servrar, konfigurera dessa servrar etc. De kan automatisera den här uppgiften genom att skriva skript, men det är ett mycket hektiskt jobb när du arbetar med en stor infrastruktur.

För att lösa det här problemet, Konfigurationshantering introducerades. Konfigurationshantering är praxis att hantera förändringar systematiskt så att ett system bibehåller sin integritet över tiden. Configuration Management (CM) säkerställer att systemets nuvarande design och konstruktion är känt, bra och pålitligt och inte förlitar sig på utvecklingsgruppens tysta kunskap. Det ger tillgång till en exakt historisk register över systemtillstånd för projektledning och revision. Konfigurationshantering övervann följande utmaningar:

  • 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å 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 behövdes bytas ut.

Låt oss förstå dess betydelse genom ett användningsfall.

Det bästa exemplet jag känner till är New York Stock Exchange (NYSE). En ”programfel” hindrade NYSE från att handla aktier i nästan 90 minuter. Detta ledde till miljontals dollar i förlust. En ny programvaruinstallation orsakade problemet. Programvaran installerades på åtta av sina 20 handelsterminaler och systemet testades ut kvällen innan. Men på morgonen misslyckades den att fungera ordentligt på de 8 terminalerna. Så det fanns ett behov av att byta tillbaka till den gamla programvaran. Du kanske tror att detta var ett misslyckande i NYSE: s Configuration Management-process, men i verkligheten var det en framgång. Som ett resultat av en korrekt konfigurationshanteringsprocess återhämtade sig NYSE från den situationen på 90 minuter vilket var ganska snabbt. Om problemet kvarstod längre hade konsekvenserna blivit allvarligare.

Konfigurationshantering på NYSE - Vad är Puppet - Edureka

för loopprogram i java

Nu hoppas jag att du vet vikten av Configuration Management. Konfigurationshanteringsfasen kan betraktas som ryggraden i DevOps. Det möjliggör frekventare programversioner på ett säkrast och mest tillförlitliga sätt.

Låt oss sedan se några applikationer av Puppet.

Vad är docka - tillämpningar av marionett

Låt oss förstå tillämpningarna av Puppet med hjälp av en fallstudie. Om du är en pokerentusiast eller om du någonsin har spelat onlinespel måste du ha hört talas om Zynga. Det är världens största sociala spelutvecklare. Zyngas infrastruktur använder tiotusentals servrar i både offentliga moln och privata datacenter. Tidigt använde de en manuell process, inklusive kickstartare och postinstallationer för att få hundratals servrar online.

Nu får vi se vilka problem de möter med den här processen:

  • Skalbarhet och konsistens - Zynga upplevde fenomenal tillväxt och dess infrastruktur behövdes för att hålla jämna steg med branschen. Manusbaserade lösningar och manuella metoder var inte tillräckliga för deras behov.
  • Bärbar infrastruktur - Zynga behövde ett sätt att utnyttja en konsekvent konfigurationshanteringsmetod i både deras offentliga molninfrastruktur och sina egna datacenter.
  • Flexibilitet - Med tanke på mångfalden av de olika Zynga-spelegenskaperna var det viktigt för teamet att snabbt kunna matcha rätt konfiguration för rätt maskin.
  • Infrastrukturinsikter - När organisationen mognade blev det viktigare att ha en automatiserad metod för att visualisera egenskaperna för varje maskin.

Företaget var tillräckligt smart för att snabbt inse behovet av en automatiserad process redan innan de träffade snabb skalning, det var då Puppet kom in i bilden. Låt oss förstå hur Puppet bidrar till deras organisation.

  • Återhämtningshastighet - Produktionsdriftsteamet kan snabbt distribuera rätt konfiguration till rätt ruta. Om ett system blir felaktigt omkonfigurerat kommer Puppet automatiskt att återställa det till en sista stall stat,eller ge de uppgifter som är nödvändiga för att manuellt åtgärda ett system snabbt.
  • Driftsättningshastighet - Puppet har gett betydande tidsbesparingar i hur driftsteamet levererar tjänster till spelstudiorna.
  • Servers konsekvens - Puppets modellstyrda ramverk säkerställer konsekventa distributioner. Enligt Mark Stockford, Vice President Production Operations , Zynga ”Det är uppenbart att vi har upplevt tidsbesparingar. Det fina med att använda Puppet är att det gör att vi kan leverera konsekventa konfigurationer över våra servrar under en kort period varje gång. ”
  • Samarbete - Att ha en modelldriven strategi gör det enkelt att dela konfigurationer över hela organisationen, vilket gör det möjligt för utvecklare och driftsteam att arbeta tillsammans för att säkerställa att ny tjänsteleverans är av extremt hög kvalitet. Över ett dussin personer från Zyngas team fick utbildning i Puppet.Denna kunskap har spridits i hela laget och till driftsteamen inom varje enskild spelstudio.

Efter What is Puppet-bloggen , klicka här för att besöka min nästa blogg om Puppet Tutorial som inkluderar Puppet-arkitektur och komponenter i Puppet. Jag kommer också att förklara steg för att distribuera MySQL och PHP med Puppet. Puppet är det mest använda verktyget för att uppnå DevOps i organisationer med stor infrastruktur.

java skillnad mellan redskap och förlängningar

Om du hittade det här blogga på “ Vad är Puppet ' relevant, kolla in av Edureka, ett pålitligt inlärningsföretag online 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.