FINANZ-IT IN DER PRAXIS8. Mai 2019

Überraschende Wahrheiten zu DevOps: Trends, Tools & Modeerscheinungen

DevOps - ungeschminkte Wahrheiten von Petteri Ahonen, Country Manager für Deutschland bei Eficode
Petteri Ahonen, Country Manager für Deutschland bei EficodeEficode

Das Wichtigste zuerst: Dank DevOps lässt sich Software im Finanzbereich schneller und in höherer Qualität bereitstellen. Deswegen gewinnt DevOps auch zunehmend an Bedeutung – gerade bei Banken und Versicherern. Trotzdem: Viele haben keine genaue Vorstellung von DevOps. Zeit, hier etwas Licht ins Dunkel zu bringen! Was also ist DevOps wirklich?

von Petteri Ahonen und Heikki Hämäläinen, Eficode

DevOps ist zunächst eine Philosophie, die sich mit folgenden Fragen auseinandersetzt: Wie sollte effiziente Softwareentwicklung aussehen? Welche Unternehmenskultur unterstützt diese effiziente Vorgehensweise und welches ultimative Ziel verfolgt die unternehmensweite Softwareentwicklung?

Weiter gefasst kann DevOps aber auch als Strategie gesehen werden, die zum Ziel hat, neu auftretenden Bedrohungen entgegenzutreten – wie beispielsweise die nationalen Tendenzen in einer globalen Welt, Turbulenzen am Finanzmarkt, die rein statistisch gesehen immer wieder auftreten, oder die ökologische Zeitbombe, auf der wir alle sitzen.

Wenn wir nicht in der Lage sind, Software schnell und effizient bereitzustellen, die dabei unterstützt, diese Bedrohungen schnell zu erkennen und ihnen entgegenzuwirken, wird dies die Reaktionsfähigkeit allgemein stark behindern.”

Hier setzt DevOps an und entwickelt sich kontinuierlich weiter. Was also gibt es Neues rund um das Thema DevOps? Lassen Sie uns zunächst einen Blick auf die angesagtesten Trends und Tools werfen, die hier Einfluss nehmen.

Trends, die DevOps beeinflussen

Tools & Plattformen zur Datenerfassung (Elastic Stack), zur Visualisierung von Daten über verschiedene Disziplinen hinweg (Grafana) und zur Erstellung vielfältiger, datenbasierter Kennzahlen (Data Science, DataOps) geben Sichtbarkeit und Transparenz – und sind damit eine wichtige Voraussetzung für DevOps. Die Akzeptanz der Cloud wächst stetig und beeinflusst die gesamte IT-Landschaft – auch eine Basis für DevOps.

Virtualisierung und automatisches Umgebungsmanagement spielen eine bedeutende Rolle für DevOps – Docker ist auf dem Vormarsch und wird sich bald als ernstzunehmende Plattform für Microsoft-Technologien etablieren. Wir werden hoffentlich bald auch Virtualisierungstools zur Hand haben, die in der Lage sind, komplette Systeme von Drittanbietern zu imitieren und damit die Entwicklung vernetzter Anwendungen zu vereinfachen. Wenn eine Anwendung beispielsweise Nutzer eines nationalen Authentifizierungsanbieters wie Tupas verifizieren muss, kann eine Scheinversion des Diensteanbieters auf dem Laptop des Entwicklers laufen. So entsteht die Möglichkeit, die Software in einem realen Szenario zu entwickeln.

Laut Gartner drehen sich im Jahr 2019 die meisten IT-Trends um den weitreichenden Bereich der Infrastruktur-Agilität. Dieser Punkt sollte nicht zum Engpass werden, wenn es darum geht, ein neues Produkt innerhalb weniger Tage auf den Markt zu bringen. Wenn dieser Engpass wegfällt, wird es möglich sein, plötzlich weltweit rasant ansteigende Zugriffszahlen abzubilden, wenn sich Dienste viral ausbreiten – ganz ohne Kompromisse in puncto Produktqualität und insbesondere auch in Bezug auf die Sicherheit. Die Gartner-Umfrage aus dem Jahr 2017 zum Thema Enterprise DevOps führte die Teamkultur als wichtigste Voraussetzung zur erfolgreichen Umsetzung von DevOps in Unternehmen auf.

Insgesamt zeigt sich, dass die meisten Unternehmen am Anfang ihrer DevOps-Transformations-Reise stehen. Für sie stellt sich die Frage: „Wie steigt man am besten ein?” Die wenigsten Unternehmen sind so weit, dass sie sich die Fragen stellen können: „Was gibt es sonst noch?“ oder „Wie sehen die nächsten Schritte aus?“ Klar ist: Es braucht ein stabiles Fundament hinsichtlich der DevOps-Basics, um hier gut aufgestellt zu sein.”

Was gibt es wirklich Neues bei DevOps?

