Client:
BMW Group

Automobilhersteller

Project Information:
Topic
| Agility on Scale with Atlassian Datacenter on AWS
Technology | AWS and Atlassian Services and Products

Herausforderung

Challenge 1:

Immer komplexere Benutzeranforderungen stellen die Prozesse und Kapazitäten der on-premise Infrastruktur vor Herausforderungen. Wenn z.B. eine große Anzahl von Teams die Nutzung einer brandneuen DevOps-Toolchain in Angriff nimmt, steigt der Bedarf an Rechenleistung über den gesamten IT-Stack deutlich und abrupt an.

Challenge 2:

Der schnelle Anstieg des Ressourcenbedarfs, gepaart mit der Schwierigkeit, die zusätzliche Kapazität sofort bereitzustellen, führt häufig zu instabilen Systemen und unzureichender Benutzerfreundlichkeit. Es ist entscheidend, eine solche Ressourcenerhöhung innerhalb von Minuten zu ermöglichen, um zu verhindern, dass die User eine schlechtere Performance wahrnehmen.

Challenge 3:

Die Implementierung von Änderungen in solch stark beanspruchten Systemen erfordert einen sehr snpruchsvollen Test- und Qualitätssicherungsprozess, der garantiert, dass ein neues Release, Upgrade oder Patch keine negativen Auswirkungen auf die User Experience und die geschäftskritische Funktionalität hat.

💡
Warum AWS?
Im Zeitalter des schnellen technologischen Wandels ist die Cloud nicht nur für Backup und Speicherung nützlich, sondern auch für die Anforderungen von zukunftssicheren Unternehmen und den Erhalt des Wettbewerbsvorteils. Unternehmen, die große Datenmengen in die Cloud verlagern, können die Vorteile der neuesten Technologie nutzen und sich von der veralteten Infrastruktur vor Ort zu verabschieden.

Warum Scandio und ByteSource?
Scandio und ByteSource sind sowohl Atlassian Platinum Enterprise als auch AWS Consulting Partner mit fundierter Erfahrung im Einsatz von Atlassian Data-Center-Lösungen vorzugsweise in der AWS Public Cloud. Gemeinsam mit dem BMW Group-internen Team übernahmen die Anbieter die Verantwortung für die Migration des Atlassian Toolstacks in die AWS Cloud.

Unser gemeinsamer Lösungsweg

Unsere Lösung basiert auf der Referenzarchitektur von Atlassian für die AWS Cloud. Es wird dazu die Auto Scaling Technologie von AWS verwendet:

  • um eine dynamische Skalierung der EC2-Knoten zu ermöglichen,
  • zur automatischen Bereitstellung neuer Knoten auf der Grundlage von Schwellenwerten
  • oder um nicht mehr benötigte Knoten zu deaktivieren.              Der Betrieb von EC2-Knoten in mehreren Availability Zones garantiert die Ausfallsicherheit des gesamten Systems, wobei die Möglichkeit eines gleichzeitigen Ausfalls von zwei Availability Zones berücksichtigt wird.

Datenbank

Der AWS Relational Database Service (RDS) mit Implementierungen in mehreren Availability Zones und einem bereitgestellten IO bietet eine optimale Lösung für eine stark frequentierte Datenbank, wie sie typisch für Atlassian Data Center Implementierungen ist.    

Storage

Die von der Atlassian Data Center Architektur geforderte gemeinsame Datenspeicherung wird durch das AWS Elastic File System (EFS) mit einem hochverfügbaren NFS-basierten Dateisystem bereitgestellt.    

Sicherheit und Compliance

Alle Systemkomponenten werden in privaten VPCs eingesetzt, die über AWS Direct Connect und eine schnelle dedizierte Breitbandverbindung mit der Netzwerkinfrastruktur des Unternehmens verbunden sind. Alle EC2 EBS-Volumes, S3-Buckets, EFS-Volumes und AMIs werden mit starken, kryptographischen Schlüsseln codiert, die von AWS KMS verwaltet werden.

Auch die Backups und ihre Übertragung an einen zweiten physischen Standort werden verschlüsselt.

Alle Elemente des Konfigurationsmanagements einschließlich u.a. Datenbankpasswörter und Zertifikate werden in einem hochverfügbarem und sicherem HashiCorp Vault-Deployment gespeichert, das auf einem Multi-AZ Consul-Backend mit kryptografischer Speicherung läuft.    

Deployment und Orchestration

Die Verwendung von Auto Scaling Gruppen erfordert eine vollautomatische Bereitstellung der beteiligten EC2-Knoten. In unserem Lösungsweg mit der BMW Group werden alle Knoten über Ansible Playbooks bereitgestellt, von einer H/A Ansible Tower-Instanz auf dem ECS ausgeführt, von einer weiteren Auto Scaling Gruppe in mehreren AZs selbst verwaltet und von einem EC2 Application Load Balancer exponiert. Die Orchestrierungslösung für die beteiligte Infrastruktur basiert auf Terraform. Die erweiterte Unterstützung für AWS aber auch für HashiCorp Vault ermöglicht eine nahtlose und sichere Bereitstellung. Die Abgrenzung der unterschiedlichen Umgebung wird durch die Verwendung von völlig unabhängigen VPCs in verschiedenen AWS-Accounts realisiert. Alle Umgebungen werden über eine vollständig integrierte Jenkins basierte kontinuierliche Delivery Pipeline bereitgestellt. Neue Versionen können immer in einer Staging-Umgebung getestet werden, in der Last- und Stresstests von der gleichen Performance-Suite durchgeführt werden, die auch bei der ursprünglichen Implementierung verwendet wurde. Dadurch wird das Risiko von unerwarteten Funktionsänderungen und Performance-Einbußen verringert.


Ergebnisse und Vorteile

