Was ist Marionette? - Konfigurationsmanagement mit Puppet

Was ist Puppet ist der erste Blog der Puppet-Blogserie. Es erklärt die Notwendigkeit von Puppet & Configuration Management anhand eines Anwendungsfalls.

Das ausgereifteste Tool für das Konfigurationsmanagement ist heute Puppet. Aber ich weiß, dass Sie sich fragen müssen, warum Puppet so beliebt ist und was es im Vergleich zu anderen Configuration Management-Tools einzigartig macht.In diesem Blog „Was ist Puppe?“ Beantworte ich diese Fragen für Sie und helfe Ihnen dabei, den Weg zu gehen .

Was ist Marionette?

Puppet ist ein Konfigurationsmanagement-Tool, das zum Bereitstellen, Konfigurieren und Verwalten von Servern verwendet wird. Es führt die folgenden Funktionen aus:



sort () c ++
  • Definieren Sie unterschiedliche Konfigurationen für jeden Host und überprüfen und bestätigen Sie kontinuierlich, ob die erforderliche Konfiguration vorhanden ist und nicht geändert wird (wenn Puppet geändert wird, wird auf dem Host auf die erforderliche Konfiguration zurückgegriffen).
  • Dynamisches Vergrößern und Verkleinern von Maschinen.
  • Durch die Bereitstellung der Kontrolle über alle konfigurierten Computer wird eine zentralisierte (Master-Server- oder Repo-basierte) Änderung automatisch an alle weitergegeben.

Puppet verwendet eine Master-Slave-Architektur, bei der Master und Slave mithilfe von SSL über einen sicheren, verschlüsselten Kanal kommunizieren. Die Puppenarchitektur wird in meinem ausführlich erklärt Puppen-Tutorial Blog.

Schauen Sie sich dieses Video auf Puppet zum besseren Verständnis an.

Was ist Marionette? | DevOps Training | Edureka

Nachdem Sie nun wissen, was Puppet ist, lassen Sie uns die Gründe für die Beliebtheit von Puppet verstehen.

Was ist Marionette - Schlüsselmetriken

Nachfolgend einige Fakten zu Puppet:

  • Große installierte Basis: Puppet wird von mehr als 30.000 Unternehmen weltweit verwendet, darunter Google, Red Hat, Siemens usw. sowie von mehreren Universitäten wie der Stanford und der Harvard Law School. Durchschnittlich 22 neue Organisationen pro Tag verwenden Puppet zum ersten Mal.
  • Große Entwicklerbasis: Puppe ist so weit verbreitet, dass sich viele Menschen dafür entwickeln. Puppet hat viele Mitwirkende an seinem Kernquellcode.
  • Lange kommerzielle Erfolgsbilanz: Puppet wird seit 2005 kommerziell verwendet und kontinuierlich weiterentwickelt und verbessert. Es wurde in sehr großen Infrastrukturen (über 5.000 Maschinen) eingesetzt, und die aus diesen Projekten gewonnenen Erkenntnisse zu Leistung und Skalierbarkeit haben zur Entwicklung von Puppet beigetragen.
  • Dokumentation: Puppet verfügt über ein großes, vom Benutzer gepflegtes Wiki mit Hunderten von Dokumentationsseiten und umfassenden Referenzen sowohl für die Sprache als auch für die Ressourcentypen. Darüber hinaus wird es auf mehreren Mailinglisten aktiv diskutiert und verfügt über einen sehr beliebten IRC-Kanal. Unabhängig von Ihrem Puppet-Problem ist es also einfach, die Antwort zu finden.
  • Plattformunterstützung: Puppet Server kann auf jeder Plattform ausgeführt werden, die Ruby unterstützt, z. B. CentOS, Microsoft Windows Server, Oracle Enterprise Linux usw. Es unterstützt nicht nur die neuen Betriebssysteme, sondern auch auf relativ alten und veralteten Betriebssystem- und Ruby-Versionen auch.

