Was ist DevOps und wie funktioniert es?
DevOps ist eine interdisziplinäre Methode, bei der die Anwendungsentwicklung (Dev) mit dem IT-Betrieb (Ops) zusammenarbeitet, um die Produktqualität zu verbessern und die Markteinführungszeit zu verkürzen.
In einem DevOps-Framework arbeiten Entwickler und IT-Manager mit Experten der Bereiche Qualitätskontrolle, Sicherheit und Support zusammen. Das Ziel dieser gemeinsamen Anstrengungen ist es, Code in einer nahtlosen Schleife aus kontinuierlicher Integration und Lieferung (CI/CD) schnell zur Verfügung zu stellen.
DevOps baut auf den häufigen Releases und CI/CD-Aspekten agiler Entwicklungsmethoden auf, erweitert den Entwicklungsprozess jedoch um Infrastrukturmanagement, um die Produktbereitstellung flexibler und dynamischer zu gestalten.
Diese Prozessintegration hängt wiederum von der laufenden Zusammenarbeit zwischen Teams ab, u. a. zwischen Geschäftsbereichsmanagement, Entwicklern, Qualitätssicherung und IT-Betrieb. Ein DevOps-Ansatz bricht Silos auf, schafft starre Stellenbeschreibungen ab und beseitigt Engpässe. Stattdessen kommt ein flexibles, interdisziplinäres Modell zum Tragen, das Innovation und kontinuierliche Verbesserung unterstützt.
Cloud-Computing und der DevOps-Ansatz
Wenn DevOps-Teams in der Cloud arbeiten, haben sie leichteren Zugriff auf skalierbare Hardware-Ressourcen, mit deren Hilfe sie neues Updates und Angebote schneller erstellen, testen und bereitstellen können.
Cloud-Anwendungen erfreuen sich einer großen Beliebtheit, was zu einer weit verbreiteten Akzeptanz von DevOps-Methoden geführt hat, denn sie eignen sich ideal für die schnellen, kontinuierlichen Prozesse, die für den Cloud-Betrieb ein entscheidender Vorteil sind.
In einer traditionellen Anwendungsbereitstellungsumgebung wird eine fertige Anwendung in der Regel zwecks Wartung an den IT-Betrieb übergeben, wobei zukünftige Upgrades einem vorgegebenen Zeitplan folgen.
In der Cloud-Computing-Umgebung besteht jedoch die Wahrscheinlichkeit, dass sich der Anwendungsstapel nach der anfänglichen Bereitstellung immer weiterentwickelt. Diese Dynamik ist deshalb von Vorteil, weil das Unternehmen die Möglichkeit hat, seine Produkte und Dienstleistungen kontinuierlich zu verbessern. Diese schnellen Iterationen stellen jedoch auch eine Herausforderung dar, und ein DevOps-Framework hilft Unternehmen dabei, in einem sich rasant entwickelnden Markt reaktionsschnell zu bleiben und seinen Wettbewerbsvorteil zu wahren.
Ein DevOps-Team kann außerdem effizienter arbeiten. So kann das multidisziplinäre Team beispielsweise die Vorteile von Virtualisierung und Containerisierung in der Cloud nutzen, um Anwendungen in identischen Umgebungen gleichzeitig zu entwickeln und zu testen und nach Bedarf weitere Ressourcen bereitzustellen.
Bewährte DevOps-Methoden sind mittlerweile sogar unentbehrlich für den Erfolg der Entwicklung von Cloud-Anwendungen, insbesondere für die „As-a-Service“(XaaS)-Produktbereitstellungsmethode. XaaS-Anwendungen werden in laufenden, kontinuierlichen Zyklen bereitgestellt. Unternehmen, die einen XaaS-Ansatz verfolgen, brauchen einen agilen Entwicklungsprozess, der durch flexible Cloud-Ressourcen unterstützt wird, die skalierbar sind und sich schnell weiterentwickeln können, um neue Anforderungen auf dem Markt zu erfüllen.
Nutzung der DevOps-Vorteile
In einem DevOps-Framework wird Code schneller und häufiger als bei anderen Entwicklungsansätzen veröffentlicht. Nicht nur neue Funktionen, sondern auch Bug-Fixes werden schneller auf dem Markt eingeführt, sodass Produkte und Dienstleistungen an die Bedürfnisse der Kunden angepasst werden können.
Dank immer wieder neuer Iterationen, Monitoring und Tests unterstützt die DevOps-Methodik kontinuierliche Verbesserungen und Innovationen für Cloud-Anwendungen. So sorgt DevOps nicht nur für eine positive Benutzererfahrung, sondern auch für einen starken Wettbewerbsvorteil.
DevOps kann außerdem Unternehmen bei der Einhaltung bewährter Sicherheitsmethoden und Vorschriften unterstützen. Das Sicherheitsmanagement kann in das DevOps-Framework integriert, automatisiert und kontinuierlich überwacht werden, um eine bessere Kontrolle und Reaktionsfähigkeit zu ermöglichen.
DevOps-Grundsätze und -Framework
Das DevOps-Framework „bietet Geschwindigkeit, Stabilität, Qualität und Sicherheit“, erklären Berater bei Deloitte. Eine Umstellung auf DevOps erfordert jedoch in der Regel, dass Änderungen im gesamten Unternehmen und auch am Führungsstil vorgenommen werden.
Eine Umstellung auf DevOps bedeutet, dass an vier kritischen Punkten angesetzt werden muss: Prozess, Architektur, Kultur und Technik (Process, Architecture, Culture, Engineering = PACE). PACE hilft Ihnen, Hindernisse auszuräumen, wobei Branchenerfahrungen in Technik und Kultur einfließen".1
Anpassbarkeit: Erste Schritte bei der Verwendung von DevOps in Ihrem Team
Atlassian, ein Anbieter von Collobaration-Software,2 nennt vier wichtige Leitlinien, die für den Erfolg von DevOps entscheidend sind:
- Klären Sie Rollen und Verantwortlichkeiten. Da Entwickler enger mit Betriebsteams zusammenarbeiten, „muss genau geklärt werden, wer was tut; außerdem müssen mögliche Kompetenzlücken identifiziert werden“, rät Atlassian.
- Definieren Sie verbindliche Arbeitsmethoden. Atlassian empfiehlt auch, Arbeitsweisen und -methoden vorab zu definieren. Dazu könnten beispielsweise bestimmte Projektnachverfolgungs-Tools zählen oder das Versprechen, die Kommunikation außerhalb der Arbeitszeiten auf ein Minimum zu beschränken.
- Antizipieren Sie Risiken. Analysieren Sie Lücken und entwickeln Sie einen Notfallplan, bevor Sie ein neues Projekt beginnen. So sind die Mitglieder der DevOps-Teams auf möglicherweise auftretende Probleme vorbereitet.
- Führen Sie regelmäßig Analysen durch. Führen Sie gemeinsam mit Ihrem Team retrospektive Analysen durch, um kontinuierliche Verbesserungen voranzutreiben. Atlassian empfiehlt monatliche oder sogar zweiwöchige Sitzungen.2
Diese Strategien sollten bei jedem neuen Projekt wiederholt werden und sind immer dann anzuwenden, wenn personelle Veränderungen eintreten, die sich auf das DevOps-Team auswirken.
DevSecOps: Einbindung von Sicherheit
Sicherheit ist ein kritisches Element beim Cloud-Computing; deshalb müssen Sicherheitsprozesse und -Tools in das DevOps-Framework eingebunden werden. Die Integration von Sicherheit mit DevOps ist so wichtig, dass sie sich ihren eigenen Namen gemacht hat: DevSecOps.
Die Integration von Sicherheitsfunktionen in Entwicklungsprozesse und Infrastruktur ist besonders dann von Vorteil, wenn es darum geht, Cloud-Workloads auf Plattformen mit Intel Technik zu positionieren, die hardwarebasierte Sicherheitsfunktionen enthalten. Die neuesten Plattformen mit Intel® Xeon® Prozessoren enthalten beispielsweise Intel® Software Guard Extensions (Intel® SGX), um vertrauliches Computing zu unterstützen. Intel® Advanced Vector Extensions 512 (Intel® AVX-512) und Intel® Advanced Encryption Standard New Instructions (Intel® AES-NI) ermöglichen die Beschleunigung von Verschlüsselung, Entschlüsselung und Erzeugung von Sicherheitsschlüsseln.
Eine zusätzliche Verbesserung der Kryptografie wird mit Intel® Workload Optimizer von Granulate erzielt, eine Lösung, die kryptografische Funktionen in der Cloud erkennt und automatisch optimiert. Diese und andere Tools zur Cloud-Optimierung tragen durch Verschlüsselung zum Schutz von Cloud-Computing-Vorgängen bei und verringern gleichzeitig die Auswirkungen auf die Ressourcenauslastung oder die Anwendungsleistung.
DevOps-Tools
Bei der Implementierung von DevOps-Methoden in der Cloud können neue Tools von Nutzen sein, die bestimmte Aspekte des Entwicklungs- und Bereitstellungsprozesses automatisieren und aktive Anwendungen und die Infrastruktur überwachen.
Forrester-Analysten empfehlen, DevOps mit einer Hybrid-Cloud zu nutzen, um Entwicklern, die in vielen verschiedenen Cloud-Entwicklungsumgebungen arbeiten, mehr Tools und Dienste zur Verfügung zu stellen. Mit diesem Ansatz gelingt es Unternehmen, talentierte Entwickler für sich zu gewinnen und langfristig zu binden, aber auch gleichzeitig Kosten zu kontrollieren und betriebliche Effizienzen aufrechtzuerhalten.
Tools für die Cloud-Optimierung für DevOps
DevOps-Nutzer, die sich auf die Cloud stützen möchten, können von den Cloud-Optimierungs- und -Management-Tools profitieren, die automatisch Daten sammeln, Empfehlungen geben oder Code optimieren. Diese Tools tragen zur Verbesserung der Leistung bei und verringern die Kosten des Cloud-Computing.
Zur Steigerung der Effizienz von DevOps bietet Intel auch eine Reihe von Tuning-Anleitungen für Systeme mit skalierbaren Intel® Xeon® Prozessoren der 3. Generation, die auf Serverplattformen eingesetzt werden können, auf denen viele gängige Instanzen in der öffentlichen Cloud basieren.