CLOUD 2019 - Interview mit Erik Auer Wie passen Application-Container in eine sichere Software-Pipeline?
In der kommenden Woche, am 10. September, startet in Bonn die diesjährige Konferenz „CLOUD 2019 – Technology & Services“. Gemeinsam mit Wolfgang Haider, Teamleiter Configuration Management Raiffeisen Software, bestreitet Erik Auer, Cloud Solution Architekt bei Whizus, die Keynote um 16:10 Uhr zum Thema „Deployment im Container: Business Anforderungen und technische Umsetzung“. Als Horsd’œuvre serviert DataCenter Insider, Medienpartner der Veranstaltung, ein Interview mit Auer.
Anbieter zum Thema

In der Keynote soll es um auditierbare und revisionssichere Container-Deployments gehen, um die Architektur und das Business-Alignment des Deployment-Konzeptes sowie um Standardisierung – und zwar speziell bezogen auf die Finanzbranche. Denn eine Software-Pipeline hat im Finanzwesen spezielle Herausforderungen zu bewältigen. Vor allem müssen Anforderungen seitens Bankenaufsicht und Standards für Zertifizierungen erfüllt werden.
Die Implementierung der Pipeline muss für Audits viele Informationen liefern können. Gleichzeitig benötigt man die Flexibilität und Agilität, die der heutige Markt verlangt um Software rasch auszuliefern. Haider und Auer haben vom Beginn einen Aufbau begleitet und können so von zahlreichen Fortschritten, aber auch Rückschlägen über die Jahre hin berichten.
Anhand des aktuell verwendeten Tool-Stacks der Pipeline beleuchten die beiden, welche Integration einzelner Tools realisiert und welche Business Anforderungen dadurch jeweils gelöst wurden. Dabei werden die wichtigsten Details der Pipeline, wie die revisionssichere Ablage der Software Artefakte, die auditierbare Realisierung der Releases und die rechtlich notwendigen Freigaben genauer beschrieben.
Wo liegt in einem Cloud-Szenario der Vorteil von Application Containern?
Erik Auer: Container sind sehr flexibel und leichtgewichtig, und sie lassen sich sehr einfach zwischen verschiedenen Betriebsumgebungen portieren. Diese Technologie ist nicht an die Cloud gebunden, sondern lässt sich auch in einem inhouse-Rechenzentrum sehr gut nutzen. Sie macht allerdings die Cloud und virtuelle Maschinen noch flexibler. Sie ist aber eine gute Ergänzung zu der Flexibilität der virtuellen Maschinen in der Cloud.
Wie grenzen sich Container technisch gegenüber der Virtualisierung ab?
Erik Auer: Die klassische Virtualisierung mittels Hypervisor baut auf der Hardware-Ebene auf. Neben der Hardware ist der Hypervisor auch für die Erstellung des Kernel, der als Hardware Schnittstelle fungiert und des Betriebsystems verantwortlich. Bei einer Containerlösung fällt dieser Mehraufwand weg, weil mehrere Container die Virtualisierung und auch denselben Kernel nutzen können. Ein Container ist somit leichtgewichtiger als eine virtuelle Maschine, und man kann auf einem Betriebssystem sehr einfach viele Container laufen lassen.
Mit welchem Anteil von Containerlösungen können wir in Zukunft rechnen?
Erik Auer: Der Anteil wird sehr groß sein. Wir haben aktuell keinen Kunden, der sich nicht mit Containerlösungen beschäftigt. Das enorme Interesse an dieser Technologie sehen wir auch in der Community, wo wir uns mit anderen IT-Architekten und Anwendern austauschen. Die Container-Technologie hat sich inzwischen etabliert. Die aktuellen Herausforderungen betreffen beispielsweise das Orchestrieren einer großen Anzahl von Containern.
Sind Microservices die technische Voraussetzung für Container oder lassen sich da auch größere Funktionsblöcke `reinpacken?
Erik Auer: Für mich sind Container und Microservice zwei unabhängige Begriffe. Zu einem gehört zu einem Microservice mehr als nur eine abgeschottete Umgebung, wie es ein Container potentiell liefern kann. Ein Beispiel für Microservices sind die sogenannten Zwölf-Faktoren Apps. Andererseits kann man auch größere Software Teile in Container packen.
Was passiert, wenn sich eine Anwendung nicht für die Containerisierung eignet?
Erik Auer: Viele Applikationen lassen sich vergleichsweise einfach in Container packen. Probleme treten allerdings auf, wenn es um große und komplexe betriebswirtschaftliche Software geht. In einem solchen Fall versuchen viele Unternehmen, die dazugehörige Applikation in Richtung Microservices umzubauen, um sie später doch in Container packen zu können.
Wie und mit welcher Technologie lassen sich Container verwalten?
Erik Auer: Geht es lediglich um drei bis vier Container kommt ein Administrator gut mit Standard-Tools aus. Betreibt ein Unternehmen allerdings hunderte von Containern mit wöchentlichen oder gar täglichen Releases, dann sind spezialisierte Lösungen nötig. Ein Beispiel dafür ist „Kubernetes“, ein Open-Source-System, das die Bereitstellung, Skalierung und Verwaltung von Container-Anwendungen automatisiert. Eine Erweiterung dazu sind kommerzielle Lösungen wie „OpenShift“ von Red Hat, hier bekommen Unternehmen kompletten Support.
Wie behalten Unternehmen beim Betrieb von Containern die Übersicht?
Erik Auer: Die Übersicht ist besonders wichtig, wenn ein Fehler auftritt. Wenn ein Request durch mehrere Microservices durchläuft und nicht ankommt, müssen Administratoren nachvollziehen, welcher Microservice den Fehler verursacht. Sie nutzen dazu Werkzeuge wie „Dynatrace“, die Anomalien erkennen und dann einen Alert geben und gleichzeitig beim Erkennen eines Problems sehr genau lokalisieren lassen.
Wie lassen sie bei vielen Containern geordnete Releases sicherstellen?
Erik Auer: Wenn in einem Unternehmen mehrere Teams eine Vielzahl von Services in einem Release freigibt, geht die Übersicht schnell verloren. Abhilfe schaffen Werkzeuge wie „Xebialabs Release“. DevOps-Teams können darüber das Release-Management automatisieren. Details zu diesem Thema erfahren Interessenten in einem Konferenzvortrag, den ich zusammen mit Dr. Wolfgang Heider halte.
Welche Business Anforderungen bestehen für das Deployment von Applikationen in einem Container, und wie lassen sich diese umsetzen?
Erik Auer: Der Hauptfaktor, warum sich Unternehmen für Container entscheiden, ist Time to Market, also ein beschleunigter Zyklus der Software-Entwicklung. Es geht darum, neue Features schnell auszuliefern und Bugs ebenso schnell zu beseitigen. Um die Durchlaufzeit zu verkürzen, ist eine Automatisierung notwendig. Container erfüllen diese Forderungen. Sie sind leichtgewichtig, lassen sich schnell deployen, und sie ermöglichen eine gute Automatisierung.
Vor welchen Hürden stehen Unternehmen, wenn es um die Architektur und das Business-Alignment des Deployment-Konzeptes geht?
Erik Auer: Wie oben beschrieben, ist bei großen und komplexen Anwendungen die Architektur der Software ein Hindernis. Eine weitere Hürde ist die Abhängigkeit verschiedener Software-Elemente voneinander. Diese erschwert ein unabhängiges Releasing. Die Software-Architekten haben dann zwar viele kleine Software-Komponenten, aber sie müssen dennoch alles in einem Stück releasen.
Einen Ausweg bietet auch hier der Umbau der Software. Ebenfalls nötig ist eine andere Sichtweise: Wollen Unternehmen nämlich hundertprozentig sicher sein, dass alle Komponenten funktionieren, dann können sie nur alle Teile gemeinsam herausgeben. Da der Weg in Richtung kleinere Software Elemente führt, ist ein höherer Automatisierungsgrad in allen Build, Test und Deployment Prozessen notwendig.
Wie sehen die Voraussetzungen für schnelle, standardisierte Deployments und für eine gesteigerte Effizienz in der Produktion aus?
Erik Auer: Schnelle Deployments, eine gesteigerte Effizienz und gleichzeitig eine hohe Stabilität – das kann schnell zu einem Widerspruch führen, wenn man nicht aufpasst. Man kann ja nicht nur ständig neue Microservices entwickeln, sondern man muss auch dafür sorgen, dass diese fehlerfrei laufen und auch eingesetzt werden. Dadurch muss man natürlich besonderen Wert auf Testautomatisierung legen.
Generell ist Automatisierung ein wichtiges Thema um Deployments zu standardisieren und auch Fehler zu vermeiden. Idealerweise sollte ein Service Deployment oft laufen und regelmäßig getestet und optimiert werden. Dann gewinnt man nicht nur standardisierte, sondern auch stabile Deployments.
Wie gestalten sich auditierbare und revisionssichere Container-Deployments in der Finanzbranche?
Erik Auer: In der Finanzbranche gibt es spezielle Regulierungen und Standards die bei Software Releases eingehalten werden müssen. Dies gilt natürlich auch für Microservices und Container. Sämtliche Änderungen in einer Software müssen im Rahmen von Audits nachvollziehbar sein. Wird zum Beispiel Software geändert, welche die Berechnung der Risikobewertung einer Person für eine Kreditvergabe verändert, muss dies im Detail dokumentiert sein. Das erfordert eine Steigerung der oben erwähnten Übersicht. Details zu diesem Thema erfahren Interessenten auf einem Vortrag von Dr. Wolfgang Heider und mir.
Zu kurzfristig? Zu weit weg?
Die Konferenz macht in weiteren Städten zu weiteren Terminen Station:
am 17. September 2019 in Hanau
Interessenten können sich für alle Termine noch um VIP-Tickets bewerben.
(ID:46120244)