Wat is Puppet? - Configuratiebeheer met behulp van Puppet



What is Puppet is de eerste blog van de Puppet-blogserie. Het verklaart de noodzaak van Puppet & Configuration Management met een use-case.

Tegenwoordig is Puppet de meest volwassen tool voor configuratiebeheer. Maar ik weet dat u zich vast moet afvragen waarom Puppet zo populair is en wat het uniek maakt in vergelijking met andere hulpprogramma's voor configuratiebeheer.In deze “What is Puppet” blog zal ik deze vragen voor je beantwoorden en je helpen het pad te bewandelen .

Wat is marionet?

Puppet is een hulpprogramma voor configuratiebeheer dat wordt gebruikt voor het implementeren, configureren en beheren van servers. Het voert de volgende functies uit:





Java-programma om palindroom te controleren
  • Het definiëren van verschillende configuraties voor elke host, en het continu controleren en bevestigen of de vereiste configuratie aanwezig is en niet wordt gewijzigd (indien gewijzigd zal Puppet terugkeren naar de vereiste configuratie) op de host.
  • Dynamisch opschalen en verkleinen van machines.
  • Controle over al uw geconfigureerde machines, zodat een gecentraliseerde (master-server of repo-gebaseerde) wijziging automatisch naar iedereen wordt doorgegeven.

Puppet gebruikt een Master Slave-architectuur waarin de Master en Slave communiceren via een beveiligd gecodeerd kanaal met behulp van SSL. Puppet-architectuur wordt in detail uitgelegd in mijn Puppet-zelfstudie Blog.

Bekijk deze video over Puppet voor een beter begrip.



Wat is Puppet? | DevOps-training | Edureka

Nu u weet wat Puppet is, kunnen we de redenen achter de populariteit van Puppet begrijpen.

Wat is Puppet - Key Metrics

Hieronder staan ​​enkele feiten over Puppet:



  • Grote geïnstalleerde basis: Puppet wordt gebruikt door meer dan 30.000 bedrijven over de hele wereld, waaronder Google, Red Hat, Siemens, etc. samen met verschillende universiteiten zoals Stanford en Harvard Law School. Gemiddeld gebruiken 22 nieuwe organisaties per dag Puppet voor het eerst.
  • Groot aantal ontwikkelaars: Puppet wordt zo veel gebruikt dat veel mensen zich ervoor ontwikkelen. Puppet heeft veel bijdragers aan de kernbroncode.
  • Lange commerciële trackrecord: Puppet wordt sinds 2005 commercieel gebruikt en wordt voortdurend verfijnd en verbeterd. Het is ingezet in zeer grote infrastructuren (5.000+ machines) en de lessen op het gebied van prestaties en schaalbaarheid die uit deze projecten zijn geleerd, hebben bijgedragen aan de ontwikkeling van Puppet.
  • Documentatie: Puppet heeft een grote, door de gebruiker onderhouden wiki met honderden pagina's documentatie en uitgebreide referenties voor zowel de taal als de typen bronnen. Bovendien wordt het actief besproken op verschillende mailinglijsten en heeft het een erg populair IRC-kanaal, dus wat je Puppet-probleem ook is, het is gemakkelijk om het antwoord te vinden.
  • Platform ondersteuning: Puppet Server kan draaien op elk platform dat ruby ​​ondersteunt, bijvoorbeeld: CentOS, Microsoft Windows Server, Oracle Enterprise Linux etc. Het ondersteunt niet alleen de nieuwe besturingssystemen, maar het kan ook draaien op relatief oude en verouderde OS- en Ruby-versies ook.

Het is nu duidelijk dat Puppet wereldwijd een enorme vraag heeft. Maar voordat ik diep in Puppet duik, is het niet meer dan redelijk dat ik eerst uitleg wat configuratiebeheer is en waarom het belangrijk is.

Configuratiebeheer

Systeembeheerders voeren gewoonlijk repetitieve taken uit, zoals het installeren van servers, het configureren van die servers, enz. Ze kunnen deze taak automatiseren door scripts te schrijven, maar het is een erg hectische job als je aan een grote infrastructuur werkt.

Om dit probleem op te lossen, Configuratiebeheer werd geïntroduceerd. Configuratiebeheer is het systematisch afhandelen van veranderingen, zodat een systeem zijn integriteit in de loop van de tijd behoudt. Configuration Management (CM) zorgt ervoor dat de huidige ontwerp- en bouwstatus van het systeem bekend, goed en vertrouwd is en niet afhankelijk is van de stilzwijgende kennis van het ontwikkelteam. Het biedt toegang tot een nauwkeurig historisch record van de systeemstatus voor projectbeheer en auditdoeleinden. Configuratiebeheer overwon de volgende uitdagingen:

  • Uitzoeken welke componenten moeten worden gewijzigd als de vereisten veranderen.
  • Een implementatie opnieuw uitvoeren omdat de vereisten zijn gewijzigd sinds de laatste implementatie.
  • Terugkeren naar een eerdere versie van de component als u deze hebt vervangen door een nieuwe maar gebrekkige versie.
  • Het verkeerde onderdeel vervangen omdat u niet nauwkeurig kon bepalen welk onderdeel moest worden vervangen.