Wie so oft schreiten die Dinge auch bei DevOps in einem Tempo voran, das man kaum bemerkt, insbesondere wenn man mittendrin steckt. Bewährte DevOps-Methoden finden bereits in zahlreichen neuen Geschäftsfeldern Anwendung. Dazu gehört auch die Industrie – ein Bereich, in dem diese Art und Weise der Bereitstellung von Software noch nicht weit verbreitet ist. Vor allem in der Automobil-, Chemie- und Elektroindustrie arbeitet man jetzt zunehmend softwarebasiert. Das heißt, dass spezifische Hardware vermehrt durch universell einsetzbare Hardware ersetzt wird, die mit der darin enthaltenen Software die gewünschte Lösung bietet. Dreh- und Angelpunkt ist dabei eine effiziente Softwareentwicklung – und genau darum geht es bei DevOps. Und auch anderen Branchen wie Banken und Versicherungen würde das nicht schaden.

Autor Petteri Ahonen, Eficode
Petteri Ahonen, Country Manager für Deutschland bei Eficode. Eficode ist Europas führendes DevOps-Beratungsunternehmen mit nordischen Wurzeln. Eficode hat Niederlassungen in München, Amsterdam, Kopenhagen, Stockholm, Tampere, Göteborg und Helsinki.
Eine neue Entwicklung bei DevOps, die bisher ausschließlich im Cloud-Umfeld zu beobachten war, sich aber mittlerweile als allgemeine Architekturlösung durchgesetzt hat, ist Function as a Service (FaaS). Dabei wird eine Infrastruktur aufgebaut, die die Batch-Verarbeitung flexibel unterstützt. Wenn selten benötigte Prozesse erforderlich sind, wie beispielsweise die Verarbeitung hochgeladener Bilder zu Miniaturansichten, werden Computerressourcen automatisch für diesen einen Prozess bereitgestellt und anschließend deaktiviert. Amazon Lambda ist ein Beispiel für diese Art von Service in der Cloud. In letzter Zeit sind aber auch Softwarelösungen auf den Markt gekommen, die diese Art von Elastizität in ITK-Infrastrukturen aufbauen.

Die geeignete Unternehmenskultur ist einer der Schlüsselfaktoren, wenn man mittels DevOps neue Technologien und Praktiken gewinnbringend nutzen möchte. Inner Source ist dafür ein neues Konzept, das sich zunehmender Beliebtheit erfreut. Dazu gehören Open Source Best Practice-Verfahren, die innerhalb des Unternehmens genutzt werden. Das heißt, Teams und Projekte haben Einblick in die Versionskontrolle, das Work-Management und die Tools der anderen, sodass sich eine Kooperations- und Innovationskultur entwickeln kann.

Design System ist ein weiteres neues DevOps-Konzept, das darauf abzielt, die Unternehmenskultur fortlaufend zu verbessern. Bei Design System geht es darum, UI-/UX-Design als Teil der unternehmensweiten Softwareentwicklung zu betrachten. Hierzu werden wiederverwendbare Komponenten für jedes Softwareprodukt bereitgestellt, die für ein einheitliches Markenbild sorgen. Damit tragen DevOps-basierte Praktiken zu noch besseren Ergebnissen bei.

In welches DevOps-Tool sollten Sie investieren?

Im Bereich DevOps gibt es bereits eine Vielzahl ausgereifter, robuster Tools. Doch bei DevOps geht es nicht nur um Tools.”

Auch wenn Sie über die richtigen Werkzeuge verfügen, kann sich eine nicht angepasste Unternehmenskultur negativ auf die Entfaltung des vollen Potenzials von DevOps auswirken.

Wenn wir jedoch ein Tool empfehlen sollten, wäre es Grafana.”

Denn von der Idee bis zum fertigen Produkt sind viele Schritte nötig – ein iterativer Vorgang mit der Zielsetzung, dem Kunden ein optimales Produkt bereitzustellen. Dabei gibt es ineffiziente Vorgänge, die einem nicht bewusst sind, die jedoch jederzeit auftreten können. Um den gesamten Prozess so effizient wie möglich zu gestalten, muss ein Führungsteam die Abläufe in Echtzeit überblicken können – um Engpässe rechtzeitig zu erkennen. Hier setzt Grafana an: als individuell anpassbares Werkzeug, mit dem sich beliebige Kennzahlen visualisieren lassen.

Da immer mehr Unternehmen auf durch und durch datenbasierte Entscheidungsprozesse setzen, werden immer häufiger Tools eingesetzt, die eigene Kennzahlen ermitteln. Wie sich die oft rosarot gefärbte Sichtweise des Top-Managements (wie Puppet es im letztjährigen State of DevOps-Bericht beschreibt) hin zu einem realistischen, klaren Blick auf die tatsächliche Entwicklung des Unternehmens schärfen lässt, hängt vom konkreten Einzelfall ab. Eigene Kennzahlen sind dafür unerlässlich.

Welche Tools oder Technologien sind vermutlich nur vorübergehende Modeerscheinungen?