Es ist jetzt offensichtlich, dass Puppet weltweit eine große Nachfrage hat. Bevor ich jedoch tief in Puppet eintauche, ist es nur fair, dass ich zunächst erkläre, was Konfigurationsmanagement ist und warum es wichtig ist.

Konfigurationsmanagement

Systemadministratoren führen normalerweise sich wiederholende Aufgaben aus, z. B. das Installieren von Servern, das Konfigurieren dieser Server usw. Sie können diese Aufgabe durch Schreiben von Skripten automatisieren. Wenn Sie jedoch an einer großen Infrastruktur arbeiten, ist dies eine sehr hektische Aufgabe.

Um dieses Problem zu lösen, Konfigurationsmanagement wurde vorgestellt. Konfigurationsmanagement ist die Praxis, Änderungen systematisch zu behandeln, damit ein System seine Integrität im Laufe der Zeit beibehält. Configuration Management (CM) stellt sicher, dass der aktuelle Entwurfs- und Erstellungsstatus des Systems bekannt, gut und vertrauenswürdig ist und nicht auf dem impliziten Wissen des Entwicklungsteams beruht. Es ermöglicht den Zugriff auf eine genaue historische Aufzeichnung des Systemstatus für Projektmanagement- und Prüfungszwecke. Das Konfigurationsmanagement hat die folgenden Herausforderungen gemeistert:

  • Herausfinden, welche Komponenten geändert werden müssen, wenn sich die Anforderungen ändern.
  • Wiederholen einer Implementierung, da sich die Anforderungen seit der letzten Implementierung geändert haben.
  • Zurücksetzen auf eine frühere Version der Komponente, wenn Sie diese durch eine neue, aber fehlerhafte Version ersetzt haben.
  • Ersetzen der falschen Komponente, da Sie nicht genau bestimmen konnten, welche Komponente ausgetauscht werden muss.

Lassen Sie uns seine Bedeutung anhand eines Anwendungsfalls verstehen.

Das beste Beispiel, das ich kenne, ist die New York Stock Exchange (NYSE). Ein Software-Fehler verhinderte, dass die NYSE fast 90 Minuten lang mit Aktien handeln konnte. Dies führte zu Verlusten in Millionenhöhe. Eine neue Softwareinstallation hat das Problem verursacht. Diese Software wurde auf 8 der 20 Handelsterminals installiert und das System in der Nacht zuvor getestet. Am Morgen funktionierte es jedoch nicht ordnungsgemäß an den 8 Terminals. Es musste also wieder auf die alte Software umgestellt werden. Sie könnten denken, dass dies ein Fehler im Configuration Management-Prozess der NYSE war, aber in Wirklichkeit war es ein Erfolg. Als Ergebnis eines ordnungsgemäßen Konfigurationsmanagementprozesses erholte sich die NYSE innerhalb von 90 Minuten von dieser Situation, die ziemlich schnell war. Wäre das Problem länger aufgetreten, wären die Folgen schwerwiegender gewesen.

Konfigurationsmanagement an der NYSE - Was ist Puppet - Edureka

wie man Java Swing benutzt

Nun hoffe ich, dass Sie die Bedeutung von Configuration Management kennen. Die Konfigurationsverwaltungsphase kann als Rückgrat von DevOps betrachtet werden. Es ermöglicht häufigere Softwareversionen auf sicherste und zuverlässigste Weise.

Als nächstes sehen wir uns einige Anwendungen von Puppet an.

Was ist Marionette - Anwendungen von Marionette

Lassen Sie uns die Anwendungen von Puppet anhand einer Fallstudie verstehen. Wenn Sie ein Poker-Enthusiast sind oder jemals Online-Spiele gespielt haben, müssen Sie von Zynga gehört haben. Es ist der weltweit größte Entwickler von Social Games. Die Infrastruktur von Zynga verwendet Zehntausende von Servern sowohl in öffentlichen Clouds als auch in privaten Rechenzentren. Schon früh verwendeten sie einen manuellen Prozess, einschließlich Kickstarter und Post-Installationen, um Hunderte von Servern online zu stellen.

