Vorarbeiter gegen Marionette


Vor langer Zeit schrieben Entwickler und Betreiber in einem weit, weit entfernten Rechenzentrum spezialisierte Skripte von Hand, um IT-Ressourcen zu verwalten. Konfigurationsmanagement- (CM) und Automatisierungstools integrierten diese Prozesse in optimierte Lösungen für die Bereitstellung wiederholbarer, schnell einsetzbarer IT-Umgebungen. Nun, die Zeiten ändern sich wieder, und Automatisierungstools haben sich weiterentwickelt - diesmal zu umfassenden IT-Lifecycle-Management-Plattformen für die Automatisierung der Ressourcenbereitstellung von Bare-Metal bis hin zum Anwendungs-Stack.

Zwei dieser Technologien - Puppet und Foreman - bieten leistungsstarke Orchestrierungs- und Bereitstellungsfunktionen, um zeitaufwändige und fehleranfällige Prozesse von der Suppe bis zur Nuss zu eliminieren.

Vorarbeiter

Foreman ist ein Open-Source-Tool für das vollständige Server-Lifecycle-Management. Das Tool erschien erstmals vor 6 Jahren auf der Bildfläche und wird von einem Kernteam aktiv gepflegt und von einer Legion von Freiwilligen und Mitwirkenden aus der Community unterstützt. Das in Ruby on Rails geschriebene Tool verfügt über eine visuelle Oberfläche für GUI-basiertes Ressourcenmanagement, die Integration mit führenden Automatisierungslösungen (z. B. Puppet, Chef, SaltStack), eine leistungsstarke REST-API und vieles mehr.

Automatisierungstools übernehmen in der Regel die Installation/Konfiguration von Software, Benutzern und Netzwerkschnittstellen, während Orchestrierungslösungen wie Foreman die grundlegenden Komponenten aus Bare-Metal-Systemen einrichten. Tatsächlich wird Foreman häufig in Verbindung mit Tools wie SaltStack oder Puppet zum Erstellen und Verwalten von Servern verwendet. Diese Tools wiederum berichten mit Systemfakten an Foreman zurück. Im Wesentlichen überwacht und verwaltet Foreman das Gesamtbild der Erstellung von Infrastrukturressourcen und überlässt Teile wie die Serverautomatisierung den Tools, die dies am besten können.

Erweiterbar durch Plugins

Foreman ist in Ruby geschrieben und hochgradig modular und erweiterbar. Plug-Ins - ebenfalls in Ruby geschrieben - können erstellt oder installiert werden, um dem Tool zusätzliche Funktionen zu verleihen. Zum Beispiel. das Docker-Plugin ermöglicht die Verwaltung von Docker-Containern; In ähnlicher Weise ermöglicht das Salt-Plugin die Integration mit SaltStack. Plugins werden als Rails-Engines implementiert und als Gems verpackt.

Intelligente Proxy-Architektur

Die Smart-Proxy-Architektur von Foreman unterstützt die einfachen Integrationsmöglichkeiten des Tools. Es besteht aus einer leistungsstarken REST-API zum Einbinden und Erweitern verschiedener Subsysteme wie Puppet, Chef oder SaltStack. Smart-Proxy-Komponenten befinden sich auf oder in der Nähe von Maschinen, die bestimmte Funktionen ausführen und die Orchestrierungsbemühungen von Foreman erleichtern. Smart Proxys unterstützen DHCP, DNS, TFTP sowie die Konnektivität zu Tools wie Puppet und Chef out-of-the-box.

Marionette

Die führende IT-Automatisierungslösung Puppet gibt es in zwei Varianten: Open Source Puppet und Puppet Enterprise. Einen ausführlichen Vergleich der beiden finden Sie unter Open Source Puppet und Puppet Enterprise. Für diesen Vergleich konzentrieren wir uns auf Puppet Enterprise und seine Lösung zur Bereitstellung physischer und virtueller Hardware namens Razor.