Laten we het belang ervan begrijpen door middel van een use-case.

Het beste voorbeeld dat ik ken, is van de New York Stock Exchange (NYSE). Door een softwareprobleem kon de NYSE bijna 90 minuten niet in aandelen handelen. Dit leidde tot miljoenen dollars verlies. Een nieuwe software-installatie veroorzaakte het probleem. Die software is op 8 van de 20 handelsterminals geïnstalleerd en het systeem is de avond ervoor uitgetest. Maar 's ochtends werkte het niet goed op de 8 terminals. Er was dus behoefte om terug te schakelen naar de oude software. Je zou kunnen denken dat dit een mislukking was van het configuratiebeheerproces van NYSE, maar in werkelijkheid was het een succes. Als resultaat van een goed configuratiebeheerproces, herstelde NYSE van die situatie in 90 minuten, wat behoorlijk snel was. Als het probleem langer had geduurd, zouden de gevolgen ernstiger zijn geweest.

Configuratiebeheer bij NYSE - Wat is Puppet - Edureka

tableau dat twee gegevensbronnen combineert

Nu hoop ik dat u het belang van configuratiemanagement kent. De fase van configuratiemanagement kan worden beschouwd als de ruggengraat van DevOps. Het maakt frequentere softwarereleases op de veiligste en meest betrouwbare manier mogelijk.

fibonacci-reeks in c ++

Laten we vervolgens enkele toepassingen van Puppet bekijken.

Wat is Puppet - Toepassingen van Puppet

Laten we de toepassingen van Puppet begrijpen aan de hand van een casestudy. Als je een pokerliefhebber bent of ooit online games hebt gespeeld, dan moet je van Zynga hebben gehoord. Het is 's werelds grootste ontwikkelaar van sociale games. De infrastructuur van Zynga maakt gebruik van tienduizenden servers in zowel de publieke cloud als private datacenters. Al vroeg gebruikten ze een handmatig proces, inclusief kickstarters en postinstallaties om honderden servers online te krijgen.

Nu zullen we zien welke problemen ze met dit proces tegenkwamen:

  • Schaalbaarheid en consistentie - Zynga maakte een fenomenale groei door en de infrastructuur was nodig om gelijke tred te houden met de industrie. Op scripts gebaseerde oplossingen en handmatige benaderingen waren niet voldoende voor hun behoeften.
  • Draagbare infrastructuur - Zynga had een manier nodig om gebruik te maken van een consistente benadering van configuratiebeheer in zowel hun openbare cloudinfrastructuur als hun eigen datacenters.
  • Flexibiliteit - Gezien de diversiteit van de verschillende gaming-eigenschappen van Zynga, was het belangrijk voor het team om snel de juiste configuratie voor de juiste machine te kunnen matchen.
  • Infrastructuurinzichten - Naarmate de organisatie volwassener werd, werd het belangrijker om een ​​geautomatiseerde methode te hebben om de eigenschappen van elke machine te visualiseren.

Het bedrijf was slim genoeg om al snel de noodzaak van een geautomatiseerd proces in te zien, zelfs voordat ze snel opschalen, toen kwam Puppet in beeld. Laten we begrijpen hoe Puppet bijdraagt ​​aan hun organisatie.

  • Snelheid van herstel - Het productieteam kan snel de juiste configuratie in de juiste box implementeren. Als een systeem onjuist opnieuw wordt geconfigureerd, zal Puppet het automatisch terugzetten naar een laatste stal staat,of geef de details die nodig zijn om een ​​systeem snel handmatig te herstellen.
  • Snelheid van implementatie - Puppet heeft gezorgd voor een aanzienlijke tijdwinst in de manier waarop het operatieteam diensten levert aan de spelstudio's.
  • Consistentie van servers - Het modelgestuurde framework van Puppet zorgt voor consistente implementaties. Volgens Mark Stockford, Vice President Production Operations , Zynga “Het is duidelijk dat we tijdwinst hebben geboekt. Het mooie van het gebruik van Puppet is dat het ons in staat stelt om elke keer in een korte periode consistente configuraties op onze servers te leveren. '
  • Samenwerking Een modelgestuurde aanpak maakt het gemakkelijk om configuraties binnen de organisatie te delen, waardoor ontwikkelaars en operationele teams kunnen samenwerken om ervoor te zorgen dat de levering van nieuwe diensten van extreem hoge kwaliteit is. Meer dan een dozijn mensen van het team van Zynga zijn getraind in Puppet.Deze kennis is verspreid over het team en naar de operationele teams binnen elke individuele gamingstudio.

Na wat is Puppet blog , klik hier om mijn volgende blog over Puppet Tutorial te bezoeken waaronder de Puppet-architectuur en componenten van Puppet. Ik zal ook de stappen uitleggen om MySQL en PHP te implementeren met Puppet. Puppet is de meest gebruikte tool om DevOps te realiseren in organisaties met een grote infrastructuur.

Als je dit hebt gevonden blog op ' Wat is Puppet ' relevant, bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De Edureka DevOps Certification Training-cursus helpt leerlingen expertise te verwerven in verschillende DevOps-processen en tools zoals Puppet, Jenkins, Nagios en GIT voor het automatiseren van meerdere stappen in SDLC.