Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Puppet: Alles was du wissen musst

-
2
 Minuten Lesezeit
-
puppet

Puppet ist eine der ältesten IaC-Anwendungen und als solche eine stabile und bewährte Lösung. Was sind seine Eigenschaften?

Puppet ist eines der wichtigsten Werkzeuge, die für die Verwaltung von sogenannten IaC (Infrastructure as Code) zur Verfügung stehen.

☝️Zur Erinnerung: IaC ist ein Ansatz, bei dem ein Systemtechniker eine IT-Infrastruktur mithilfe von vordefinierten Konfigurationsskripten verwaltet.

Was ist Puppet?

Puppet wurde 2005 von dem Berater Luke Kanies entwickelt, der eine wichtige Rolle bei der Entwicklung von IaC spielte. Von Anfang an war es das Ziel, Systemadministratoren bei der Automatisierung der Verwaltung der Serverinfrastruktur zu helfen.

Wie funktioniert Puppet?

Puppet arbeitet mit einem „Manifest“, also einem Skript, das angibt, was getan werden muss:

  • Ausführen von Befehlen;
  • Bestimmte Dienste starten ;
  • Installieren von Software ;
  • etc.

In einem Manifest gibt der Systemadministrator eine bestimmte Liste von Anweisungen an – wie ein bestimmter Server eingerichtet werden soll etc. – Puppet sorgt dann dafür, dass diese ausgeführt werden.

Ein einmal erstelltes Manifest kann wiederverwendet werden, um es auf andere Server anzuwenden. Wenn sich etwas an der Infrastruktur ändert, kann das Manifest einfach aktualisiert werden.

Hauptmerkmale von Puppet

Als einer der Pioniere der IaC-Bewegung hat Puppet mehrere Standards in diesem Bereich gesetzt.

Deklarative Sprache

Man muss nur beschreiben, wie man das System am Ende haben möchte. Puppet kümmert sich darum, die dafür notwendigen Prozeduren durchzuführen.

Agenten-/Meister-Modell

Puppet erfordert, dass auf jedem Knoten (Einzelcomputer) ein Agent installiert ist, der die Konfigurationen vom „Master“-Computer empfängt.

Berichtssystem

Die Möglichkeit, detaillierte und versionierte Berichte zu erstellen, erleichtert Audits.

Factor

Dieses in Puppet integrierte Tool sammelt detaillierte Informationen über Knoten und erleichtert die Anpassung an bestimmte Konfigurationen.

Vordefinierte Module

Die Puppet Forge-Bibliothek beherbergt viele vorgefertigte Module.

Entwicklungsgrad der Software

Aufgrund seiner langen Geschichte ist Puppet ein stabiles, gut dokumentiertes Werkzeug mit einer guten Community, die sich gegenseitig hilft.

Nutzungsbeispiele

  • Angenommen, ein Unternehmen betreibt Hunderte von Servern und jeder muss unbedingt genauso wie die anderen konfiguriert werden. Ein einziges Manifest wird den Zweck erfüllen.

  • Du musst eines Tages eine bestimmte Software auf allen Servern des Unternehmens installieren? Ein Puppet-Skript kann diesen globalen Vorgang verwalten und sicherstellen, dass alle mit der exakt gleichen Version der Software arbeiten.

  • Ein Unternehmen betreibt sehr unterschiedliche Computerumgebungen: Einige sind dem Verkauf von Artikeln gewidmet, andere der Forschung und wieder andere der Entwicklung von Programmen. Es genügt, Puppet-Manifeste zu schreiben, die auf jede Umgebung zugeschnitten sind, und sie jedes Mal einzeln zu aktualisieren, wenn es nötig ist.

Puppet im Vergleich zu anderen IaC-Produkten

Hier sind einige der Hauptkonkurrenten von Puppet im IaC.

Ansible

Im Gegensatz zu Pupplet zeichnet sich Ansible durch seinen „agentenlosen“ Ansatz aus (es muss kein Agent auf den Zielservern installiert werden). Ansible wird manchmal Puppet vorgezogen, wenn es um schnelle und kleine Einsätze geht, während Pupper für komplexere und langfristige Einsätze gewählt wird.

Chef

Während Puppet Manifeste verwendet, bringt Chef die Administratoren dazu, die Infrastruktur mithilfe von „Rezepten“ zu beschreiben, die in der Programmiersprache Ruby definiert sind. Entwickler, die an diese Sprache gewöhnt sind, können also davon profitieren.

Salt (oder SaltStack)

Dieses Tool, das in der Lage ist, große Infrastrukturen zu verwalten, wird oft für seine schnelle Kommunikation mit entfernten Servern gelobt – es ermöglicht die Ausführung von Echtzeitbefehlen in großem Maßstab.

Terraform

Wie Puppet basiert es auf einem sogenannten „deklarativen“ Ansatz: Der Administrator beschreibt den gewünschten Zustand und Terraform kümmert sich darum, ihn zu erreichen. Seine Spezialität ist die Verwaltung von Cloud Computing-Infrastrukturen.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.