Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Betrieb einer Jira Data Center Umgebung in der Amazon AWS Cloud

Die Sicherung einer hochverfügbaren und performanten Atlassian Jira Data Center Anwendung in der Amazon AWS Cloud bedarf einiger Aufgaben im Regelbetrieb. Dieser Blogbeitrag liefert eine Übersicht der wichtigsten Dienste und administrativen Tätigkeiten.

Nachdem wir in dem Techblog "Erstellung einer Jira Data Center Umgebung auf Amazon AWS" bereits gezeigt haben, wie ein­fach und schnell eine Jira Data Center Umgebung auf der Amazon AWS Cloud auf­ge­setzt wer­den kann, soll es dies­mal um einige Aufgaben im Regelbetrieb einer sol­chen Anwendungslandschaft gehen. Wir wer­den dabei die Punkte Skalierung, Überwachung und Sicherung behan­deln.

Hinzufügen weiterer Data Center Serverknoten

Die Erweiterung des Data Center Clusters ist ebenso ein­fach, wie die bereits beschrie­bene Erstellung der gesam­ten Infrastruktur. Ausgehend von der AWS CloudFormation Console kann erneut das zuvor genutzte Template für Infrastruktur- und Konfiguration erneut aus­ge­wählt und bear­bei­tet wer­den. Durch Auswahl des Menüpunktes "Update Stack" gelangt man auf die Formularseite des Assistenten, auf der die Maximale Anzahl der Knoten erhöht wer­den kann. Nach Bestätigung der Einstellung wird die Infrastruktur ent­spre­chend erwei­tert. Da die Skalierung im Standard von der CPU-Auslastung der bestehen­den Serverknoten abhängt, muss diese Änderung nicht unmit­tel­bar zu einer Erhöhung der Knotenanzahl füh­ren.

Alternativ kann auch gleich­zei­tig die mini­male Anzahl der Serverknoten erhöht wer­den. Das kann not­wen­dig sein, um bspw. eine Zero-Downtime-Update zu ermög­li­chen oder stän­dig eine bestimmte Grundreserve bereit­zu­hal­ten.

Aktualisierung der Data Center Anwendung

Ähnlich dem Prinzip der Aktualisierung einer Atlassian Server-Anwendung, wird der Versionswechsel durch eine neuere Installationsdatei voll­zo­gen. Für das Update nutzt Atlassian die AWS "Autoscalinggroups" und einige zusätz­li­che Automatismen, die den Updateprozess auf einige wenige Schritte mini­mie­ren.

Aufgrund der eige­nen Subnetze des Atlassian Data Centers sind die Knoten zunächst nicht direkt per SSH zugreif­bar. Best Practice ist einen Jumphost auf­zu­bauen und die­sen als "Sprungrechner" auf die ein­zel­nen Data Center Server zu ver­wen­den. Im Zuge des Updates ist es ledig­lich not­wen­dig die neue Jira-Installationsdatei hoch­zu­la­den und in einer Versionsdatei die gewünschte Version anzu­pas­sen. Wir nut­zen dazu das von allen Jira-Knoten für das Shared Home ein­ge­bun­dene Elastic File System (EFS), wel­ches nun zusätz­lich in den Jumphost gemoun­tet wird und so einen Zugriff auf diese bei­den Dateien bie­tet.

Nachdem man den kom­plet­ten Cluster, über die Jira-Administrationsoberfläche, in den "Upgrade Modus" ver­setzt hat, beginnt man die EC2-Instanzen ein­zeln zu löschen ("Terminate"). Das feh­len einer Instanz inner­halb der Autoscalinggroup wird erkannt und es wird ein kom­plett neuer Serverknoten inkl. der neuen Jira-Installation gestar­tet und pro­vi­sio­niert. Es wird dabei die neue, zuvor hin­ter­legte, Installationsdatei ver­wen­det. Nachdem der erste Knoten aktua­li­siert und voll­stän­dig gestar­tet ist, kann man mit der Löschung des nächs­ten Knotens fort­fah­ren. Hat man alle Knoten des Clusters aktua­li­siert, ändert man über die Administrationsoberfläche der Anwendung den "Upgrade Modus" in "Upgrade abge­schlos­sen". Im Hintergrund wer­den ggf. not­wen­dige Aktualisierungsschritte durch­ge­führt.

