DevOps – Tools und Anwendungen

Praxistools und Anwendungsbeispiele zur Optimierung von Entwicklung und Bereitstellung mit der DevOps-Methode

 Zwei Bildschirme an denen programmiert wird.

Unternehmen jeder Größe arbeiten ständig an der Verbesserung ihrer Release-Prozesse, um zeitaufwendige Arbeiten, fehleranfällige Verfahren und manuelle menschliche Eingriffe bei der Bereitstellung und dem Betrieb moderner Anwendungen zu minimieren. Der Begriff DevOps (eine Kombination von Development und Operations) beschreibt eine Methode, die entwickelt wurde, um die Fähigkeit eines Unternehmens zu erhöhen, Anwendungen und Services schneller als herkömmliche Softwareentwicklungsprozesse bereitzustellen, indem die Zusammenarbeit zwischen den traditionell isolierten Entwicklungs- und Betriebsteams über den gesamten Lebenszyklus von Softwareanwendungen hinweg verbessert wird.

Riesiges Marktpotenzial

Mit dem Einzug der DevOps-Methode in den Entwicklungsalltag der Unternehmen einher ging eine Explosion von Tools für Release- und Konfigurationsmanagement, Orchestrierung, Monitoring, Virtualisierung und Containerisierung. Laut einem Bericht von Markets and Markets wird erwartet, dass die DevOps-Marktgröße von 3,4 Milliarden US-Dollar im Jahr 2018 auf 10,3 Milliarden US-Dollar bis 2023 bei einer durchschnittlichen jährlichen Wachstumsrate von 24,7% im Prognosezeitraum anwächst. Als Reaktion auf diese Dynamik um Continuous Delivery und Infrastructure Automation haben auch IT-Schwergewichte wie Microsoft, Amazon und SAP längst für ihre Kunden eigene DevOps-Werkzeugkästen entwickelt.

Microsoft Azure DevOps

Azure DevOps (ehemals Visual Studio Team Services) ist ein gehosteter Dienst von Microsoft, der eine End-to-End-DevOps-Toolchain für die Entwicklung und Bereitstellung von Software anbietet. Azure DevOps verfügt über viele integrierte Funktionen für die agile Projektverfolgung und -planung, mit denen Projekte verwaltet und Workflows automatisiert werden können, sowie Entwickler- und DevOps-Tools zum Schreiben, Erstellen und Bereitstellen von Code, die den gesamten Entwicklungslebenszyklus abdecken. Dazu zählen

  • Azure Boards für die agile Planung, Arbeitsaufgabenverfolgung, Visualisierung und Berichterstellung,
  • Azure Pipelines als sprach-, plattform- und cloudunabhängige CI/CD-Plattform,
  • Azure Repos, das in der Cloud gehostete private Git-Repositorys bereitstellt,
  • Azure Artifacts zur Paketverwaltung mit Unterstützung für Maven-, npm-, Python- und NuGet-Paketfeeds aus öffentlichen oder privaten Quellen,
  • Azure Test Plans, eine integrierte Lösung für geplante und explorative Tests.

Azure DevOps kann auch verwendet werden, um Tools von Drittanbietern zu orchestrieren. Unternehmen können Azure DevOps zur Optimierung von Entwicklungspipelines und Code-Repository und zum Verfolgen von Agile/Scrum-Workflows in den Abteilungen Anwendungsentwicklung und IT-Betrieb verwenden. Es ermöglicht eine zentrale, cloudbasierte Lösung für das Tracking der CI/CD-Pipelines und vereinfacht das Tracking der Storys und Features während der Sprint-Zyklen. Durch die Verwendung von Build- und Release-Pipelines für die CI/CD- Automatisierung können automatisiert abgeschlossene Arbeiten bereitgestellt und kann deren Verlauf verfolgt werden. Die in Azur DevOps für die Entwicklung moderner Anwendungen in agilen Methoden erforderlichen, integrierten Tools ermöglichen eine nahtlose Entwicklung und einen nahtlosen Continuous Integration-, Continuous Deployment (CI/CD)-Prozess. Viele vorgefertigte Bereitstellungsaufgaben/-schritte decken die gängigsten Anwendungsfälle ab und benutzerdefinierte Dashboards liefern Berichte zu Build/Release und agilen Metriken.

