Am 10.4. traf sich die JUG-DA zu einem Vortrag von Steffen Schluff zum Thema "Von Continuous Integration zu Continuous Delivery". Steffen Schluch arbeitet bei OIO und ist unter Anderem Speaker auf der JAX. Tatsächlich war der Vortrag bei der JUG-DA die "Feuerprobe" für die diesjährige JAX, den dort wird er das Thema erneut präsentieren.
Steffen Schluch hat eine gute und anschauliche Einführung in die Themen CI und CD präsentiert (danke dafür!). Die Folien gibt es hier. Darüberhinaus hat Steffen auf eine Reihe von interessanten Artikeln verwiesen, die sich näher mit CD/DevOps befassen. Kommentierte Links zu einer Auswahl stelle ich im Folgenden vor:
- What is DevOps? beschäftigt sich grundlegend mit dem Spannungsfeld zwischen Entwicklung ("I want change!") und der Betriebsführung ("I want stability!") und erklärt, wie durch DevOps eine Brücke zwischen Entwicklung und BF errichtet werden kann, um eine teamübergreifende, ergebnisorientierte Zusammenarbeit zu ermöglichen.
- Paul Duvall, Agile DevOps: The flattening of the software release process: Serie von interessanten Artikeln zu dem Thema. Der Autor unternimmt darin den Versuch, eine Pattern Language für DevOps zu entwickeln. Insbesondere Patterns à la "Chaos Monkey" erscheinen aber zunächst radikal und können sicherlich kontrovers diskutiert werden (bei "Chaos Monkey" geht es um die zufällige Terminierung einer Komponente in Produktion um zu prüfen, ob das System noch läuft bzw. recovery times zu erhalten).
- Niko Köbler, Continuous Delivery mit dem FeatureToggle Pattern: Niko Köbler ist einer der Organisatoren der JUG-DA und hat jüngst einen Artikel zum FeatureToggle-Pattern auf heise veröffentlicht. Dabei geht es um den Umgang mit Features, deren Implementierung bis zum nächsten Release noch nicht vollständig abgeschlossen ist und / oder die nur für eine bestimmte Benutzergruppe produktiv gehen sollen. Bisher hat man sich hier bspw. mit Feature-Branches beholfen, allerdings steht man dann vor dem Problem, unter Umständen eine Vielzahl von Feature-Branches für das nächste Release in den Master-Branch zu mergen. FeatureToggle kann hier helfen, CD auf Basis eines einzigen Code-Branches zu etablieren, indem einzelne Features selektiv an- oder ausgeschaltet werden können.