Überwachung

Der Monitoring Dienst CloudWatch dient zur Überwachung unter­schied­li­cher Metriken, wie z.B. CPU-Auslastung und Netzwerklatenz für unter­schied­li­che AWS-Ressourcen. CloudWatch bie­tet inner­halb der AWS Console direkt die Möglichkeit der gra­fi­schen Auswertung an. Die ein­zel­nen Metriken kön­nen indi­vi­du­ell ange­passt und auch noch erwei­tert wer­den. Weitere Informationen zu den Möglichkeiten fin­det sich in der CloudWatch-Dokumentation.

Des wei­te­ren ste­hen Events, Logs und eine Alarmierung zur Verfügung. Für Schwellenwerte unter­schied­lichs­ter Metriken kön­nen Alarme frei kon­fi­gu­riert wer­den. Diese sind anschlie­ßend für eine Benachrichtigung oder für das AutoScaling (AutoScalingGroup) nutz­bar.

Im CloudFormation Template ist das bereits für eine dyna­mi­sche Skalierung der Clusterknoten rea­li­siert. Dabei wird ein Schwellwert auf die CPU-Auslastung gelegt und ent­spre­chend die Knotenanzahl erhöht oder ver­rin­gert.

Die Richtlinie sieht darin vor, dass wei­tere Knoten hin­zu­ge­fügt wer­den, falls:

  • die CPU Auslastung für 5 Minuten über 60% ist

Im Gegenzug wird die Clusterknotenanzahl verin­gert, falls:

  • die CPU Auslastung für 30 Minuten unter 40% sinkt

Dies erlaubt eine bedarfs­ge­rechte und kos­ten­spa­rende Umsetzung.

Sicherung

Zur Sicherung und Wiederherstellung von Datenständen der Data Center Anwendung ver­weist Atlassian auf die Amazon AWS Standardverfahren.

Grundsätzlich sind für die Atlassian Data Center Anwendungen zwei Datenspeicher rele­vant:

  1. EFS (Dateien, NFS): beinhal­tet die Installationsdatei und das Datenverzeichnis (Home)
  2. RDS (Datenbank): beinhal­tet die rela­tio­na­len Inhalte der Anwendung

Zur Sicherung der Datenbank kann die Snapshot Funktionalität des RDS (Relational Database Service) ver­wen­det wer­den. Eine Wiederherstellung des Snapshots fin­det sich in der RDS-Dokumentation.

Für die Erstellung und Wiederherstellung von EFS-Backups gibt es die Lösung: "EFS-to-EFS Backup". Mit die­ser Implementierung wer­den, mit­tels CloudWatch, auto­ma­tisch Backups in einem defi­nier­ba­ren Intervall erstellt. Es kann dabei auf ein vor­ge­fer­tig­tes CloudFormation Template zurück­ge­grif­fen wer­den, wel­ches die not­wen­dige Infrastruktur bereit­stellt. In die­sem Template kön­nen u.a. EFS-Quelle und Intervall ange­ge­ben wer­den. Im Standard wer­den die Backups nächt­lich 02:00 Uhr erstellt und 7 Sicherungen vor­ge­hal­ten. Sollte es ein­mal nötig sein ein sol­ches Backup wie­der ein­zu­spie­len, bie­tet Amazon hier­für eben­falls ein Template an. Durch Angabe der Backup-Quelle, EFS-Ziel und Backnummer, kann eine bestimmte Sicherung wie­der her­ge­stellt wer­den.

Hinweis: Für die Bereitstellung die­ser Infrastruktur fal­len zusätz­li­che Gebühren an.

Dieser Techblog stellte einige wesent­li­chen Aufgaben zu Skalierung, Überwachung und Sicherung für den rei­bungs­lo­sen Betrieb einer Data Center Lösung in der Amazon Cloud Umgebung dar. Amazon AWS unter­stützt den Administrator bei sei­ner Arbeit mit dem umfang­rei­chen Angebot an Diensten bis hin zur Automatisierung ein­zel­ner Aufgaben.

Related Posts

Pin It on Pinterest