AWS DevOps

AWS DevOps ist Amazons Antwort auf die Umsetzung der DevOps-Philosophie. Die DevOps-Prinzipien und -Praktiken sind in die AWS-Plattform eingebettet und bilden den Grundstein für zahlreiche AWS-Services, insbesondere in den Bereitstellungs- und Überwachungsangeboten. Mit Hilfe der Cloud-Plattform und spezieller Tools und Services können die Bereitstellung und Verwaltung der Infrastruktur, die Bereitstellung von Anwendungscode, die Automatisierung von Software-Release-Prozessen und die Überwachung der Anwendungs- und Infrastrukturleistung vereinfacht werden. Entwicklungsteams haben die Möglichkeit, Continuous Integration und Continuous Delivery (CI/CD) effizient umzusetzen, indem der Quellcode von Anwendungen sicher gespeichert und versioniert wird, während die Anwendung automatisch erstellt, getestet und schließlich entweder in lokalen Umgebungen oder in AWS bereitgestellt wird. Durch die Automatisierung wird sichergestellt, dass die Ressourcen entsprechend den Anforderungen des Unternehmens skaliert werden, was den gesamten Prozess flexibler und kostengünstiger macht.

AWS DevOps bietet eine umfassende Auswahl an Tools für die Erstellung und Bereitstellung von Software in der Cloud, unter anderem

  • AWS Cloud Development Kit- ein Open-Source-Softwareentwicklungs-Framework, das vertraute Programmiersprachen für die Modellierung und Bereitstellung von Cloud-Anwendungsressourcen verwendet,
  • AWS CodeBuild, ein Integrationsservice, mit dem Benutzer Code mit kontinuierlicher Skalierung erstellen und testen können,
  • AWS CodeDeploy zur automatisierten Software-Bereitstellung auf verschiedenen Computer-Services wie Amazon EC2, AWS Fargate, AWS Lambda oder anderen On-Premises-Servern,
  • AWS CodePipeline, mit dem kontinuierlich bereitgestellten Code für schnelle und genaue Updates automatisiert werden kann,
  • AWS CodeStar, mit dem Benutzer mühelos Anwendungen auf AWS entwickeln, erstellen und bereitstellen und eine komplette Continuous-Delivery-Toolchain schnell und einfach einrichten können,
  • AWS Device Farm, ein Tool, mit dem Entwickler die Qualität ihrer Web- und Mobilanwendungen verbessern können, indem sie sie auf echten Mobilgeräten und Desktop-Browsern testen, die in der AWS Cloud gehostet werden,
  • AWS OpsWorks vereinfacht die Konfiguration von gängigen Architekturen.

Die DevOps-Tools automatisieren manuelle Aufgaben, unterstützen Teams bei der Verwaltung komplexer und großer Umgebungen, vereinfachen die Bereitstellung und Verwaltung der Infrastruktur, die Bereitstellung des Anwendungscodes, die Automatisierung der Software-Veröffentlichungsprozesse und die Überwachung der Anwendungs- und Infrastruktur-Performance.

DevOps und SAP

In vielen Fällen ist SAP das Herzstück eines großen Unternehmens. Alles hängt davon ab, dass die Systeme einwandfrei funktionieren. Schnelle oder häufige Änderungen vorzunehmen, scheuen die Entwickler wie der Teufel das Weihwasser. Zu groß ist das Risiko „etwas kaputt zu machen“, was dazu führt, dass die Angst vor Änderungen die Nachfrage nach Updates oder Innovationen überwiegt. SAP hat darauf reagiert und DevOps for SAP entwickelt, um dieses Problem zu beseitigen, indem es den gesamten Änderungsmanagementprozess rationalisiert, mit vollständiger Transparenz in SAP-Umgebungen, effizienteren Workflows und der Flexibilität, Änderungen bei Bedarf bei sich ändernden Prioritäten vorzunehmen. Qualitätskontrolle und Tests werden in den frühesten Phasen der Softwareentwicklung eingeführt – und können kontinuierlich angewendet werden, um kritische Änderungen sicher und stabil bereitzustellen. DevOps löst typische SAP Probleme wie ein langsames Änderungstempo und ein hohes Risiko von Ausfallzeiten und Ausfällen, indem es die Anwendungsbereitstellung in kürzeren, häufigeren Bereitstellungszyklen unterstützt, bei denen die Qualität von Anfang an in den Prozess eingebettet und das Risiko erheblich reduziert wird. Da DevOps kein einfacher Prozess ist und mehrere Teams kohärent zusammenarbeiten und ständig Feedback geben müssen, hat SAP Tools veröffentlicht, die diesen Prozess unterstützen. So wurde beispielsweise SAP Focused Solutions mit Blick auf agile DevOps-Prozesse entwickelt.

Focused Solutions sind drei schlüsselfertige, sofort einsatzbereite Lösungen, bestehend aus Focused Build-Solution, Focused Insights-Lösung und Focused Run-Lösung. Focused Build-Solution erweitert den SAP Solution Manager um integrierte Prozesse und Funktionen, die bei agilen Entwicklungen und Projekten unterstützen. Focused Build bietet Out-of-the-Box-Unterstützung von der Anforderungsphase bis hin zum Go-Live mit den Best Practices der SAP-Branche und einer gemeinsamen standardisierten Methodik für die Workflows. Focused Insights-Solutions bietet gebrauchsfertige Dashboard-Vorlagen, die Echtzeit- oder historische Metriken aus allen Anwendungsfällen des SAP Solution Managers kombinieren. Die Focused Run-Solution überwacht die gesamte SAP-Landschaft.

Anwendungsbeispiele in verschiedenen Branchen

Wirft man einen Blick auf die verschiedenen Branchen, kristallisieren sich – neben der Technologiebranche (was zu erwarten war) – vor allem drei Branchen heraus, in denen sich DevOps besonderer Beliebtheit erfreut: Finanzdienstleistung, Einzelhandel und Telekommunikation.

DevOps bei Banken

Immer mehr sogenannte Fintechs drängen auf den Markt mit innovativen Ideen und ohne Kompromisse bei der Qualität, um die Erwartungen der Generation Z zu erfüllen. Banken leben von immer wieder neuen, innovativen Angeboten. Die mit der Digitalisierung einhergehenden, gesteigerten Kundenerwartungen lassen sich mit einer isolierten, siloartigen IT-Architektur nicht realisieren. Banken benötigen daher eine Umgebung, die ihnen hilft, ihre Software in kurzer Zeit mit reduziertem Fehler- und Arbeitsaufwand zu entwickeln, zu testen und zu debuggen. DevOps bietet mit Konzepten wie CI/CD, Container und Microservices den Banken eine Methode, kontinuierlich und nahtlos innovative Dienstleistungen zu entwickeln und anzubieten. DevOps vereinfacht und automatisiert Entwicklungsprozesse, wodurch die Zykluszeit von der Ideenfindung über die Produktion bis hin zum Anwendungsmanagement drastisch reduziert wird. Dies bringt Vorteile nicht nur in Bezug auf Kosten und Zeit, sondern auch in Bezug auf die Verfügbarkeit von Funktionen für Unternehmen.

Kürzere Deployment-Zeiten bei geringeren Compliance-Risiken

Ein Problem ist vor allem der Release-Orchestrierungsprozess für Anwendungen, weil er meist kompliziert ist, viel manuellen Aufwand erfordert, strengen Compliance-Anforderungen sowie Sicherheitsauflagen unterliegt und aufgrund immer kürzerer Deployment-Zyklen häufiger durchgeführt werden muss und das bei einer immer komplexeren Interaktion der vor- und nachgelagerten Komponenten. DevOps-Praktiken helfen Finanzdienstleistungsunternehmen, die Zykluszeit von Entwicklung und Bereitstellung für neue Angebote und Funktions-Upgrades zu verkürzen.

DevOps im Retail

Aufgrund der steigenden Nachfrage nach Continuous Release und Deployment von kundennahen Anwendungen zum richtigen Zeitpunkt und in hoher Qualität ist auch der Einsatz von DevOps als Service mit Continuous Delivery bei Handelsunternehmen sprunghaft nach oben geschnellt. Die Digitalisierung der Customer Journey ist dafür verantwortlich, dass der Einzelhandel auf den Einsatz von qualitativ hochwertiger Software für Nachhaltigkeit und Wachstum angewiesen ist. Das führt dazu, dass Einzelhändler immer stärker in den Softwaretest-Automatisierungsprozess eingebunden werden.

Nahtloses Multi-Channel-Erlebnis

In diesem gesamten Test-Workflow spielt der Testautomatisierungsprozess eine entscheidende Rolle bei der Bewältigung des enormen Testvolumens, um das Geschäft zu beschleunigen und die Qualitätserwartungen der Kunden zu erfüllen. Ein DevOps-Testautomatisierungsprozess hilft dabei, die Fehler früher im Entwicklungszyklus zu identifizieren. Das ermöglicht wiederum einen Prozess, der der Qualität der Kunden entspricht. Die steigenden Kundenerwartungen an ein nahtloses Multi-Channel-Erlebnis setzen den Händler unter Druck, alle Services in den zahlreichen Online-Handelskanälen kontinuierlich zu optimieren. Der DevOps-Ansatz hilft dem Einzelhandel bei der kontinuierlichen Überwachung und dem Testen der gesamten Produktbereitstellungsversionen zum richtigen Zeitpunkt, um Fehler rechtzeitig zu beheben, ohne die Produktbereitstellungs- und Release-Pipeline zu beschädigen.

Bereitstellung digitaler Services optimieren

Einzelhändler leben mit dem Problem, dass sie es sich beispielsweise nicht leisten können, eine riesige Mobile-Commerce-Initiative auf den Weg zu bringen und darauf zu hoffen, dass diese nahtlos mit den Mobilgeräten der Kunden funktioniert und sicher und benutzerfreundlich in ihre POS-Systeme integriert ist. Enttäuschte Kunden kommen selten zurück. Kleine und mittlere Unternehmen können Türen zu vielen Möglichkeiten öffnen, indem sie DevOps in ihre digitale Transformation einbeziehen. Die Steigerung der Effizienz, Produktivität und Rentabilität ihres Unternehmens können kleine und mittlere Händler nur erreichen, wenn DevOps funktioniert und die Bereitstellung technologischer Lösungen, die den Geschäftsanforderungen entsprechen, rationalisiert wird. Und nur die erfolgreiche und rechtzeitige Einführung von DevOps im Unternehmen wird dem Unternehmen helfen, die Konkurrenten zu schlagen und bei der Beschleunigung der Entwicklung der Branche über Wasser zu bleiben.

DevOps in der Telekommunikation

Mobilfunknetze der nächsten Generation erfordern ein flexibles System, das die kontinuierliche Bereitstellung neuer Softwaredienste und Patches ermöglicht, ohne dass die Dienste häufig nicht verfügbar sind. Viele Telekommunikationsanbieter haben erkannt, dass DevOps ein Ansatz ist, um eine kontinuierliche Servicebereitstellung mit minimalen Unterbrechungen zu erreichen.

