Definition „Salt“

Was ist SaltStack?

| Autor / Redakteur: LineFeed / Stephan Augsten

Saltstack ist eine durchaus interessante Open-Source-Alternative zu Puppet, Chef und Ansible.
Saltstack ist eine durchaus interessante Open-Source-Alternative zu Puppet, Chef und Ansible. (Bild: Saltstack.com)

Das DevOps-Toolset SaltStack oder kurz Salt dient der automatisierten Steuerung und Überwachung die Infrastruktur. Die Orchestrierung von Cloud-Ressourcen, Containern und virtuellen Servern ist dabei ebenso möglich wie manuelle Remote-Ausführung und Konfigurationsmanagement.

In welchem Umfeld und wie positioniert sich Salt?

Von der Fernwartung über Update-Prozesse bis hin zur automatisierten Reaktion auf kritische Ereignisse: Für viele wiederkehrende Aufgaben hatten und haben Systemadministratoren passende Skripte parat. Um die Automatisierung zu vereinfachen, sind über die Jahre einige Tools entstanden, CFEngine bereits 1993.

SaltStack (im Folgenden Saltstack oder Salt) ist eine vergleichsweise junge Open-Source-Lösung in dieser Tradition. Urheber des 2011 veröffentlichten Tools ist Thomas S. Hatch, der Stand 2018 auch Hauptentwickler und CTO von Saltstack ist. Der Hersteller beschreibt die Kerneigenschaften der gelegentlich auch Saltstack Plattform oder Saltstack genannten Software als:

  • einfach aufzusetzen („in Sekunden einsatzbereit“)
  • skalierbar („ausreichend für die Verwaltung zehntausender Server“)
  • schnell („steuert diese und kommuniziert mit ihnen in Millisekunden“)

Was ist Salt?

Salt ist zunächst als System für die Fernausführung im Rahmen der Systemadministration gestartet. Über die modulare Struktur erhielt es sogleich eine Erweiterung für das Konfigurationsmanagement. Salt bewirbt sich aber auch mit dem jüngeren Term „Infrastrukturorchestrierung“. Hier zeigt sich ein Fokus, der von der klassischen Systemadministration wegführt, hin zu Cloud-Computing, DevOps und IaC (Infrastructure as Code).

Diese Orientierung spiegelt sich ebenfalls in der Softwarearchitektur von Salt. Bei der ursprünglichen Implementierung setzte Hatch auf ZeroMQ, eine leichtgewichtige Software-Bibliothek für die Warteschlangen-basierte Interprozesskommunikation, speziell in verteilten Systemen, die keinen Message-Broker benötigt. Zur Verbesserung der Skalierbarkeit ist Salt seit 2014 alternativ mit dem eigens entwickelten Reliable Asynchronous Event Transport Protocol (RAET) nutzbar.

Was ist besonders an Salt?

Salt zeichnet sich gegenüber ähnlichen Systemen wie Ansible, Chef oder Puppet durch seine Vielseitigkeit aus. Es ist sowohl mit als auch ohne Agenten (Agent-less) nutzbar – ein Alleinstellungsmerkmal –, kann im Push- und im Pull-Modus arbeiten und bietet einen Verify-Mode. Zudem unterstützt das System eine vollständige gegenseitige Authentifizierung von Server und Client.

Die Erweiterung Salt Configuration Automation nutzt eine einfache YAML-Syntax sowie Jinja-Templates für die wahlweise imperative oder deklarative Definition der Software-Konfigurationen. Als Alternative zu nativen Chef Recipes und Puppet Manifests lässt sich die Salt Remote Execution Engine zudem für die Orchestrierung dieser Konfigurationsmanagementsysteme einsetzen.

Salt verwaltet diverse Unix- und Unix-kompatible Systeme (BSD, Linux) ebenso wie MacOS und Windows-Clients. Salt Cloud bietet Schnittstellen für die Konfiguration und Steuerung zahlreicher Cloud-Systeme, von Amazon Webservices (AWS) bis Xmission. Darüber hinaus lässt sich das Tool für private Clouds und die Automatisierung von virtuellen Serverumgebungen einsetzen.

