Automatisierung in der Software-Entwicklung

DevOps technisch realisieren

Im Interview berichtet Frank Pientka, Senior Software Architect bei Materna, was bei der technischen Realisierung des DevOps-Ansatzes unbedingt bedacht werden sollte.

Frank Pientka, Materna

Frank Pientka, Senior Software Architect bei Materna: „Agile Methoden wie Scrum kommen zumindest in der Software-Entwicklung bereits zum Einsatz.“

IT-DIRECTOR: Herr Pientka, was ist die Hauptzielrichtung der DevOps-Strategie?
F. Pientka:
Sie zielt darauf ab, Prozesse rund um die Software-Entwicklung und -inbetriebnahme durch ihre weitgehende Automatisierung zu beschleunigen. Dazu müssen Methoden und Werkzeuge zur Automatisierung und zum Messen von Softwarebausteinen herangezogen werden.

IT-DIRECTOR: Wie sehen die Startvoraussetzungen in den Unternehmen aus, den Dev­Ops-Ansatz mit Leben zu erfüllen?
F. Pientka:
In vielen Unternehmen wurde die Basis mit Methoden und Werkzeugen bereits gelegt. Agile Methoden wie Scrum kommen hier schon zumindest in der Software-Entwicklung zum Einsatz. Sie kann nun flexibel auf den Softwarebetrieb ausgedehnt werden. Continuous Integration (CI) und Continuous Delivery (CD) innerhalb der Software-Entwicklung sind weitere etablierte Methoden und Werkzeuge, auf die Unternehmen für eine erfolgreiche Einführung von DevOps bauen können.

IT-DIRECTOR: Können Sie in puncto CI und CD ins Detail gehen?
F. Pientka:
Zentrale Aufgabe von CI ist die Zusammenführung aller Applikationsartefakte innerhalb eines Versionskon-trollsystems und eines Software-Respository, beispielsweise Git und Nexus, um darüber jederzeit einen „Build“ der Applika­tion erstellen zu können. Über den Einsatz eines weiteren Werkzeugs wie Jenkins können Build-Prozesse weiter automatisiert werden – bis hin zur automatisierten Durchführung von Softwaretests. Mittels CD kann ein einheitliches und konsistentes Software Deployment bewerkstelligt werden, das von der Entwicklung über die Vorproduktion mit den Tests bis in die Produktion reicht und dank CI und Werkzeugen wie Jenkins automatisiert abläuft.

IT-DIRECTOR: Was kann die Servervirtuali­sierung zur Prozessautomatisierung ­beitragen?
F. Pientka:
Die Hersteller haben den Funktionsumfang ihrer Virtualisierungssoftware über die Jahre erheblich erweitert. Sie halten innerhalb ihrer Suiten Werkzeuge zur Automatisierung und Orches-trierung vor, um darüber den Aufbau, die Konfiguration und den Betrieb virtualisierter Systeme weitgehend zu automatisieren und damit dem DevOps-Ansatz von Grund auf einen zusätzlichen Automatisierungsschub zu verleihen. Auch Virtualisierungsofferten aus der Open-Source-Ecke bieten mittlerweile ausgereifte Werkzeugsuiten zur Automatisierung von Aufbau-, Konfigurations- und Betriebsprozessen. Wie das im großen Stil funktioniert, das zeigen Internetunternehmen wie Facebook, Google und Ebay.

Anwendungsentwickler können es sich heute generell nicht mehr leisten, zu viel Zeit für den Aufbau, die Konfiguration und den Betrieb von Systemen zu verwenden. Außerdem setzen moderne Cloud-Konzepte voraus, dass der Betrieb und die Aktualisierung von Software automatisiert im Hintergrund ablaufen, gestützt durch die Werkzeuge der virtualisierten Systeme. Nur auf diese Weise können diese Systeme einschließlich der darauf laufenden Software mittels Lösungen wie Platform as a Service (PaaS) und Infrastructure as a Service (IaaS) beliebig wiederholbar und verlässlich bereitgestellt werden.

IT-DIRECTOR: Wird nicht auch die Virtualisierung für eine maximale Abstraktion der Bestandteile von Applikationen gebraucht?
F. Pientka:
Ja, zudem für eine einfache Portabilität dieser Bestandteile. Nicht mehr physische Server und Betriebssysteme, sondern exakt auf den Bedarf zugeschnittene Bausteine werden über zentrale Container bereitgestellt. Diese Komponenten müssen im Unternehmen nicht zwangsläufig selbst gefertigt werden. Der Markt bietet mittlerweile eine große Auswahl an vorgefertigten Bausteinen, die in standardisierter Form und dadurch einfach ins zentrale Repository aufgenommen werden können.

Ein Hersteller, der solche vorgefertigten xPaaS-Bausteine offeriert – xPaaS ist eine Kombination aus PaaS, IaaS und weiteren Services – ist Docker. Wie gut sich solche Bausteine im Betrieb und zuvor bei der Integration in die bestehende Infrastruktur bewähren werden, das wird die nahe Zukunft zeigen.

IT-DIRECTOR: Zum Thema „automatisierte Softwaretests“: Was sollte unbedingt mit bedacht werden?
F. Pientka:
Softwaretests zu automatisieren, ist nur eine Seite der Medaille. Die andere Seite ist, kontinuierlich Rückmeldung zu geben, um so die Qualität der Software Test für Test steigern zu können. Ein proaktives Monitoring ist dafür unerlässlich. Es sollte idealerweise von Beginn an, also bereits bei der Entwicklung der Software, greifen und Aufschluss über alle Ebenen der Applikation sowie der darunter liegenden Infrastruktur geben. Umso umfassender und aussagekräftiger die Rückmeldungen, desto höher wird letztlich die Qualität der betriebsbereiten Software sein.

IT-DIRECTOR: Inwieweit zahlt sich der Wechsel zu DevOps für das Unternehmen aus?
F. Pientka:
Der Lohn sind kürzere Releasezyklen, verlässliche, weil professionell durchgetestete Bausteine, auf den Bedarf ­zugeschnittene Funktionen, dadurch in der Summe sowohl ­eine höhere Produktivität als auch Wettbewerbsfähigkeit im Rahmen des Internetauftritts.

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok