Lifecycle Management mit Atlassian-Tools, Teil 2 Vom Deployment bis hin zum Feedback Loop
Eine DevOps-Toolchain besteht aus verschiedensten Lösungen, um sämtliche Phasen von der Planung und Softwareentwicklung bis hin zu Testing und Feedback abzudecken. Atlassian bietet hierfür eine ganze Werkzeugsammlung an, von denen wir schon einige vorgestellt und andere verschwiegen haben.
Anbieter zum Thema

Nachdem wir uns im ersten Teil dieses Beitrags mit den Atlassian-Tools für die ersten beiden DevOps-Phasen „Plan“ und „Build“ befasst haben, schreiten wir nun im Lebenszyklus voran. Dieser Beitrag zeigt, welche Möglichkeiten der Anbieter mit Blick auf Deployment, Betrieb und Feedback-Loop in der Hinterhand hat.
Phase 3: Bereitstellung (Deploy)
Vor der Freigabe, dem Release, kommt die Bereitstellung, also Deployment. Hier kommen alle Informationen über Änderungen, Testergebnisse und Bereitstellung (Adresse, Datum usw.) eines anstehenden Releases an einem Ort zusammen. Um ein persönliches Meeting zu vermeiden, bietet sich ein sogenanntes Release Dashboard an. Dieses Dashboard sollte mit dem Code-Repository und den Deployment-Tools integriert sein, um völlige Transparenz auf jeder Ebene zu gewähren und Alarmzeichen anzuzeigen. Bei Atlassian wird dafür Jira Software – siehe oben - angeboten.
Automatisiertes Deployment
Es gibt keine Allzweckwaffe für das Deployment, vor allem nicht, wenn man für mehrere verschiedene Umgebungen deployed. Aber man kann das Runbook, das Ops führt, in ein ausführbares Skript umwandeln, etwa mit Ruby, und nutzen. Es ist sinnvoll, Host-Namen mit Variablen zu ersetzen, denn so erspart man sich später, jeden Namen einzeln in jeder einzelnen IT-Umgebung ersetzen zu müssen. Duplizierter Code sollte mit geeigneten Methoden vermieden werden, und eine Peer Review von Skripten kann viele Fehlerquellen entdecken.
Man fängt am besten mit der einfachsten Umgebung an, die man am häufigsten nutzen wird, und steigert sich dann in der Schwierigkeit. Eine Liste von Tasks wird sich bald als Standard herauskristallisieren. Provisionierungswerkzeuge wie Puppet oder Chef erleichtern die standardisierte Gestaltung von Umgebungen und folglich das automatisierte Deployment. Dies wird von Atlassian mit Bamboo unterstützt. Es orchestriert Deploymentschritte und gewährt Einblick in den Ablauf in jeder einzelnen IT-Umgebung.
Phase 4: Betrieb (Operate)
DevOps endet nicht mit der Freigabe. Wie der Name schon sagt, muss auch der laufende Betrieb überwacht werden. Im Fokus stehen dabei Server und die Performance von Applikationen. Es gibt eine ganze Reihe von Tools für diese automatisierte Aufgabe: New Relic, Splunk und Nagios sind die verbreitetsten Produkte für beide Aufgabenbereiche. Damit deren Benachrichtigungen aber auch direkt den Team-Chatroom oder einen speziell dafür eingerichteten Notfall-Chatroom erreichen, ist eine entsprechende Integration nötig. Das Atlassian-Tool der Wahl wäre Stride.
Swarming
Chatrooms ermöglichen die Team-übergreifende Kommunikation. In dedizierten Räumen können Experten das Swarming ausführen, bei dem sie wie fleißige Bienen über Fehlermeldungen herfallen, um Probleme zu beheben, und zwar früh- und rechtzeitig, so dass die Uptime der betroffenen Server maximiert wird. Damit sie im Bilde sind, muss ihr Chat-Tool, wie erwähnt, mit Überwachungswerkzeugen integriert sein. Tools wie Atlassian Stride, HipChat und Atlassian Statuspage empfehlen sich dafür, auch wenn sie längst nicht die einzigen sind. Trello visualisiert die Kollaboration via Stride/HipChat.
Tracking
Was passiert, wenn Vorfälle gemeldet werden? Hängen sie mit zusammen und sind auf Softwareprobleme zurückzuführen? Wenn Änderungen ausgeführt werden, sind sie dann mit Releases verbunden? An diesen Fragen muss Dev mit Ops zusammenarbeiten, doch dies wird erschwert, wenn Vorfälle und Software-Projekte in unterschiedlichen Systemen verwaltet werden.
Folglich müssen die geeignetsten Werkzeuge Vorfälle, Änderungen, Probleme und Projekte auf einer gemeinsamen Plattform verwalten. Das beschleunigt die Identifizierung und Behebung von Problemen. Atlassians Werkzeuge sind Jira Software und Jira Service Desk.
:quality(80)/images.vogel.de/vogelonline/bdb/1355400/1355409/original.jpg)
Lifecycle Management mit Atlassian-Tools, Teil 1
Die DevOps-Phasen Planung und Erstellung
Phase 5: Kontinuierliche Rückmeldung (Feedback)
Das Feedback der Kunden zu erfassen ist ebenso wichtig wie die Server-Überwachung. In beiden Fällen erfährt das Entwicklerteam nämlich, ob es seine Arbeit gut gemacht hat, beispielsweise hinsichtlich der Bedienerfreundlichkeit.
Worin aber besteht das Feedback? Es kann alle möglichen Formen annehmen: eine Umfrage wegen einer Lizenzkündigung oder genereller Unzufriedenheit, Bug-Meldungen, Support-Tickets und sogar Tweets. Es kommen auch Meldungen im Format des Netzwerkrichtlinienservers (Network Policy Server, NPS) von Windows Server. Solche „Kommentare“ stehen jedem im Produkt-Team zur Einsicht bereit, denn sie beeinflussen alles, von der Release-Planung bis zur nächsten explorativen Test-Session.
Um alle Meldungen an einem Ort zusammenzuführen, sollte man ein Tool wählen, dass das vorhandene Chat-Tool mit der bevorzugten Umfrage-Plattform, mit NPS-Feedback, Twitter und/oder Facebook integriert. Wer tiefere Einblicke in Feedback aus Social Media erhalten möchte, sollte in eine entsprechende Plattform investieren. Sie muss in der Lage sein, Reports auf der Grundlage historischer Daten zu erstellen. Der Aufwand lohnt sich auf lange Sicht, denn es ist besser als Features zu entwickeln, die niemanden interessieren. Atlassians Tools sind Stride und Jira Service Desk, für Umfragen bietet sich u.a. SurveyMonkey an.
Fazit
Kommunikation und Kollaboration, Überwachung und Feedback sind das A und O in einem agilen DevOps-Team. Ein einzelnes Team muss in einer kleineren Firma alle anfallenden Aufgaben selbst bewältigen, wohingegen in einem größeren Unternehmen die Aufgaben auf mehrere Abteilungen verteilt – hier sind Kommunikation und Abstimmung sogar noch wichtiger.
Unstimmigkeiten in der Kollaboration und den Prozessen führen schließlich sofort zu Verzögerungen und diese wiederum kosten bares Geld. DevOps muss also darum bemüht sein, solche Barrieren niederzureißen und den Lebenszyklus zu beschleunigen – durch Automation und nahtlose Zusammenarbeit.
Die Auswahl des passenden DevOps-Werkzeugkastens erfordert indes einen genauen Blick auf die vorhandenen Prozesse für Software-Entwicklung und IT-Betrieb. Dann legt man sich eine Liste der Stellen an, wo Verbesserungen nötig oder ratsam sind. Bei der Wahl einer integrierten Plattform von geeigneten Tools, die alle oben erwähnten Prozesse und DevOps-Phasen abdecken, könnte Atlassian ganz oben auf dem Wunschzettel stehen.
(ID:45148916)