10 Day Cloud Onboarding

Use-Case Web-Kollaborations-ToolScope Initialer Launch des ProduktivsystemsBrancheIndustrie 4.0 (Hörmann Digital)

Ausgangslage

Hörmann Digital ist eine neu gegründete Firma mit dem Ziel die digitale Transformation innerhalb der gesamten Hörmann Gruppe zu treiben. Als Startpunkt wurde ein kleines, hochmotiviertes und recht unerfahrenes Team aufgebaut um die erste Applikation zu entwickeln und zu launchen. AWS ist als Zielplattform gesetzt und ein Account steht dem Team zur Verfügung. Allerdings befindet sich mangels tieferer Kenntnisse mit AWS die komplette Applikation inklusive Datenbank in einer Docker-Umgebung auf einer einzigen EC2-Instanz - letztendlich wird die Cloud wie ein einzelner On-Premise-Server genutzt. Best Practices wie Verschlüsselung oder Backupgs wurden bisher nicht berücksichtigt. Das Team möchte mehr über die Vorteile von echter Cloud-Entwicklung lernen und dieses Wissen anwenden um eine solide Grundlage für die Applikation und ihre Auslieferung zu legen.

Lösungsansatz

Technische Exzellenz
AWS, Infrastructure-as-Code, skalierbare Architektur
The LESS mindset
Mindset
Mentoring, Enablement, maximales Ergebnis in begrenzter Zeit

Anstatt einfach nur eine geeignete Architektur aufzusetzen haben wir uns entschieden eng mit dem Team zu arbeiten um so das Hauptziel, die Kollegen selbst für die Zukunft zu rüsten, zu erreichen. Über 2 Monate hinweg haben wir insgesamt 10 Tage mit dem Team verbracht um grundlegende Konzepte zu vermitteln, bei den größten Herausforderungen zu unterstützen, und gemeinsame den Live-Gang zu meistern. Bei allen Aktivitäten haben wir Pair und Mob Programming eingesetzt um sicherzustellen, dass das Team alle eingesetzten Tools und Praktiken einordnen kann.

Nach der gemeinsamen Analyse des Status Quo haben wir einen ersten Vorschlag für die Zielarchitektur ausgearbeitet. Zunächst haben wir diesen manuell mit einigen Abkürzungen umgesetzt um die verschiedenen AWS Services und ihr Zusammenspiel zu demonstrieren. In dieser explorativen Phase konnten wir bereits die ersten Hürden identifizieren. Beispielsweise war die Applikation noch nicht dazu geeignet konsistent auf mehreren Instanzen parallel zu laufen. Anschließend haben wir mit CloudFormation die gesamte Infrastruktur reproduzierbar aufgebaut und dabei die gewünschte Architektur kontinuierlich verfeinert und dokumentiert. Das Backend läuft in Docker Containern auf AWS Fargate und stellt REST-Endpunkte für das über S3 und CloudFront ausgelieferte Frontend bereit. Für die Persistenz kommt eine Multi-AZ RDS Datenbank zum Einsatz. Die Applikation kann mit steigender Last automatisch skalieren und die gesamte Build- und Deploymentstrecke ist mithilfe von CodePipeline automatisiert.

Neben dem erfolgreichen Launch ist das wichtigste Ergebnis unserer Zusammenarbeit, dass innerhalb des Teams sehr schnell Wissen und Erfahrung aufgebaut wurde. Da unsere Unterstützung auf maximal 2 Tage pro Woche begrenzt war konnten die Kollegen immer wieder alleine Probleme lösen und neues Wissen praktisch anwenden und vertiefen. Wir haben uns darauf fokussiert größere Fallstricke zu entfernen um eine steile Lernkurve und hohe Motivation zu ermöglichen.

Discussing examples and receiving guidance on real life situations made the AWS concepts easy to digest. I highly recommend Sekib Omazic as a Solution Architect.
Vladimir Markovski, Scrum Master Hörmann Digital