Continuously delivering infrastructure – Part 1: Ansible, Molecule and Testinfra

Motivation

TestAllTheThingsAs part of a centralised system engineer tools and operations team, we often show teams how to set up their continuous integration workflow. Most of the time, this is build in a Java environment with a pipeline made in Jenkins CI and of course some testing frameworks.

Our infrastructure is provisioned with Ansible, so we are able to write Infrastructure as Code (IaC). We create VirtualBox files for almost all of our playbooks to test changes with it manually. This construct however failed regularly once it hit the staging environments. So the following thought came up: We already write code – why don’t we just continuously deploy it also?

Continue reading “Continuously delivering infrastructure – Part 1: Ansible, Molecule and Testinfra”

Warum agil so schwer ist

Agil ist doch eigentlich ganz einfach. Ein großes Vorhaben wird in kleine Iterationen unterteilt; es wird immer das wichtigste umgesetzt;  das Schaffen von Wert für den Kunden steht im Vordergrund; Ziele und Fortschritt werden transparent gemacht; das Team organisiert sich selbst und bemüht sich um kontinuierliche Verbesserung.
Warum ist dann aber Agilität kein Selbstläufer? Warum fliegt das Ding nicht einfach so, obwohl alle Beteiligten guten Willens sind?
Eine einfache Antwort wäre, dass das agile Setup in der Organisation nicht konsequent genug ist und jede Anpassung, jeder Kompromiss einem Erfolg im Weg steht. Stimmt, aber darum geht es mir heute nicht. Stattdessen will ich beleuchten, was für ein radikales Umdenken Agilität erfordert und wie das in oft eklatantem Widerspruch zu unseren tief verankerten Überzeugungen und Haltungen steht. Schauen wir uns dazu doch mal die gängigsten agilen Prinzipien an.

Continue reading “Warum agil so schwer ist”