Nun werden wir sehen, mit welchen Problemen sie mit diesem Prozess konfrontiert waren:

  • Skalierbarkeit und Konsistenz - Zynga verzeichnete ein phänomenales Wachstum und seine Infrastruktur musste mit der Branche Schritt halten. Skriptbasierte Lösungen und manuelle Ansätze reichten für ihre Anforderungen nicht aus.
  • Tragbare Infrastruktur - Zynga brauchte eine Möglichkeit, einen konsistenten Konfigurationsmanagementansatz sowohl in der öffentlichen Cloud-Infrastruktur als auch in den eigenen Rechenzentren zu nutzen.
  • Flexibilität - Angesichts der Vielfalt der verschiedenen Zynga-Spieleigenschaften war es für das Team wichtig, schnell die richtige Konfiguration für den richtigen Computer finden zu können.
  • Einblicke in die Infrastruktur - Mit zunehmender Reife der Organisation wurde es immer wichtiger, eine automatisierte Methode zur Visualisierung der Eigenschaften jeder Maschine zu haben.

Das Unternehmen war klug genug, um die Notwendigkeit eines automatisierten Prozesses schnell zu erkennen, noch bevor es zu einer schnellen Skalierung kam. Dann kam Puppet ins Spiel. Lassen Sie uns verstehen, wie Puppet zu ihrer Organisation beiträgt.

Cloudera zertifizierter Entwickler für Apache Hadoop

  • Geschwindigkeit der Wiederherstellung - Das Produktionsteam kann schnell die richtige Konfiguration in der richtigen Box bereitstellen. Wenn ein System unangemessen neu konfiguriert wird, setzt Puppet es automatisch auf einen letzten Stall zurück Zustand,oder geben Sie die Details an, die zur schnellen manuellen Korrektur eines Systems erforderlich sind.
  • Bereitstellungsgeschwindigkeit - Puppet hat erhebliche Zeiteinsparungen bei der Bereitstellung von Diensten für die Spielestudios durch das Betriebsteam erzielt.
  • Konsistenz der Server - Das modellgetriebene Framework von Puppet gewährleistet konsistente Bereitstellungen. Gemäß Mark Stockford, Vizepräsident Produktionsbetrieb , Zynga „Es ist offensichtlich, dass wir Zeit gespart haben. Das Schöne an der Verwendung von Puppet ist, dass wir jedes Mal in kurzer Zeit konsistente Konfigurationen auf unseren Servern bereitstellen können. “
  • Zusammenarbeit - Ein modellbasierter Ansatz erleichtert die gemeinsame Nutzung von Konfigurationen im gesamten Unternehmen, sodass Entwickler und Betriebsteams zusammenarbeiten können, um sicherzustellen, dass die Bereitstellung neuer Services von extrem hoher Qualität ist. Über ein Dutzend Leute aus Zyngas Team wurden in Puppet geschult.Dieses Wissen wurde im gesamten Team und an die Betriebsteams in jedem einzelnen Spielestudio weitergegeben.

Nach dem, was Puppet Blog ist , Klicken Sie hier, um meinen nächsten Blog über Puppet Tutorial zu besuchen Dazu gehören die Puppet-Architektur und Komponenten von Puppet. Ich werde auch Schritte zum Bereitstellen von MySQL und PHP mit Puppet erläutern. Puppet ist das am weitesten verbreitete Tool, um DevOps in Organisationen mit großer Infrastruktur zu erreichen.

Wenn du das gefunden hast Blog auf “ Was ist Marionette? ”Relevant, Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Edureka DevOps-Zertifizierungskurs hilft den Lernenden, Kenntnisse in verschiedenen DevOps-Prozessen und -Tools wie Puppet, Jenkins, Nagios und GIT zu erwerben, um mehrere Schritte in SDLC zu automatisieren.