MID GmbH

              Leistungen          Kundenservice          Downloads            Unternehmen

Buchrezension: Docker Das Praxisbuch für Entwickler und DevOps-Teams

Bannerbild_Buchquiz_DOCKER-1 

In den letzten Jahren sind die Trends Agilität und Microservices sowie DevOps und Containerisierung im Bereich der Softwareentwicklung zu erkennen. Diese Trends unterstützen und fördern einander mit dem Ziel, Aufwände und damit Kosten zu senken oder neue Wege zu eröffnen. Daher wollen wir heute ein Buch vorstellen, welches einen Einblick in die derzeit populärste Containertechnologie bietet: Docker.

Docker bietet im Großen und Ganzen 4 Vorteile:
1. Heterogene Technologie-Stacks lassen sich auf einheitliche Weise installieren und betreiben.
2Dadurch lassen sich die Arten verschiedener Hosts reduzieren (von nodeJs-Host, JavaEE-Host, Ruby-Host etc. auf Docker-Host)

3. Diese Einheitlichkeit ermöglicht es, mit Tools wie Kubernetes oder Docker-Swarm relative kostengünstig ausfallsicherere und skalierbare Cluster aufzubauen
4. Das Setup der Container-Images lässt sich über die Docker-Files sehr gut nach dem Infrastructure-as-Code-Ansatz in eine Versionsverwaltung aufnehmen

Tradeoff dieser Vorteile ist vor allem das Updatemanagement der Docker-Images und -Container.

Docker – Das Praxisbuch für Entwickler und DevOps-Teams von Bernd Öggl und Michael Kofler richtet sich speziell an Entwickler und DevOps-Teams und führt diese anhand verschiedener Praxisbeispiele von den Docker-Grundlagen bis zur Containerorchestrierung.

Das Buch teilt sich grob in drei Bereiche auf. Im ersten wird eine Einführung gegeben. Hier erfährt der Leser, welche Konzepte hinter Docker stecken, wie es eingesetzt wird und wie es funktioniert. Man bekommt einen Überblick, wie man Docker installiert, bedient und vor allem, welche Praktiken sich daraus ableiten. So erfährt man zum Beispiel, wie sich Images klein halten lassen, in welcher Reihenfolge man am besten Docker-Files aufbaut und wie man mit Docker-Compose verschiedene Container auf einfache Weise interagieren lassen kann. Auch eine Einführung in die Kommandozeilen-Tools nebst Kurzreferenz finden sich in diesem Kapiteln.

Nachdem die Grundkenntnisse in Docker vermittelt wurden, wird im nächsten Bereich „Der Werkzeugkasten“ auf weiterführende Fragen im Kontext mit Docker-Containern eingegangen. So werden Vor- und Nachteile des im Docker-Umfeld oft genutzten Alpine Linux erläutert, sowie potentielle Fallstricke aufgezeigt. Auch zum Einsatz von Webservern, Datenbanksystemen und Anwendungen in verschiedenen Programmiersprachen werden hier wertvolle Tipps gegeben und das Grundsetup erläutert.

Bei den Webservern werden der Klassiker Apache sowie Nginx, Node.Js mit Express und speziell für Proxy-Aufgaben der HAProxy vorgestellt. Anwendungssetups sind besonders für Sprachen mit Laufzeitumgebung interessant. Hier finden sich Erläuterungen für Java, JavaScript (NodeJs), PHP, Ruby, Python und Swift. Bei den Datenbanken finden sich MySQL, MariaDB sowie PostgreSQL und Reddis in den Ausführungen wieder. Ergänzend zu den atomaren Grundsetups finden sich im Werkzeugkasten-Kapitel auch Setup-Beschreibungen für Wordpress, Joomla und Next-Cloud. Diese Setups sind vor allem aus zwei Gründen im Werkzeugkasten interessant, erstens sind es Compose Setups aus mehreren Komponenten und zum anderen werden diese Tools in kleineren Web-Projekten und auch privat häufig eingesetzt.
Die Autoren haben bei allen Beispielen Wert daraufgelegt, dass sie vom Leser nachvollzogen und auch selbst ausprobiert werden können.