Das Ergebnis der Migration ist ein extrem stabiles System mit einer deutlich verkürzten Response-Zeit. Hier sind einige Beispiele der gemessenen Metriken:

  • Die durchschnittlichen Response-Zeiten der typischen CRUD REST-Aufrufe (Issue erstellen, lesen / suchen eines Issue mit JQL, Issue aktualisieren und Issue löschen) vor der Migration lagen bei ca. 7 Sekunden mit sehr hoher Variation (minimale Response-Zeiten von 2 Sekunden, maximale Response-Zeiten von 30+ Sekunden).
  • Die durchschnittlichen Response-Zeiten der typischen CRUD REST-Aufrufe nach der Migration liegen unter 1 Sekunde (z.B. 0,58s durchschnittliche Antwortzeit für 7 Tage) und auf einem sehr niedrigen Niveau der Variation (minimale Zeiten von 0,3 Sekunden und maximale Zeiten von ca. 3 Sekunden).
  • Power-User haben eine nachhaltige Abnahme der Response-Zeiten ihrer spezifischen JQL-Filter von 25 Sekunden auf 2 Sekunden gemessen, was einer mehr als zehnfachen Beschleunigung entspricht.
  • Im ersten Betriebsmonat traten keine größeren Zwischenfälle auf und es wurde eine Betriebszeit von nahezu 100% erreicht.

Neben diesen Kennzahlen sind auch weitere Vorteile wie eine geringere Auslastung der Support- und Serviceteams und mehr Zeit für funktionale Verbesserungen zu nennen.


Nächste Schritte

Auch die beste Lösung kann mit der Zeit immer noch verbessert werden. Durch den geringeren Aufwand für Wartung und Störfälle hat das BMW Group Team mehr Kapazität für Verbesserungen, neue Integrationen und neue Funktionen.

Kostenoptimierung

Nach der erfolgreichen Migration auf die AWS Cloud ist der erste Schritt die Suche nach Möglichkeiten zur Kostenoptimierung. Generell ist es empfehlenswert, mit leicht überdimensionierten Anforderungen zu beginnen, um eine gute User Experience zu gewährleisten. Nachdem die Kennzahlen stabil und messbar geworden sind, ist es möglich, feste VM-Anzahlen, VM-Instanztypen etc. zu planen und abzurechnen. Zuverlässige Metriken ermöglichen verschiedene Optionen zur Kostenoptimierung.

Predictive Auto Scaling

Mittelfristige Statistiken über Nutzungsmuster ermöglichen die Implementierung von Predictive Auto Scaling. Wenn z.B. bekannt ist, dass üblicherweise um ca. 9:00 Uhr morgens eine große Nutzungsspitze auftritt, kann es für die User von großem Wert sein, wenn die Skalierung kurz vorher ausgelöst wird - und nicht erst dann, wenn die CPU-Auslastung bereits zu hoch ist. An Tagen mit vorhersehbar geringer Auslastung (wie Wochenenden und Feiertage) können die Knoten auf ein Minimum von zwei reduziert und sogar auf VM-Typen mit geringerer Kapazität umgeschaltet werden.

Verbesserung des Performance-Monitoring

Aussagekräftigere Performance-Metriken ermöglichen eine detailliertere Analyse. Diese wiederum ermöglichen tiefere Einblicke in das System und verkürzen die Zeit, die benötigt wird, um ein aufgetretenes Problem zu lösen (z.B. durch ein neues Release oder eine neu installierte Anwendung).

Migration auf AWS Aurora, sobald es von Atlassian unterstützt wird

Atlassian hat bereits die zukünftige Unterstützung von AWS Aurora angekündigt. Dies kann die Belastbarkeit des Systems deutlich erhöhen, aber auch eine erhebliche Leistungsoptimierung bringen (laut AWS kann Aurora bis zu 8 mal schneller sein als das RDS-Äquivalent).


Vorteile

Stabilität und Skalierung

  • Keine Instabilität mehr aufgrund von Skalierungsproblemen, die nach der Migration beobachtet wurden.
  • Praktisch unendliche Skalierung verfügbar (die Leistung wurde mit einer vorhergesagten Last von 100k Usern getestet).

IaC

  • "Everything as Code" (versioniert in Git-Repositories).
  • Identische Umgebungen sind einfach einzurichten.
  • Feature- und Release-Tests laufen darauf hinaus, ein paar Zeilen Code zu ändern.

Flexibilität

  • Eine Änderung der Systemparameter ist jederzeit möglich. Lange Vorlaufzeiten gehören der Vergangenheit an.

Sicherheit

  • Die Anforderungen an Architektur und Sicherheit / Compliance werden vollständig erfüllt.
  • Alle Daten werden bei REST und auf dem Transportweg verschlüsselt.
  • Ein erweitertes Secret-Management ist implementiert.

Über die APN Partner

Scandio

Die Scandio GmbH ist ein Softwareunternehmen mit Sitz in München und Augsburg, das sich aus technischen Beratern und Entwicklern zusammensetzt. Basierend auf unserem Know-how und unserer Erfahrung entwickeln wir seit über 16 Jahren erfolgreich maßgeschneiderte Lösungen für unsere Kunden. Wir sind seit über einem Jahrzehnt Atlassian Platinum Solution Partner und seit 2013 AWS Select Consulting Partner. Seit 2018 sind wir stolzer Gewinner in der Kategorie: "Atlassian Partner des Jahres - Enterprise".

ByteSource

BYTESOURCE mit Sitz in Wien ist ein führender Spezialist für Team Collaboration Lösungen auf Basis von Atlassian und Experte für agile Softwareentwicklung, DevOps und technische Beratung. BYTESOURCE ist "Atlassian Platinum Solution Partner Enterprise" und AWS Select Consulting Partner.