Saltstack ist im Devops Bereich ein sehr beliebtes und vielseitiges Werkzeug. Die Online Dokumentation ist sehr umfangreich hilft aber nicht immer um die Architektur von Salt im zu verstehen.

Folgende Bücher zu Saltstack habe ich mir angeschaut:

Empfehlen kann ich Salt Essentials, v.a. für Salt Neulinge und Mastering Saltstack um sich mit den fortgeschrittenen Features und der Architektur von Salt vertraut zu machen. Learning SaltStack hat mir persönlich nicht ganz so gut gefallen - richtet sich wie Salt Essentials auch eher an Einsteiger.

Salt Essentials

Nach einer kurzen Einführung geht es im zweiten Kapitel gleich los mit “A taste of salt”. Anschließend wird detailierter auf das Key-Management und das Minion Targeting eingegangen.

Sehr schön strukturiert sind die folgenden drei Kapitel: Zuerst werden die Execution Module erklärt - eine der grundlegenden Features von Salt. Auf Remote Execution sind auch die State Module zur deklarativen Verwaltung des Systemzustandes aufgebaut, die in einem eigenen Kapitel besprochen werden. Minion und Master Datenstrukturen (grains / pillar) werden ebenfalls separat besprochen.

In den hinteren Kapiteln wird detailiert auf die Konfiguration des Salt-Masters eingegangen und die Erweiterbarkeit von Salt mit selbst geschriebenen Execution und State Modulen beschrieben. Auch ein kleiner Abriss zu Salt-Cloud ist dabei - geht aber nicht wirklich in die Tiefe. Für einen groben Eindruck reicht er aber.

Fazit

Wer erste Erfahrungen mit Salt gesammelt hat oder noch keine Erfahrung mit SaltStack hat bekommt hier einen sehr gut strukturierten Überblick über die wichtigsten Teile des Systems.

Mastering Saltstack

Bei einem Buch adressiert an Fortgeschrittene war ich Anfangs eher skeptisch. Mastering SaltStack hat mich hier sehr positiv überrascht. Zu Beginn wird zur Auffrischung sehr komprimiert auf alle wesentlichen Teile von SaltStack eingegangen. Das eignet sich sehr gut, um den eigenen Wissensstand bei den Salt Grundlagen gegenzuchecken.

Anschließend geht es in die Details. Zuerst wird im Kapitel Diving into Salt Internals die Funktionsweise von Master und Minion bis hin zur internen Verarbeitung von State Data von Highdata zu Lowdata erklärt. Letztendlich umfassen die ersten drei Kapitel die Thematik von Salt Essentials auf einem niedrigeren Abstraktionslevel.

Als nächestes wird auf die Verwendung, Architektur und Funktionsweise von salt-ssh eingegangen, ein relativ neues Thema in Salt, was für spezielle Anwendungsfälle sehr nützlich ist.

Es folgt ein Kapitel über die ereignisgetriebene Orchestrierung mit Salt und Salt-Cloud. Für alle die sich noch nicht mit dem Salt Event System beschäftigt haben ein muss, da hier erklärt wird wie Events in Salt zur Reaktion auf Änderungen an der Infrastruktur verwendet werden.

Ein eigenes Kapitel über REST? Die REST API von Salt ist mir vom Molten Projekt her vertraut. Mit Webhooks und Reaktionen auf deren Aufruf hatte ich mich bis dahin allerdings noch nicht beschäftigt. Hier wird sehr gut erklärt wie man Salt in die heutige REST Welt einbindet. Auch wird erklärt, wie Salt selbst verschiedenste Möglichkeiten zum Aufrufen von anderen REST Schnitstellen bietet.

RAET - dem neuen UDP basierten Transportprotokoll ist ein eigenes Kapitel gewidmet. Darin wir ausführlich auf die Gründe für die Entwicklung von RAET und den Vergleich zu ZeroMQ und SSH eingegangen. Schade, dass dies schon veraltet ist weil RAET nur noch sproradisch weiterentwickelt wird. Aktuell ist das einfachere TCP Protokoll der vielversprechendste Nachfolger von ZeroMQ.

Ein eigenes Kapitel behandelt die Skalierung und die Integration von Salt in bestehende Infrastruktur. Hier wird auch die Einbindung von verschiedenen Datenquellen und das Testen von Last erklärt.

Die Monitoring-Funktionalität war bis zum Lesen des Buches ein mir nicht wirklich bekanntes Feature von SaltStack. Nach dem Lesen werde ich Monitoring mit SaltStack mir auf jeden Fall mal genauer anschauen.

Abgerundet wird das Buch durch zwei Kapitel Best Practices und Troubleshooting Problems. Troubleshooting bot für mich nicht viel neues, gibt aber einen guten Überblick über bewährte Techniken um Probleme mit Salt zu finden. Best Practices gibt einen sehr guten Abriss über das Thema.

Fazit:

Wer schon mehr Erfahrung mit SaltStack hat und richtig tief einsteigen möchte, für den ist das Buch genau das Richtige. Auch als Nachschlagewerk eignet es sich aktuell, wobei bei Salt die Entwicklung ja immer schnell voranschreitet. Mir hat das Buch geholfen die Funktionsweise von Salt in vielen Bereichen nochmal aus einem anderen Blickwinkel zu sehen.