Gelesen / Read: Eberhard Wolff - Continuous Delivery

Published on Jul 18, 2016, Permalink

Eberhard Wolff - Continuous Delivery

Der dpunkt.verlag war so nett und hat mir für die EuregJUG ein Rezensionsexemplar von Eberhard Wolffs neuem Buch Continuous Delivery - Der pragmatische Einstieg zukommen lassen.

Inhalt

In 13 Kapiteln stellt Eberhard tatsächlich einen ziemlich umfangreichen Überblick zum Thema Continuous Delivery da: Über das Was und wie? (Vorteile, insbesondere mit Hinblick auf Risikominimierung und Time To Market (was nutzen Features, die nicht in Produktion sind)), über Infrastruktur und Build-Automatisierung / Continuous Integration (beides sehr Werkzeuglastig und hilfreich für Menschen ohne jedes Vorwissen in Bezug auf Docker, Konfigurationsmanagement (Puppet, Chef)) hinzu Akzeptanztests, Kapazitätstests und explorativen Testing und dem abschließenden Deployment.

Ich bin mir noch nicht ganz sicher, wie ich zu den Ausführungen in Kapitel Zwei bezüglich den gelösten Problemen der Continuous Integration stehe. Sind diese Themen wirklich allumfassend gelöst? Ich stelle oft das Gegenteil fest… Zwei Releases im Jahr, wenn es hochkommt. Aber wenn ein Fehler auftritt, kann ein Patch innerhalb von Stunden durchgewunken werden. Immerhin gibt Eberhard gute Argumente in die Hand, warum man diesen Status in 2016 nicht mehr ohne Hinterfragen akzeptieren darf.

Die Kapitel über Infrastruktur sind wahrscheinlich nur für absolute Docker, Vagrant, Puppet und Chef Laien wie mich interessant. Hilfreich dabei sind die in jedem Kapitel wiederkehrenden "Experimente und selber ausprobieren" Abschnitte, die auf das Projekt user-registration verweisen.

Die Kapitel Operate, Einführung von Continuous Delivery und die Konsequenzen von Continuous Delivery für Entwicklung und Betrieb als DevOps sind für mich nützlicher, gerade in Hinblick auf Kundenzufriedenheit (seien es externe oder interne Kunden), leichteres Leben (Analyse von Logs) und Kostenanalyse. Ja, auch ein vollständig manuelles Deployment ist eine kontinuierliche Lieferung. Nur aufwendig, teuer und fehleranfällig, aber manchmal kostengünstiger als eine "Big Bang" Umstellung.

Genau das ist der Bogen zum letzten Kapitel Continuous Delivery und Softwarearchitektur. Hier wird der Bogen zu Microservices gezogen und unter anderem dargestellt, wie Microservices dazu beitragen, in großen, alten Projekten kleine Continuous Delivery Pipelines zu implementieren.

Man merkt dem Buch die Sorgfalt an, mit der Deutsch verwendet wurde. Ich habe das selber in meinem JAXenter Artikel zum Thema Erzeungsmuster versucht. Es fühlt sich im ersten Moment seltsam an, hilft aber glaube ich vielen Menschen einen Einstieg in für sie unbekannte Themen zu finden.

Nicht gut gefallen hat mir der zu kurze Abschnitt zum Thema Datenbankmigration. Dort nehme ich nur mit, dass es schwierig ist, Datenbankmigrationen im Rahmen von Continuous Delivery korrekt zu implementieren weil es schwierig ist. Dort hatte ich mir mehr Input erhofft. Die Realität bestätigt den pragmatischen Ansatz, gemeinsam genutzte Schemata seltener zu ändern. Ich bin kein Freund der Idee, nur wegen dieser Probleme auf NoSQL Datenbanken zu schwenken. Eher würde ich die Lösung akzeptieren, durch die sukzessive Einführung von Microservices separate Datenbanken für separate Komponenten einzuführen und nicht "wie immer" über die Datenbanken zu integrieren.

Zum Buch
  • Softcover mit 272 Seiten, auch als E-Book verfügbar.

  • Sprache: Deutsch

  • Publisher: dpunkt.verlag

  • ISBN Print: 978-3-86490-371-7

Über den Autor
@ewolff

Eberhard Wolff arbeitet als Fellow bei der innoQ Deutschland GmbH und berät in dieser Funktion Kunden in Bezug auf Architekturen und Technologien. Außerdem ist er Java Champion. Sein technologischer Schwerpunkt liegt auf auf modernen Architektur-Ansätzen - Cloud, Continuous Delivery, DevOps, Microservices oder NoSQL spielen oft eine Rolle. Er ist Autor von über hundert Artikeln und Büchern.

Contact us