„Serverlos“ – das Buzzword der Branche – haben Sie sicherlich auch schon gehört. Doch die serverlose Entwicklung scheint im Großen und Ganzen nur für bestimmte Problemstellungen geeignet zu sein. Serverlos ist nicht so revolutionär, wie es der aktuelle Hype um dieses Thema vermuten lässt.”

Wenn es um die passende Tooling-Entscheidung geht, die Versionskontrolle, Tests und Sicherheit umfangreich ermöglichen, sind in der „serverlosen“ Welt noch keine zufriedenstellenden Antworten zu finden.

„Serverlos“ führt nirgendwo hin. Meiner Ansicht nach eignet sich dieses Architekturkonzept nur für bestimmte Themenstellungen. So beispielsweise für Anwendungen mit klaren, einfachen, batch-basierten Hintergrundaufgaben oder für das schnelle Prototyping eines neuen Produkts.

DevOps in Europa

Viele Unternehmen in Europa kämpfen entweder mit der Einrichtung grundlegender DevOps-Tools oder der unternehmensweiten Harmonisierung der eingesetzten Tools. Wie bereits erwähnt, ist eine solide Basis erforderlich, die es Unternehmen ermöglicht, Softwareentwicklungskompetenzen zu erwerben, mit denen sie ihren Wettbewerbern einen Schritt voraus sind. Und die sind oftmals nicht vorhanden.

Aus diesem Grund sollte man mit einer soliden Auswahl an ineinandergreifenden Tools beginnen – der Schlüssel für einen durchgängigen Prozess und eine kontinuierliche Pipeline. Dazu gehören Versionskontrolle, Dokumentationsmanagement, Work-Management, ein Continuous Integration/Delivery-Server und das Konfigurationsmanagement.

Als nächste große Herausforderung in Sachen Tools steht dann der Cloud-Einsatz an. Glücklicherweise eine Aufgabe, die sich in der Regel problemlos bewältigen lässt.

Vor allem die deutsche Industrie ist oft noch sehr traditionell aufgestellt und verändert sich (vergleichsweise) langsam. Gerade hier lassen sich mit der Anwendung von DevOps-Praktiken enorme Vorteile erzielen.”

Wie gesagt, Tools sind nicht alles…

Die Verwendung von DevOps-Tools setzt agile und Lean-Methoden voraus. So ist beispielsweise Acceptance Test-Driven Development (ATDD) eine Entwicklungsmethodik, die die Kommunikation zwischen Geschäftskunden, Entwicklern und Testern erfordert. Denn in der Praxis wird erwartet, die Projektanforderungen mit dem Use Case zu matchen. Daher bringt die alleinige Einführung eines ATDD-Tools nicht das gewünschte Ergebnis.

Und auch auf die Cloud um ihrer selbst willen zu setzen, bringt nicht das gewünschte Ergebnis. Vielmehr kommt es auf eine flexible, variable Infrastruktur an. Andernfalls lässt sich keinerlei Kostensenkung – häufig der Grund für die Verlagerung der Infrastruktur vom Data Warehouse in die Cloud – erreichen. Im schlimmsten Fall steigen sogar die Betriebskosten mit einer schlecht optimierten Cloud-Anwendung im Vergleich zu dem, was Sie bisher hatten.

Wie können Sie sich über die neuesten DevOps-Trends und -Tools auf dem Laufenden halten?

Angesagte Quellen wie Reddit, StackOverflow oder andere geben nicht wirklich darüber Auskunft, welche neuen Technologien oder Tools nützlich sind – oft freuen sich sogar DevOps-Experten über ein Tool, das dann in sechs Monaten vom Markt verschwindet und nie wirklich zur Marktreife gelangen konnte.

Ein weitaus besserer Weg, immer auf dem neuesten Stand zu sein, ist das kontinuierliche Testen neuer Tools- und Methoden in nicht geschäftskritischen Projekten. So erkennen Sie die Vor- und Nachteile, aber vor allem die Marktreife eines Tools.”

Deshalb haben Unternehmen wie Google Initiativen ins Leben gerufen, bei denen Mitarbeiter einen gewissen Prozentsatz ihrer Arbeitszeit für persönliche Projekte nutzen sollen – und so neue Technologien im Rahmen ihrer täglichen Arbeit testen.

Software effizienter zu machen, heißt, Unsinn zu beseitigen

Auch wenn DevOps immer mehr zum Mainstream wird: Es spielt keine Rolle, wie gut DevOps an sich derzeit schon angenommen wird.”

Wenn Unternehmen versuchen, ihre Softwareentwicklung agiler und effizienter zu gestalten, verfolgen sie die gleichen Ziele wie DevOps und sind bereits auf dem Weg hin zu DevOps bzw. mittendrin. Kein Wunder: Denn es wäre starrsinnig und kurzsichtig, in Zeiten des digitalen Wandels auf neue, aber erprobte Praktiken und Technologien zu verzichten.Petteri Ahonen und Heikki Hämäläinen, Eficode

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert