Cloud-DevOps als Teil der digitalen Transformation | Infopulse
Cloud-DevOps als Teil der digitalen Transformation - Banner
Zurück

Cloud-DevOps als Teil der digitalen Transformation

quotes image
Es klingt zwar wie ein schreckliches Klischee: “Jeder macht es”. Aber in der Unternehmens-IT gibt es einen Wandel hin zur Übernahme von transformierenden Cloud-Technologien, und jeder wird es machen. Tatsächlich wird erwartet, dass die Ausgaben für die Cloud-Nutzung von 2015 bis 2020 mehr als das Sechsfache der gesamten IT-Ausgaben betragen werden.

Für Unternehmen bedeutet die Cloud-Technologie schnellere Entwicklung von IT-Services, höhere Geschwindigkeit bei der Bereitstellung von Kundendiensten und Anwendungen sowie mehr Agilität und Wettbewerbsfähigkeit.

Wenn all dies von den aktuellen Tools und dem agileren DevOps-Konzept unterstützt wird, sind die Vorteile für Unternehmen unbestreitbar. DevOps in der Cloud kann zu einer wirklichen digitalen Transformation führen, die sich auf die Abläufe in einem Unternehmen, die Lieferzeiten auf dem Markt, die Kundenerfahrung und das Endergebnis auswirkt.

Wie DevOps Ihren Betrieb verbessern kann: Die Zahlen

Im Januar 2017 wurde in einer Umfrage von Interop ITX berichtet, dass über 50% der über 300 befragten IT-Fachleute aus verschiedenen Branchen DevOps derzeit ausschließlich als einzelne Technologie oder in Kombination mit anderen Entwicklungsprozessen nutzen. Nur 20% der Befragten gaben an, dass sie keine Verwendung von DevOps innerhalb der nächsten 12 Monate planen.

Von denjenigen, die die DevOps-Methodik vor relativ kurzer Zeit eingeführt haben, behaupteten 25%, dass deren Einführung bereits geringere Kosten bewirkte, und 20% berichteten, dass höhere Einnahmen dadurch erzielt werden konnten.

In Bezug auf die Migration in die Cloud für die Entwicklung stellt eine Evans-Data-Studie fest, dass die Entwickler, die die Cloud-Plattform-Entwicklung verwendet haben, ihre Gesamtentwicklungszeit durchschnittlich um 11,6% reduzieren konnten. Laut der Studie ist diese Zeitersparnis im Wesentlichen auf die Fähigkeit der Plattform zurückzuführen, den Prozess zu rationalisieren. Einige Entwickler haben sogar Zeiteinsparungen von bis zu 30% gemeldet.

Was ist also DevOps und die DevOps-Methodik?

Einfach definiert ist es eine Verschmelzung von zwei traditionell getrennten Funktionen aus der Softwareentwicklung und dem Softwarebetrieb. Die DevOps-Methodik resultiert aus der Erkenntnis, dass diese beiden Funktionen voneinander abhängig sind, aber wenn sie als eine Einheit gedacht werden, kann Software häufiger bereitgestellt und die Stabilität des Dienstes für die Kunden aufrechterhalten werden.

Insbesondere ist es deshalb der Fall, weil die Operations- und Entwicklungsteams dabei während des gesamten Produktlebenszyklus eng zusammen arbeiten, wobei die Mitarbeiter in der Operations-Abteilung (Systemadministratoren / -ingenieure, Datenbankadministratoren, Netzwerk- und Sicherheitsteams usw.) bei ihrer Tätigkeit teilweise dieselben Techniken wie die Entwickler verwenden.

Während das DevOps-Modell seinen Ursprung in den digitalen Geschäften hat, laufen die heutigen modernen Anwendungen in Cloud-Infrastrukturen (öffentlich oder privat) mit automatisierten Prozessen für die Skalierung und Abänderung.