5G basiert auf den drei Hauptprinzipien:

  • Software-Defined Networking (SDN) bei dem die gesamte Konfiguration über virtualisierte Software bereitgestellt wird, die zentral steuerbar und leicht anpassbar ist,
  • Network Functions Virtualization (NFV), die anstelle von spezialisierter Hardware und Appliances mit containerisierten Apps ausgeführt wird, die in Docker-Containern bereitgestellt werden,
  • Virtual Network Functions (VNF), die dafür sorgen, dass das erforderliche NFV schnell gestartet werden kann, da es sich um eine einfache Softwarebereitstellung auf handelsüblicher Hardware handelt.

DevOps vereinfacht Bereitstellung von 5G-Netzen

Da keine Investitionen mehr in die Herstellung, Installation und Konfiguration riesiger Netzwerke von Hardware-Appliances notwendig sind, eröffnen sich ganz neue Möglichkeiten, um die erforderliche Infrastruktur schnell bereitzustellen und zu konfigurieren. Und hier kommt DevOps ins Spiel. Um beispielsweise die Interoperabilität zu verbessern und die Mandantenfähigkeit zu vereinfachen, kann VNF containerisiert und in einem Docker-Container auf einem Kubernetes-Cluster ausgeführt werden. Denn die zur Unterstützung eines solchen Systems benötigten Hardware-Ressourcen sind im Vergleich zu klassischen Netzwerken deutlich geringer. Jede Systemfunktion kann zudem in einen Microservice unterteilt werden, wodurch aus einem Labyrinth von Abhängigkeiten optimierte Arbeitsabläufe mit dem Austausch von Nachrichten zwischen Komponenten über die APIs werden.

Der Einsatz von DevOps-Modellen in der Entwicklung von Telekommunikationsprodukten lässt sich am besten durch die explodierende Popularität von Web- und mobilen Schnittstellen für den Zugriff und die Verwaltung aller Arten von Telekommunikationsnetzen und -geräten und der browserbasierten Dienste, die auf dieser Infrastruktur ausgeführt werden, erklären. Ein DevOps-Ansatz in 5G-Netzwerken bringt Vorteile für den gesamten Netzwerkbetrieb und ermöglicht die Automatisierung der Bereitstellung und das Management von Serviceketten und 5G-Netzwerkabschnitten.

Weissenberg Intelligence – Ihr kompetenter Partner in allen Fragen der digitalen Transformation Anmeldung

Weissenberg Intelligence – Ihr kompetenter Partner in allen Fragen der digitalen Transformation

Möchten auch Sie die Wettbewerbsfähigkeit Ihres Unternehmens im digitalen Zeitalter stärken? Wir beraten Sie gern zur digitalen Transformation Ihres Unternehmens.

Fazit:

Seit die Digitalisierungswelle über die Wirtschaft hinweg rollt, sind auch die Anforderungen der Kunden an die Bereitstellung neuer Services explodiert. Um ihren Kunden nach wie vor einen Mehrwert zu bieten und damit die eigene Wettbewerbsfähigkeit zu erhöhen, müssen die Unternehmen schnell und flexibel auf die sich verändernden Marktbedingungen reagieren. Um entsprechende Ergebnisse liefern zu können, setzen immer mehr Unternehmen auf die DevOps-Methode. Wie am Beispiel von Microsoft, Amazon und SAP dargestellt, bieten Unternehmen ihren Kunden mittlerweile ganz spezielle Werkzeugkästen, bestehend aus verschiedenen Tools unterschiedlichster Art, um dem funktionsübergreifenden Ansatz von DevOps gerecht zu werden und den gesamten Lebenszyklus der Softwareproduktion bis zur Bereitstellung abbilden zu können. Neben den traditionell stark verbraucherorientierten Branchen wie Finanzdienstleistung, Retail und Telekommunikation wird die generelle, branchenübergreifende steigende Nachfrage nach digitalen Services dazu führen, dass sich Unternehmen jeglicher Couleur mit Methoden beschäftigen müssen, um den Einsatz von Ressourcen und die Entwicklung und Bereitstellung zu optimieren. Und damit kommen sie um das Thema DevOps nicht herum.

Beitrag weiterempfehlen