Aufbauend auf dem Wissen über Docker, Docker-Compose und die wesentlichen Grundbestandteile eines Setups, geht es im dritten Teil an komplexere und praxisnahe Projekte mit Docker. Hier lernt man komplexere Setups für Webanwendungen mit Redis für den Session-Speicher und MongoDB im Replikationsmodus. Auch das Setup eines Monitorings mit Grafana, eines Versionierungs- und Repository-Servers mit Gitlab inklusive der Einrichtung einer dockergestützten Build-Pipeline sind hier dokumentiert. Besonders interessant fand ich das Kapitel zum Umzug einer bestehenden Applikation nach Docker. Hier wurde nicht nur die Umsetzung, sondern auch die vorausgehende Analyse und Planung sehr ausführlich beschrieben.

Die letzten Kapitel geben einen Einblick in die Absicherung von Docker-Umgebungen sowie den Betrieb mit Docker-Swarm und Kubernetes. Diese Themen können eigene Bücher füllen, weshalb die Autoren nur die wesentlichen Konzepte vorstellen und zur Vertiefung auf ergänzende Quellen verweisen. Für den Startpunkt für weitere Recherchen sind diese jedoch sehr hilfreich. Die Setups in verschiedenen Cloud-Umgebungen sind in diesen Kapiteln jedoch sehr ausführlich beschrieben, sei es Amazon, Google oder Azure.

Die Autoren geben dem Leser in allen Teilen des Buches Hinweise zu typischen Fallstricken, wichtige Best-Practices und weiterführende Literatur mit auf den Weg. So können viele typische Einstiegsfehler frühzeitig vermieden werden. Man merkt dem Buch an, dass einige praktische Erfahrungen mit Docker hineingeflossen sind. Es eignet sich sehr gut für einen Schnelleinstieg in Docker, aber auch als Nachschlagewerk für künftige Projekte. Auch wenn sich Docker weiterentwickelt und irgendwann nicht mehr alle Anleitungen eins zu eins funktionieren werden, so werden doch die grundsätzlichen Strukturen und vor allen die zu beachtenden Sachverhalte nicht so schnell verschwinden. Und zusätzlich gibt es noch das zugehörige GIT-Repository zum Buch, welches Updates zu Docker-Neuerungen erhalten wird.

Docker – Das Praxisbuch für Entwickler und DevOps-Teams

1. Auflage, 2018
von Bernd Öggl und Michael Kofler
Verlag: Rheinwerk Computing
431 Seiten
Sprache: Deutsch
ISBN: 978-3-8362-6176-0
Preis: 39,90€

Sebastian Sauerbier

geschrieben von Sebastian Sauerbier

Herr Sebastian Sauerbier ist für die MID GmbH als Senior Consultant in den Bereichen Softwareentwicklung, Design und Architektur unterwegs. Vor seiner Zeit bei der MID GmbH studierte er an der TU-Ilmenau im Bereich Wissens- und Informationsmanagement. Er beschäftigt sich seit 2008 mit der Steigerung der Softwarequalität durch verschiedene Entwicklungs- und Architektur-Praktiken.

<< Zurück

Relevante Posts:

MID Blog

Hier bloggen Mitarbeiter der MID und eingeladene Gastautoren zu Themen rund um die Modellierung. Bleiben Sie auf dem Laufenden und lassen Sie sich per Email über neue Blogbeiträge informieren.

Neue Beiträge per Mail

Autoren

Interessieren Sie sich für ein Thema, dass wir bisher noch nicht behandelt haben? Oder haben Sie Fragen oder Anmerkungen zu einem bestimmten Beitrag?

Schreiben Sie uns gerne einen Kommentar, wir werden das Thema in der Zukunft aufgreifen.

Die neuesten Posts

MID Newsletter abonnieren