Ereignis-gesteuerte Orchestrierung

Salt verteilt nicht nur vorgefertigte Konfigurationen, sondern ist auch in der Lage, auf Ereignisse zu reagieren, die interne Komponenten der Software wie auch die verteilten Systeme in der verwalteten Infrastruktur miteinander austauschen. Das ermöglicht eine Autonomie der Systemsteuerung im Sinne der selbstheilenden Systeme von CFEngine 2 und IBMs Autonomic Computing.

Verfügbarkeit, Lizenzierung und Support

Bei der Lizenzierung von Salt setzt Saltstack auf ein Freemium-Modell. Abgesehen von der speziellen grafischen Benutzeroberfläche von Saltstack Enterprise ist die gesamte Funktionalität ebenso in Salt Open enthalten und unter der Apache Lizenz 2.0 verfügbar. Die quelloffene Salt Software gibt es als getestete Pakete für CentOS, Debian, RedHat (RHEL), Ubuntu und Windows.

Ausschließlich Enterprise-Kunden von Saltstack erhalten den kommerziellen Support des Herstellers. Den Nutzern der freien Version steht eine Community mit zahlreichen, unterschiedlichen Kanälen sowie das GitHub-Repository für die aktive Mitarbeit an der Software zur Verfügung:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Hybrid Clouds mit Docker Swarm und Ansible

Container auf Windows- und Linux-Servern

Hybrid Clouds mit Docker Swarm und Ansible

Linux- und Windows-Server werden in immer mehr Netzwerken parallel eingesetzt. Administratoren und Entwickler benötigen daher Werkzeuge, um Container über beide Betriebssysteme hinweg effektiv einsetzen zu können. lesen

Software-Lebenszyklus nach Standard 12207:2017

Software-Entwicklung gemäß IEEE/ISO/IEC-Standard

Software-Lebenszyklus nach Standard 12207:2017

Hinter dem Titel „Systems and Software Engineering – Software Life Cycle Processes“ verbirgt sich der IEEE-Standard 12207. Das Dokument schafft ein gemeinsames Rahmenwerk für Software-Lebenszyklus-Prozesse mit genau definierten Begriffen. lesen

DevOps für Admins

Tête-à-tête mit dem Entwickler

DevOps für Admins

In DevOps-Umgebungen arbeiten Entwickler und Administratoren eng zusammen. Eine enge Kommunikation und Abstimmung zwischen Development und Operations ist daher durchaus sinnvoll. lesen

Saltstack – Automatisierung mit Open Source

Software-Pakete effizient im Netzwerk verteilen

Saltstack – Automatisierung mit Open Source

Saltstack ist eine Open-Source-Software, mit der Administratoren Serversysteme automatisieren und Software verteilen können. Wie bei Puppet, Chef und Ansible lassen sich damit Bereitstellungen effizient automatisieren. lesen

Automatisierung mit Puppet

Konfigurationsmanager für DevOps-Szenarien

Automatisierung mit Puppet

Unternehmen, die auf DevOps setzen oder ständig Anwendungen bereitstellen müssen, kommen um Konfigurationsmanager nicht herum. Puppet ist der Platzhirsch unter den Tools, die die Automatisierung steuern und überwachen. lesen

Continuous Delivery mit Chef

Automatisierung mit DevOps-Tools

Continuous Delivery mit Chef

Unternehmen, die auf moderne Entwicklungstrends setzen, kommen um DevOps-Strategien kaum herum. In diesem Bereich spielt auch die Automatisierung eine wichtige Rolle. Chef ist eines der wichtigsten Tools in diesem Bereich. lesen

Continuous Integration und Continuous Delivery

Automation für besseren Code

Continuous Integration und Continuous Delivery

Mit Continuous Integration, Delivery und Deployment können sich Entwickler mehr auf ihre eigentlichen Aufgaben konzentrieren. Die Validierung und Integration des Codes erfolgt automatisiert. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45328142 / Definitionen)