Die Hauptkomponenten eines agilen DevOps-Modells sind die folgenden:

  • Es ermöglicht agile Softwareentwicklung mit einem in Sprints zusammenarbeitenden Team und täglichen “Stand-up”-Besprechungen, in denen Fortschritte gemeldet, Probleme gelöst und Verbesserungen für Funktionen und Elemente vorgeschlagen werden.
  • Das Ziel ist in erster Linie die Zeiteinsparung, aber auch die Vermessung aller Ergebnisse und Änderungen, die Kontinuität der Feedbackschleife und die Erhöhung der betrieblichen Effizienz durch die Prozessautomatisierung.
  • Einführung der kontinuierlichen Lieferung mit weiterer Übernahme der kontinuierlichen Bereitstellung bei Bedarf.
  • Nutzung der Vorteile der kontinuierlichen Integration, die durch das automatisierte und fortlaufende Testen, Ändern und Skalieren ermöglicht und im zentralen Code-Repository gespeichert wird.
  • Größere Rolle des Release-Managements, das zusätzliche Verantwortlichkeiten für das RM-Team vorsieht.
  • Einführung der entsprechenden DevOps-Tools für die Cloud, die eine automatische Freigabe, Konfigurationsverwaltung, Orchestrierung, Überwachung und Virtualisierung ermöglichen.

Diese Komponenten werden allgemein als die essentiellen Best Practices bei DevOps anerkannt. Das Schichtprinzip besteht darin, das kollaborative Schreiben des qualitativ hochwertigen Codes mit häufigen, automatisierten Tests zu fördern und dabei das Gesamtbild zu betrachten, die Entscheidungsfindung in Bezug auf die Freigabe zu erleichtern und in kleinen, aufeinander folgenden Schritten mit sofortiger Rückmeldung zu Codedefekten zu arbeiten.

Prozessschritte für den DevOps-Erfolg in der Cloud

Eine umfassende Cloud-DevOps-Einführung erfordert am Anfang signifikante Änderungen bei Menschen, Prozessen und der Technologie. Alle folgenden Schritte werden während der Übergangsphase von kritischer Wichtigkeit sein.

Ehrliche Einschätzung

Unternehmen müssen erstmal ihren “Reifegrad” einschätzen. Es kann sich dabei herausstellen, dass einige Unternehmen in dieser Hinsicht mit einer totalen Trennung von Entwicklungs- und Betriebsfunktionen und manuellen Prozessen noch ziemlich unausgereift sind, wohingegen es bei anderen bereits eine Zusammenarbeit zwischen den Entwicklern und dem IT-Betrieb und vielleicht sogar eine gewisse Cloud-Präsenz gibt, zumindest als Experiment mit einigen grundlegenden Betriebsfunktionen.

Aussehen der DevOps-Organisation

Dies ist ein großer Schritt, wenn nicht der größte, weil er eine systemische Veränderung bei Menschen und Prozessen bewirken wird. Hierbei gilt es, die benötigten und die noch fehlenden Kompetenzen zu identifizieren. Man muss einen Plan für die Schließung der Lücken entwickeln. Es muss einen DevOps-Manager geben und zumindest eine Umschulung für die Mitarbeiter.

Definition des DevOps-Prozesses

In dieser Phase müssen Sie in den Begrifflichkeiten der Automatisierung und Agilität denken. Der Prozess muss kontinuierliche Entwicklung, Integration, Tests, Bereitstellung, Bewertung und Betrieb umfassen. Jetzt ist es wichtig, die potenziellen DevOps-Tools basierend auf Ihren geschäftlichen Anforderungen zu identifizieren.

Einige davon sind breitgefächert, und die Entwickler können damit Apps für mehrere Sprachen erstellen. Zu den weiteren wichtigen Funktionen gehören automatisierte Dashboards, Erstellung automatisierter Workflows, eine anpassbare kontinuierliche Integration usw.

