Schriftliche DevOps-Schulung
Wie lernt Ihre Organisation aus der täglichen DevOps-Arbeit?
Ein wichtiger DevOps-Grundsatz lautet: Sie und Ihr Team lernen laufend aus der täglichen Arbeit und machen Ihre Erkenntnisse als wiederverwendbare Ressourcen für die ganze Organisation verfügbar.
Nutzen Sie Chaträume, um Wissen zu teilen
Nutzen Sie Chaträume, um Wissen zu erfassen und aufzubauen. Integrieren Sie Bots, die betriebliche Aufgaben schnell ausführen. Beispielsweise kann die folgende Nachricht an Ihren Bot die Anwendung FrontEndApp in der Umgebung TestServer-9 installieren und das Ergebnis im Chat ausgeben, als hätten Sie den Befehl in der Kommandozeile ausgeführt.
@bot install FrontEndApp TestServer-9
So kann sich das ganze Team schnell über den Arbeitsfortschritt abstimmen. Informationen gehen nicht in privaten Chats oder E-Mails verloren. Das fördert Zusammenarbeit und Transparenz und macht Wissen aus dem Team für die ganze Organisation nutzbar.
Gemeinsame Chaträume beschleunigen außerdem die Einarbeitung neuer Mitglieder Ihres Teams oder Unternehmens. Sie können dort nachvollziehen, wie ein wesentlicher Teil der Teamarbeit abläuft. Erwägen Sie getrennte Chaträume für verschiedene Produkte, Dienste, Komponenten, Werkzeuge, Bibliotheken und Integrationen. So lassen sich frühere Aktivitäten zu einem bestimmten Element leichter finden.
Setzen Sie auf ausführbare Standards und Abläufe
Halten Sie Ihr Fachwissen möglichst in ausführbaren Standards und Prozessen fest. Eine der besten Möglichkeiten zur Wissensweitergabe ist ein wiederverwendbares Werkzeug in Ihrer Versionsverwaltung, das alle bei Bedarf finden. Statische Dokumente werden je nach Leser unterschiedlich oder falsch ausgelegt. In ausführbarem Code festgehaltene Standards und Arbeitsweisen vereinfachen und beschleunigen die Arbeit. Sie helfen auch bei Audits und Compliance-Prüfungen, wenn zumindest eine kurze Dokumentation erläutert, wie der Code den zu prüfenden Ablauf umsetzt.
Erstellen Sie für Arbeiten, Prozesse und Standards, die sich nicht automatisieren lassen, wiederverwendbare User Storys mit klaren Schritten und Checklisten. So können alle Teams auf diese Vorlagen zurückgreifen und ähnliche Aufgaben einheitlich erledigen. Die Teams verbessern die Vorlagen ebenso laufend, wie sie Codebibliotheken prüfen, wiederverwenden und verbessern.
Erstellen Sie wiederverwendbare Softwarevorlagen
Erstellen Sie einsatzbereite Vorlagen für Komponenten, Anwendungen, Dienste und Microservices, die nichtfunktionale Anforderungen von Anfang an berücksichtigen. So müssen Entwickler diese Anforderungen nicht bei jedem neuen Code erneut lösen.
Dadurch setzt Ihre Organisation nichtfunktionale Anforderungen im gesamten Anwendungsstack einheitlich um. Die eingebauten Eigenschaften vereinfachen außerdem Deployment, Überwachung, Fehlerbehebung und den Betrieb von Software auf Test- und Produktionsplattformen. Beispiele für solche Anforderungen sind:
- Telemetriemetriken.
- Laufzeitkonfigurationen.
- Feature-Toggles.
- Abhängigkeiten nachverfolgen können.
- Von Benutzern ausgelöste Anfragen nachverfolgen können.
- Widerstandsfähige und fehlertolerante Dienste.
- Dienste, die sich bei Bedarf kontrolliert auf einen geringeren Funktionsumfang umstellen lassen.
- Protokollmeldungen durchsuchen können.
- Abwärts- und Aufwärtskompatibilität.
- Archivierung und Verwaltung von Produktionsdatenbeständen.
- Verwaltung und Archivierung von Protokollen.
Umfassende automatisierte Tests sollten Teil Ihrer in Code umgesetzten Vorlagen sein. Sie machen den Zweck des Codes und seine effizienteste Wiederverwendung deutlich. Außerdem erleichtern sie die Erstellung automatisierter Tests für eigene Anwendungen, die auf diesen Vorlagen aufbauen.
Verwenden Sie ein einziges Code-Repository
Damit alle Erkenntnisse und Arbeitsergebnisse für alle verfügbar sind, speichern Sie in einem gemeinsamen Repository neben dem Quellcode auch Deployment-Werkzeuge, Code zum Aufbau und Ausführen der Pipeline, automatisierte Tests, Code für Telemetrie und ihre Einbindung, Standards, Tutorials, Dokumente, Wikis, Hilfswerkzeuge und Konfigurationsstandards für die Plattformen.
So stehen alle Ressourcen für alle in der DevOps-Organisation sichtbar bereit. Duplikate und mehrere Versionen derselben Artefakte, Komponenten und Drittanbieterwerkzeuge werden vermieden. Mit einem Repository können Sie außerdem zur Laufzeit alles kompilieren, verknüpfen und bauen und bei Entwicklung, Test und Deployment jeweils die neueste Version verwenden.
Legen Sie Technologiestandards fest und bleiben Sie flexibel
Wenn alle im Team den Code der anderen lesen, prüfen und korrigieren sollen, legen Sie gemeinsame Technologiestandards fest, die Entwicklung und Betrieb erlernen und anwenden können. Sie brauchen eine kompilierte Sprache, eine Skriptsprache und eine Sprache für grafische Benutzeroberflächen. Geben Sie allen trotzdem Freiraum, Technologien zu erkunden, die sie interessieren. So lernt und experimentiert das Team kontinuierlich. Woher soll Ihre nächste erfolgreiche Innovation kommen, wenn Sie neue Möglichkeiten nie erkunden und ausprobieren?
FAZIT
Dieses Kapitel fasst verbreitete DevOps-Techniken zusammen, mit denen Ihre Organisation aus der täglichen Arbeit lernt und wiederverwendbare Ressourcen aufbaut. So stärken die gesammelte Erfahrung und das Fachwissen der gesamten Organisation die Kompetenz und Arbeitsqualität jedes einzelnen Teammitglieds.
Viel Erfolg auf Ihrem Weg mit DevOps!
