Infrastructure as Code ist schon fast ein alter Hut, und gerade in der cloud-basierten Entwicklung im Mainstream angekommen. AWS hat Cloud Formation, Azure seinen Resource Manager, und Google Cloud den Deployment Manager. Darauf aufbauend bildet sich ein wachsendes Ökosystem aus Tools wie Terraform oder Pulumi, die den „as Code“-Anteil noch besser greifbar machen.

Auf der anderen Seite des * as Code Spektrums etabliert sich nun auch „Architecture as Code“. Mit Angeboten wie Structurizr ist es nun auch möglich, System- und Anwendungs-Architektur in Form von Code zu beschreiben und wie anderen Code zu versionieren. Dass aus diesem Architekturmodell auch hübsche Diagramme gerendert werden können, ist ein netter Nebeneffekt.

Dieser Workshop zeigt Möglichkeiten auf, die beiden Konzepte Infrastructure as Code und Architecture as Code miteinander zu verbinden – mit dem Ziel, die gleichen agilen Prinzipien, mit denen wir Anwendungscode entwicklen, auch auf die Entwicklung unserer Architektur und der verwendeten Infrastruktur anzuwenden. Letztendlich sollen die Beschreibung der Architektur eines Systems, die Implementierung dieser Architektur, sowie die Beschreibung der Infrastruktur auf der das System laufen wird, zusammenfinden – einserseits indem sie örtlich näher zusammengebracht werden (beispielsweise im gleichen Sourcecode-Repository), andererseits indem sie auch technologisch zusammenwachsen (alle drei sind Sourcecode, im Idealfall sogar in den gleichen Programmiersprachen & Tools umgesetzt).

Der Workshop wird aus folgenden Blöcken bestehen:

  • Motivation & Hintergrund (Vortrag)
  • Hands-On mit structurizr & pulumi für die Microsoft Azure Cloud
  • Beispiele & Live Coding

Für den Hands-On Teil sollten die Teilnehmer ein Notebook dabei haben welches Remote-Desktop-Verbindungen zu einer Windows VM (wird gestellt) aufbauen kann – out of the box sollte das von jedem Windows-Rechner aus gehen. Die gestellte VM wird alle nötigen Tools beinhalten. Idealerweise registrieren die Teilnehmer vorab eigene Accounts bei structurizr.com und pulumi.io, notfalls können auch Workshop-Accounts gestellt werden. Teilnehmer, die lieber nativ am eigenen Rechner arbeiten möchten, sollten vorab folgende Tools installiert haben, sowie über eine Microsoft Azure Subscription verfügen:

Christian Eder Zühlke Engineering GmbH

Christian Eder ist als Lead Software Architect bei der Zühlke Engineering GmbH in der Cloud zu Hause – typischerweise in Projekten im IoT Umfeld. Mit einem Fokus auf Azure-Technologien beschäftigt er sich besonders gern – ganz im Sinne „* as Code“ mit Automatisierungsthemen jeglicher Art.