Die DevOps-Tools von Microsoft sind möglicherweise ein guter Ausgangspunkt. Sie bieten viele Vorteile.

  • Eine Cloud-Infrastruktur. Microsoft Azure bietet die Plattform, das Betriebssystem, das Netzwerk und den Speicher an.
  • Laufzeit. Hier findet das DevOps-Team die Umgebung für die Ausführung einer Anwendung vor. Diese Ebene basiert häufig auf der Docker-Maschine mit Linux- oder Windows-Hosts.
  • Verwaltete Cloud. Man kann die Option “Verwaltete Cloud” auswählen, um die Kosten für die Infrastruktur- und die Netzwerkkonfiguration zu umgehen. Das gesamte DevOps-Team muss die von ihm entwickelten Dienste und Anwendungen selber verwalten. Es gibt viele typische verwaltete Cloud-Dienste bei Azure.
  • DevOps-Teams können containerbasierte Apps in vielen verschiedenen Sprachen entwickeln.
  • Überwachung und Prüfung. Sowohl Azure Application Insights als auch Microsoft Operations Management Suite sind Microsoft-Tools, die eine hervorragende Überwachung und Prüfung von Apps für Cloud-DevOps bieten.
  • Teams können die Tools wie Puppet und Chef verwenden, um die Konfiguration einer App zu verwalten. Die direkte Bereitstellung kann über die Werkzeuge der Azure-Befehlszeilenschnittstelle erfolgen.
  • Lebenszyklus der Anwendungen.Die Automatisierungsserver wie Visual Studio Team Services und Jenkins unterstützen die Implementierung von Pipelines, insbesondere das Release-Management.
  • SUSE Linuxarbeitet seit einigen Jahren mit Microsoft zusammen, also wird es in der Microsoft-Umgebung funktionieren. 2014 stellte Microsoft sein Linux bei den Azure-Testautomatisierungstools zur Verfügung – Powershell-, Python- und BASH-Skripten. Mit diesen Tools können Azure-DevOps-Teams bestimmte Workloads in den Cloud-Bereitstellungsszenarien validieren und sicherstellen, dass sie abgeschlossen sind und in der öffentlichen Cloud sicher ausgeführt werden können.
  • Vorteile von Linux-Tools.Mit Linux haben DevOps-Teams die Vorteile einer großen Auswahl an VM-orientierten Verteilungsoptionen (z. B. Red Hat, Ubuntu und SUSE), es gibt eine einfache Bereitstellung von Linux-Bildern von Bitnami, und sie können virtuelle Linux-Maschinen mit vielen Open-Source-DevOps-Tools verwalten (z. B. Puppet und Chef). Das Erstellen einer Linux-VM ist nach dem Durchgehen des Azure-Lernprogramms nahezu abgeschlossen.

Bestimmung der passenden Cloud-Plattform

Die Wahl der Cloud-Plattform hängt wiederum von den betrieblichen Bedürfnissen, den ausgewählten Tools und den Anforderungen für Tests, Bereitstellung und Automatisierung ab.

Die Wahl einer Cloud-Plattform kann tatsächlich die Wahl von mehr als einer Option bedeuten – öffentlich, privat oder hybrid. Außerdem gibt es multifunktionelle Plattformen, die die meisten Geschäftsanforderungen erfüllen, anpassbar und skalierbar sind. Dadurch können DevOps-Teams mit kleineren und weniger kritischen Migrationen beginnen, von ihren Erfahrungen lernen und zu Experten werden.

Zu den beliebtesten Plattformen gehören natürlich AWS DevOps und Microsoft Azure.

AWS: Amazon Web Services unterstützen die Teams in Unternehmen dabei, DevOps mit den Tools zu betreiben, die die traditionell manuellen Aufgaben automatisieren und bei der Verwaltung von Entwicklungsumgebungen helfen. Jeder AWS-Dienst ist sofort einsatzbereit, die DevOps-Teams können einzelne Services nach Bedarf nutzen oder AWS-CloudFormation-Vorlagen verwenden. AWS arbeiten auch mit vielen Tools von Drittanbietern, wobei deren Kauf nur dann erforderlich wird, wenn sie tatsächlich benötigt werden.

Microsoft Azure: Microsoft hat jahrelange Erfahrungen in der Softwareentwicklung und seine Cloud-Dienste spiegeln diese Erfahrungen wider. DevOps-Teams finden bei Azure als umfassenden Cloud-Computing-Service alles von Schnellstart-Tutorials bis hin zu integrierten Tools. Die Auflistung der Produkte umfasst VMs, App-Service und Container-Dienste. Die ganze Palette von Entwicklungswerkzeugen beinhaltet auch Visual Studio, DevTest Labs, API-Management und Xamarin.

DevOps-Tests

