DevOps-Grundlagen und bewährte Verfahren
Sechs DevOps-Grundlagen für effizientere Arbeitsabläufe
Mehrere wichtige DevOps-Praktiken können Ihnen helfen, die Produktion zu beschleunigen und gleichzeitig Schwierigkeiten zu reduzieren. Erfahren Sie, wie Sie die richtigen Automatisierungen implementieren und die wichtigsten KPIs verfolgen, um Ihr Studio erfolgreich zu machen.
Bei der Beseitigung von Schwierigkeiten und Heldentaten geht es nicht nur um kalte, harte Effizienz (auch wenn es die Produktivität steigern wird). Es geht auch darum, eine positive, nachhaltige Arbeitskultur zu schaffen, in der sich Teams entfalten und optimal arbeiten können. In einer Kultur der Zusammenarbeit sind die Mitarbeitenden selbstbewusster, Ideen werden in größerem Umfang ausgetauscht, und es herrscht ein größeres Zusammengehörigkeits- und Verantwortungsgefühl – all das wirkt sich positiv auf Ihre Produktion und das Endergebnis aus.
Um eine von Zusammenarbeit geprägte Umgebung zu schaffen, sollten Sie Offenheit, Transparenz und Feedback (sowohl positiv als auch negativ) fördern und gleichzeitig betonen, dass es keine schlechten Ideen gibt. Führen Sie Systeme ein, die eine teamübergreifende Zusammenarbeit ermöglichen, und zollen Sie Einzelpersonen und Teams für ihre Erfolge öffentliche Anerkennung. Auch die richtigen Tools – wie ein Versionskontrollsystem, das jeder nutzen kann – sind entscheidend.
In DevOps bezieht sich das Prinzip der Linksverschiebung auf die Neuorganisation von Arbeitsschritten in einem Workflow. Prozesse, die normalerweise später in der Entwicklungspipeline stattfinden, werden in eine frühere Phase «nach links verschoben», um auf die Best Practices von DevOps-Lebenszyklus ausgerichtet zu werden.
CI/CD ist ein Beispiel dafür, wie eine Linksverschiebung Ihren Teams zu mehr Flexibilität verhelfen kann. Kontinuierliche Integration (Continuous Integration, CI) ist der Prozess der automatischen Zusammenführung von Arbeit in einem zentralen Repository. Änderungen werden durch die Erstellung eines Builds und die Durchführung automatisierter Tests anhand dieses Builds validiert.
Kontinuierliche Bereitstellung (CD) setzt dort an, wo CI aufhört, indem es Releases aus dem Build bereitstellt und automatische Tests auf Systemebene durchführt. Traditionell wird dieser Prozess manuell durchgeführt, was die Pipeline verlangsamt. Die Implementierung von CI/CD stellt eine konsistente, automatische Methode zum Erstellen von Builds und Packages sowie zum Testen von Software dar.
Das Eliminieren manueller Prozesse, die Zeit verschwenden und anfällig für menschliche Fehler sind, ist ein Kernprinzip von DevOps. Automatisierte Test- und Fehlerverfolgungstools ersparen den Teams die mühsame Arbeit des Aufspürens und Beseitigens von Fehlern und machen diese Prozesse insgesamt effizienter. Mit den richtigen Tools zur Fehlerüberwachung und -berichterstattung können Sie den Spieß sogar umdrehen und Fehler zu Ihrem Vorteil nutzen, indem Sie sie zu Wegweisern machen, die auf optimierten Code und letztlich ein besseres Produkt hinweisen.
Automatisierte Tests sind ein weiteres Beispiel für das Prinzip der Linksverschiebung in DevOps. In einem herkömmlichen Workflow wird ein Build live geschaltet und manuell getestet. Arbeitsabläufe, die automatisierte Tests beinhalten, können auf Fehler überwacht werden, bevor Codeänderungen für den Build freigegeben werden – und auch vor der Produktion. Wenn Fehler gekennzeichnet werden, bevor sie live gehen, können die Programmierer die Fehler in Echtzeit beheben und Serviceunterbrechungen wie Patches und Hotfixes minimieren.
Um die Leistung der Pipeline zu quantifizieren und Optimierungsmöglichkeiten zu finden, müssen Sie mehrere Leistungsindikatoren (KPIs) verfolgen. Die vier wichtigsten DevOps-KPIs sind:
- Bereitstellungshäufigkeit: Wie oft wird der Code im Staging-, Test- oder Produktionsmodus bereitgestellt?
- Vorlaufzeit für Änderungen: Zeit, die benötigt wird, bis ein Commit in die Produktion geht
- Fehlerquote bei Änderungen: Prozentsatz der Bereitstellungen, welche die Produktion stoppen
- Mittlere Reparaturzeit (MTTR): Durchschnittliche Zeit bis zur Wiederherstellung nach einem Produkt- oder Systemausfall
Weitere KPIs sind:
- Zeit bis zur Bereitstellung: Zeit für die Bereitstellung des Codes in Staging, Test oder Produktion
- Zykluszeit für Pull-Anfragen: Zeitaufwand für das Schreiben und Bereitstellen von Code
- Anzahl der Fehler
- Mittlere Zeit bis zur Entdeckung (MTTD): Durchschnittliche Zeit bis zum Auffinden von Fehlern
Konzentrieren Sie sich auf relevante, umsetzbare KPIs. Das Nachverfolgen von zu vielen Daten kann zu einer Informationsflut und zu Daten ohne Kontext führen, was die Optimierung erschwert.
Teams, die DevOps-Grundlagen implementieren, können von Agile-Praktiken profitieren – beide ergänzen sich. Dabei bilden die Werte von Agile den Kern einer effektiven DevOps-Zusammenarbeit.
DevOps konzentriert sich auf die iterative Entwicklung über den gesamten Produktionsprozess hinweg – von der Vorproduktion bis zur Freigabe – mit regelmäßigen Updates mehrmals pro Woche. Agile konzentriert sich mehr auf die Produktionsphase und folgt einem Sprint-Modell, wobei neue Builds in einem längeren Rhythmus, alle paar Wochen oder sogar Monate, veröffentlicht werden.
DevOps-Praktiker können vom Agile-Projektmanagement profitieren. Agile Praktiken wie Kanban und Scrum sorgen für organisierte Arbeitsabläufe. Außerdem werden Prozesse und Besprechungen stärker in den Mittelpunkt gerückt, und es werden vor allem Tools für die Produktivitätsverfolgung, die Berechnung von Burndown-Diagrammen und die Backlog-Organisation eingesetzt.
In DevOps bedeutet eine Feedbackschleife, dass ein Input zu einem Output und wieder zurück geleitet und überprüft wird, mit dem Ziel, einen oder mehrere Prozesse oder Ergebnisse zu verbessern.
Es gibt zwei Arten von Feedbackschleifen. In einer verstärkenden Feedbackschleife kommt eine positive Aktualisierung eines Prozesses einem anderen damit verbundenen Prozess zugute, wodurch sich der Wert der ursprünglichen Aktualisierung erhöht. Dies wird manchmal als «Schleife eines beschleunigenden Wandels» bezeichnet. Bei einer ausgleichenden Feedbackschleife führt eine positive Aktualisierung eines Prozesses zu einem negativen Ergebnis für einen anderen, wodurch der Wert der ursprünglichen Aktualisierung in Frage gestellt wird. Im Allgemeinen wollen Sie verstärkende Feedbackschleifen maximieren und ausgleichende Feedbackschleifen minimieren.
Je kürzer die Feedbackschleifen sind, desto einfacher lassen sie sich pflegen, überwachen und optimieren.
Verwandte Themen
Die Quellcodeverwaltung (SCM) hilft Teams, schnell und effizient zusammenzuarbeiten. Erfahren Sie alles, was Sie über Versionskontrollwerkzeuge wissen müssen, wann Sie diese einsetzen sollten und wie sie funktionieren.
Die Implementierung von DevOps-Verfahren optimiert die Entwicklungspipeline und steigert die Zufriedenheit des Teams und der Benutzer. Erfahren Sie mehr darüber, wie DevOps Sie unterstützen kann.
Agile und DevOps verfolgen dieselben Ziele – Wertschöpfung für die Kunden mittels regelmäßiger Veröffentlichungen –, unterscheiden sich aber etwas in der Herangehensweise. Erfahren Sie, wie beide Lösungen zusammen eingesetzt werden können.
E-Books zu DevOps
Erfahren Sie mehr über die DevOps-Tools, die jedes Spieleentwicklungsstudio haben sollte, und hören Sie von Studios, die mit dem Lösungsportfolio von Unity erfolgreich sind.
Erfahren Sie, wie automatisierte DevOps-Lösungen für das Absturz- und Fehlermanagement die Entwicklung beschleunigen, die Kosten minimieren und eine bessere Benutzererfahrung ermöglichen können.
Wie einigen sich Grafiker und Entwickler in einer selbstverwalteten Studio-Genossenschaft auf eine Produktion? Lesen Sie, wie KO_OP Unity Plastic SCM als Teil seiner DevOps-Methodik implementiert hat.
Die Quellcodeverwaltung von Unity wurde für mehrere Codes entwickelt. Verwalten und versionieren Sie alles auf einer benutzerfreundlichen Plattform, die für Programmierer und Grafiker entwickelt wurde.