Puppet Razor automatisiert die Einrichtung von Bare-Metal-Servern, die von Puppet Enterprise verwaltet werden sollen. Es nimmt ein physisches "unbeschriebenes Blatt" des Servers, stellt ein Betriebssystem oder einen Hypervisor darauf bereit und übergibt es an Puppet Enterprise für die weitere richtlinienbasierte Konfiguration.

Auf der Rasierklinge

Razor ist als Modul (pe_razor) in Puppet Enterprise enthalten und besteht aus einer Server- und einer Client-Komponente. Der Client wird als Ruby-Gem auf jedem Computer installiert, der vom Razor-Server verwaltet werden soll. Die folgende Sequenz veranschaulicht, wie Razor auf hoher Ebene funktioniert:

  1. Razor identifiziert einen neuen Knoten und ermittelt seine Eigenschaften.
  2. Basierend auf diesen Merkmalen (d. h. "Fakten") markiert Razor den Knoten entsprechend.
  3. Richtlinien mit übereinstimmenden Tags werden auf den betreffenden Knoten angewendet, und Bereitstellungselemente werden zusammengeführt.
  4. Der Knoten wird mit dem entsprechenden Betriebssystem oder Hypervisor bereitgestellt. Zu diesem Zeitpunkt steht es unter der vollständigen Verwaltung von Puppet Enterprise.

Open Source Puppet und Razor

Was ist Open Source ohne ein wenig Beinarbeit? Razor wird als einfach zu installierender Tarball geliefert, der mit Puppet Enterprise ausgeliefert wird. Benutzer von Open Source Puppet müssen es manuell installieren, entweder aus dem Paket oder aus dem Quellcode. Darüber hinaus erfordert Open-Source-Razor die Installation/Konfiguration von PostgreSQL als primäres Datenbank-Backend.

Seite an Seite

Sowohl Foreman als auch Puppet Razor sind effektive Tools für die Bare-Metal-Bereitstellung - tatsächlich ist die Verwendung von Foreman speziell für die Verwaltung von Puppet-Knoten wohl der beliebteste Anwendungsfall. Hier muss jedoch eine wichtige Unterscheidung in Bezug auf die Einschränkungen von Foreman getroffen werden: Das Tool automatisiert die Bereitstellung auf OS-/Hypervisor-Ebene und übergibt sie dann an ein Automatisierungstool wie Puppet, Chef oder Ansible.

Im Gegensatz dazu versetzt Puppet Razor einen Computer automatisch von Bare-Metal in den Zustand, in dem er von Puppet Enterprise verwaltet wird. Puppet-Knoten können visuell mit der kompetenten Web-GUI von Foreman verwaltet werden, während die visuelle Verwaltungskonsole von Puppet nur in der Enterprise-Version des Produkts verfügbar ist (sprich: Pay-to-Play). Tatsächlich verwenden viele Foreman gerne als Open-Source-Frontend für beide Versionen von Puppet. In der Tat gibt es verschiedene 3rd-Party-Frontends für Puppet, wie z. B. Puppet Open Source Dashboard und Puppetboard, aber Foreman bleibt die beliebteste und am besten unterstützte Ergänzung zu Puppet.

Kurz gesagt, wenn Ihr Unternehmen den Weg einer vollständigen Puppet Enterprise-Bereitstellung eingeschlagen hat, ist Razor eindeutig die beste Wahl, um Ihr Server-Lifecycle-Management und Ihren Automatisierungsworkflow zu optimieren. Wenn Sie sich jedoch für den Open-Source-Weg entschieden haben, kann Foreman eine kompetente Bare-Metal-Bereitstellung bieten, die sich gut in Open Source Puppet integrieren lässt. Darüber hinaus erhalten Sie eine schöne Verwaltungs-GUI für die Verwaltung Ihrer Open Source Puppet-Bereitstellung.

Quellen

https://www.infoworld.com/article/2610219/puppet-enterprise-s--razor--slices-through-system-provisioning.html

https://theforeman.org/introduction.html

https://collabnix.com/automate-the-bare-metal-provisioning-process-through-puppet-razor/

https://searchitoperations.techtarget.com/feature/Are-IT-automation-tools-your-ladder-to-the-cloud

Verwandte Artikel