Sobald die Plattform, die Werkzeuge und Prozesse identifiziert und definiert sind, können DevOps-Teams darauf eine Reihe von Testanwendungen ausführen, die auf Probleme hinweisen werden. Es wird wichtig sein, diese sofort zu beachten und zu beheben. Die Fehlerbehebung kann Änderungen in der Werkzeugausstattung, in der Testautomatisierung, in den menschlichen Kompetenzen und sogar im Prozess selbst bedeuten.

Festlegung der Erfolgskriterien und Leistungsvermessung

In Bezug auf den gelieferten Mehrwert müssen Agilität und Produkteinführungszeit verfolgt werden. Schätzungen zufolge ist der Mehrwert sicherlich signifikant, wenn der DevOps-Prozess in einem Unternehmen zur Zeitverkürzung bei der Freigabe von Änderungen von einem Monat auf eine Woche führt.

Die Nachverfolgung der Leistung durch Business-Intelligence-Techniken verschafft dem DevOps-Team die Erkenntnis, was es im Hinblick auf Codequalität, Integrationserfolg, Fehlernummertests und Gesamtbetriebserfolg gut macht und was nicht. Das Ziel ist die kontinuierliche Verbesserung von Prozessen und Automatisierungstools.

Fazit

DevOps in der Cloud ist keine fakultative Option mehr. Es ist das, wodurch ein Unternehmen durch die kontinuierliche Verbesserung der Kundenerfahrung wettbewerbsfähig bleibt. Der Einsatz von DevOps in Kombination mit der Cloud-Technologie bei der digitalen Transformation wurde sogar in der jüngsten Studie von Interopitx erforscht.

  • Die Ergebnisse zeigen, dass diese Herangehensweise zu kulturellen Veränderungen innerhalb von Unternehmen führt und insbesondere die Beziehung zwischen der Entwicklungs- und der Operations-Abteilung verbessert. 43% der befragten Entwickler gaben an, dass die Operations-Mitarbeiter in die Besprechung der Produktfunktionalitäten wesentlich involvierter waren, weil sie an den agilen täglichen Stand-up-Meetings teilnahmen.
  • 25% der Befragten betonten, dass die Betriebskosten durch die Kombination von DevOps und Cloud reduziert werden konnten.
  • 39% der Befragten berichteten über häufigere Softwarebereitstellung und verkürzte Wartungszeiten bei den Anwendungen.
  • Im Allgemeinen wurden die Vorteile von DevOps in der Cloud, die für ein Unternehmen von Bedeutung sind (bessere Qualität, höherer Umsatz, kürzere Produkteinführungszeit usw.), von den über 300 befragten Entwicklern insgesamt als wichtig eingestuft.

Im Duo üben DevOps und Cloud Computing eine viel größere Wirkung auf Unternehmen aus. Sie treiben die digitale Transformation voran, die die Geschäftsziele unmittelbar positiv beeinflusst und schnellere Funktionsbereitstellung, stabilere Betriebsumgebungen, bessere Zusammenarbeit und viel mehr Zeit für Innovationen ermöglicht.

Wenn Sie auf der Suche nach professioneller Beratung und einem DevOps-Transformationsplan für Ihr Unternehmen sind, stehen Ihnen die Infopulse-Experten jederzeit gerne zur Verfügung.

Unser Team wurde 2017 als Finalist der DevOps Industry Awards ausgezeichnet und hat Unternehmenskunden aus den Bereichen Telekommunikation, Bank- und Finanzwesen bereits dabei geholfen, mit Hilfe von DevOps-Tools und -Methoden die Produktentwicklungskosten zu senken und häufigere Produktbereitstellungen zu erreichen. Weitere Informationen dazu finden Sie hier in der extra Video-Reihe.

DevOps-Praxis bei Infopulse: Aus der Perspektive eines DevOps-Entwicklers

Weitere Artikel

Wir haben eine Lösung für Ihre Anforderungen. Senden Sie uns einfach eine Nachricht, und unsere Experten werden sich so schnell wie möglich mit Ihnen in Verbindung setzen.

Vielen Dank!

Wir haben Ihre Anfrage erhalten und werden Sie in Kürze kontaktieren.