5 wichtige DevOps-Prinzipien
Um das volle Potenzial von DevOps auszuschöpfen, sollten Teams wichtige DevOps-Prinzipien befolgen
DevOps ist mehr als nur die Zusammenarbeit von Entwicklungs- und Betriebsteams und geht auch über Anwendung von Tools und Verfahren hinaus. DevOps ist eine Denkweise und ein kultureller Wandel, bei dem Teams neue Arbeitsweisen umsetzen.
Eine DevOps-Kultur bedeutet, dass Entwickler näher an den Benutzern sind, um ein besseres Verständnis für Benutzeranforderungen zu erlangen. Betriebsteam sind am Entwicklungsprozess beteiligt und können Wartungsanforderungen und Kundenbedürfnisse einfließen lassen. Es geht darum, sich an die folgenden zentralen Prinzipien zu halten, um DevOps-Teams dabei zu unterstützen, Anwendungen und Services schneller und hochwertiger bereitzustellen, als dass dies bei Unternehmen mit einem herkömmlichen Softwareentwicklungsmodell möglich wäre.
Zusammenarbeit
Die Grundlage für DevOps ist die Zusammenarbeit. Entwicklungs- und Betriebsteams schließen sich zusammen, um im gesamten Entwicklungs- und Deployment-Zyklus miteinander zu kommunizieren, Feedback zu teilen und zusammenzuarbeiten. So wird in den meisten Fällen aus den Entwicklungs- und Betriebsteams ein einzelnes Team, das über den gesamten Anwendungslebenszyklus hinweg zusammenarbeitet.
Die Mitglieder eines DevOps-Teams sind dafür verantwortlich, erstklassige Ergebnisse in Hinblick auf alle Facetten des Produkts zu erzielen. Dies führt zu einer stärkeren "Full Stack"-Entwicklung, bei der Teams die gesamte Verantwortung für das Back- und Frontend eines Features oder Produkts tragen. Teams sind von der Idee bis hin zur Auslieferung für das Feature oder Projekt verantwortlich. Diese stärkere Bindung des Teams mit seinen Aufgaben sorgt für bessere Ergebnisse.
Automatisierung
Eine wichtiges Verfahren von DevOps ist es, einen möglichst großen Teil des Softwareentwicklungslebenszyklus zu automatisieren. Dadurch haben Entwickler mehr Zeit, Code zu schreiben und neue Funktionen zu entwickeln. Die Automatisierung ist ein wichtiges Element von CI/CD-Pipelines und trägt dazu bei, menschliche Fehler zu reduzieren und die Teamproduktivität zu steigern. Mit automatisierten Prozessen erreichen Teams kontinuierliche Verbesserung mit kurzen Iterationszeiten, wodurch sie schnell auf Kundenfeedback reagieren können.
Kontinuierliche Verbesserung
Die kontinuierliche Verbesserung ist ein elementarer Bestandteil agiler Praktiken sowie von Lean Manufacturing und der Verbesserungs-Kata. Bei der kontinuierlichen Verbesserung geht es darum, zu experimentieren, Verschwendung zu vermeiden und Geschwindigkeit, Kosten und Auslieferung zu optimieren. Sie hängt auch direkt mit der Continuous Delivery zusammen, in deren Rahmen DevOps-Teams kontinuierlich Updates veröffentlichen, die die Effizienz von Softwaresystemen verbessern. Die ständigen neuen Releases bedeuten, dass Teams regelmäßig Codeänderungen pushen und so Verschwendung vermeiden, die Entwicklungseffizienz verbessern und den Wert für Kunden verbessern.
Kundenorientiertes Vorgehen
DevOps-Teams nutzen kurze Feedback-Schleifen mit Kunden und Endbenutzern, um Produkte und Services zu entwickeln, die den Anforderungen der Benutzer entsprechen. Die DevOps-Verfahren ermöglichen eine schnelle Erfassung und Antwort auf Benutzerfeedback durch Echtzeit-Überwachung und schnelle Deployments. Teams erhalten sofortige Einblicke darüber, wie Benutzer mit Softwaresystemen interagieren, und können diese Einblicke nutzen, um weitere Verbesserungen zu entwickeln.
Ergebnisorientierte Entwicklung
Um ergebnisorientiert zu arbeiten, ist es unerlässlich, die Anforderungen von Kunden zu verstehen und Produkte oder Services zu entwickeln, die echte Probleme lösen. Das Entwickeln sollte kein Selbstzweck sein. Auch genügt es nicht, nur anhand von Annahmen, wie Nutzer die Software möglicherweise verwenden, zu entwickeln. Daher ist es wichtig, dass DevOps-Teams ein umfassendes Verständnis für das Produkt entwickeln – von der Idee bis hin zur Implementierung.
DevOps ist nicht die Sache einer Einzelperson. Alle sind gemeinsam gefragt.
Christophe Capel
Principal Product Manager, Jira Service Management
Wer nutzt DevOps?
Chef ist das Unternehmen hinter der Chef Automate-Plattform für DevOps-Workflows. Zehntausende von Entwicklern nutzen Chef zum Testen, Automatisieren und Verwalten ihrer Infrastruktur. Das Unternehmen aus Seattle ist einer der Pioniere der DevOps-Bewegung und hat mit Produkten wie Chef, InSpec, Habitat und Chef Automate neue Wege der Entwicklung und Auslieferung von Software und Anwendungen vorangetrieben. Chef nutzt die Atlassian-Plattform, um mit seinen eigenen DevOps-Praktiken zu experimentieren und sie zu optimieren.
Die Geschichte von DevOps
Die DevOps-Bewegung entstand um das Jahr 2007, als IT-Betriebs- und Softwareentwickler-Communitys das herkömmliche Softwareentwicklungsmodell infrage stellten. Um die Zusammenarbeit und andere Bereiche zu verbessern, setzten Entwicklerteams zwar bereits in großem Umfang auf agile Methoden, jedoch arbeiteten die Programmierer oft getrennt vom Betriebsteam, das dann in der Produktion für den Code verantwortlich war. Die Folge waren ineffiziente Prozesse und fehlende Zusammenarbeit zwischen den beiden isolierten Teams.
Die Lösung war das DevOps-Prinzip, bei dem die Kluft zwischen Teams überwunden wird, sodass diese eng zusammenarbeiten können. DevOps vereint die Fähigkeiten, Prozesse und Tools von Entwicklungs- und Betriebsteams.
Vorteile von DevOps
Die Vorteile von DevOps lassen sich in drei Hauptkategorien einteilen: technische Vorteile, kulturelle Vorteile und Vorteile für das Unternehmen. Zu den technischen Vorteilen gehören die verringerte Komplexität, Continuous Delivery und eine schnellere Problemlösung. DevOps-Teams stellen in der Regel höherwertigen Code bereit als herkömmliche isolierte Teams.
Zu den kulturellen Vorteilen gehören produktivere und effizientere Teams sowie zufriedenere Kunden. Die Vorteile für das Unternehmen umfassen eine bessere Zusammenarbeit und größeres Vertrauen zwischen den Teammitgliedern, was zu einer schnelleren Auslieferung und stabileren Betriebsumgebungen führt.
DevOps-Unternehmenskultur
DevOps ist ein kultureller Wandel, bei dem Teams der Softwareentwicklungskultur, dem Workflow und dem Toolset die gleiche Bedeutung beimessen wie Architektur, Design und Entwicklung. Wenn Entwickler für die von ihnen entwickelte Software weiterhin verantwortlich sind, können sie die Anforderungen der Benutzer besser nachvollziehen. Die Werte einer DevOps-Kultur sind verstärkte Transparenz, Kommunikation und Zusammenarbeit zwischen Teams.
DevOps Engineer
Unternehmen, die DevOps einführen möchten, können sich an einen DevOps-Engineer wenden. Diese Person verfügt über vielseitige Fähigkeiten, die sowohl die Entwicklung als auch den Betrieb umfassen, aber auch die soziale Kompetenz zur Überbrückung der Kluft zwischen isolierten Teams.
Ein DevOps-Engineer ist ein IT-Generalist mit weitreichenden Kenntnissen in der Softwareentwicklung, dem Cloud-Infrastruktur-Management, der Systemadministration und der Automatisierung.
Ständig verfügbare Services
Kunden erwarten Services, die immer verfügbar sind. DevOps ist ideal, um Software im Rahmen von Software as a Service unterbrechungsfrei zur Verfügung zu stellen. DevOps verstärkt den Zyklus des Continuous Deployment, des Feedbacks sowie der Wartung oder Incident Response, den Teams benötigen, um die ständige Verfügbarkeit aufrechtzuerhalten.
Nächstes Thema
Lesenswert
Füge diese Ressourcen deinen Lesezeichen hinzu, um mehr über DevOps-Teams und fortlaufende Updates zu DevOps bei Atlassian zu erfahren.