Vollständige Automatisierung von Azure Umgebungen

Anbieter von Elektrowerkzeugen

Novatec 2018 At Work IT 01

Die Ausgangssituation

Unser Kunde stand vor der Herausforderung, eine innovative Lösung für die nahtlose Integration von Elektrowerkzeugen in eine umfassende IoT-Lösung zu entwickeln. Die Werkzeuge kommunizieren hierbei über Bluetooth Low Energy mit plattformübergreifenden iOS- und Android-Apps auf Basis von React Native. Die gesamte Kommunikation erfolgt über Gateways, die wiederum mit der IoT-Lösung in der Microsoft Azure Cloud interagieren. Diese Cloud-Infrastruktur umfasste wichtige Komponenten wie den Azure IoT Hub und einen Kafka-Cluster.

Ziel war es, für diese innovative Softwarelösung auf Microsoft Azure spezifische Modelle für Continuous Integration / Continuous Deployment zu implementieren. Dies beinhaltete die Entwicklung maßgeschneiderter CI/CD-Pipelines unter Berücksichtigung aller Sicherheitsmechanismen. Dabei spielte die Integration von Infrastructure as Code (IaC) eine entscheidende Rolle, insbesondere durch die Entwicklung einer Referenzarchitektur für Azure Kubernetes Services (AKS) mit Hilfe von Pulumi und Terraform.

Dabei sollte nicht nur die Softwareentwicklung optimiert, sondern auch die gesamte Infrastruktur mittels IaC effizient verwaltet und nahtlos in den CI/CD-Prozess integriert werden. Dies ermöglichte nicht nur eine beschleunigte Bereitstellung von Anwendungen, sondern auch ein agiles und konsistentes Management der zugrundeliegenden Cloud-Infrastruktur.

Das Vorgehen

Unsere Vorgehensweise teilt sich in technische und organisatorische Maßnahmen auf. Nachfolgende technischen Maßnahmen wurden ergriffen, um die gesteckten Ziele zu erreichen:

Entwicklung der AKS-Referenzarchitektur

Wir entwickelten eine AKS-Referenzarchitektur, um eine standardisierte und skalierbare Bereitstellung von Kubernetes-Clustern in Microsoft Azure zu ermöglichen. Dabei berücksichtigten wir die Anforderungen der IoT-Lösung und konzipierten die Referenzarchitektur so, dass sie flexibel auf sich ändernde Bedürfnisse reagieren kann.

Pulumi und Terraform setzten wir strategisch ein, um die Infrastrukturdefinitionen als Code zu verwalten. Dies ermöglichte eine konsistente und reproduzierbare Erstellung, Aktualisierung und Entfernung von Infrastrukturressourcen.

Integration von IaC in CI/CD-Pipelines

Die Infrastrukturdefinitionen integrierten wir in die CI/CD-Pipelines, um automatisierte Bereitstellungen und Tests für Infrastrukturänderungen sicherzustellen. Diese kontinuierliche Integration von IaC erleichterte die parallele Verwaltung von Anwendungs- und Infrastrukturänderungen.

Parallel zu den technischen Maßnahmen ergriffen wir organisatorische Maßnahmen, um eine reibungslose Integration der neuen Technologien und Prozesse zu gewährleisten:

Teamintegration und Schulungen

Die Entwicklungsteams wurden aktiv in den Prozess der AKS-Referenzarchitektur, Pulumi und Terraform eingebunden. Schulungen und Workshops wurden durchgeführt, um sicherzustellen, dass Teammitglieder mit den neuen Tools und Prozessen vertraut waren.

Prozessoptimierung

Das Feedback der Teams wurde regelmäßig gesammelt und in die Optimierung der Prozesse einbezogen. Dies ermöglichte eine anpassungsfähige Weiterentwicklung der Technologien und Prozesse basierend auf den realen Anforderungen und Erfahrungen der Entwicklerteams.

Kollaborative Entscheidungsfindung

Entscheidungen bezüglich der AKS-Referenzarchitektur und der Toolauswahl wurden gemeinsam mit den Entwicklungsteams getroffen, um sicherzustellen, dass die Lösungen den Bedürfnissen aller gerecht wurden. Dies förderte die Zusammenarbeit und stellte sicher, dass die Technologien und Prozesse von allen Beteiligten akzeptiert wurden.

Die Kombination aus technischen und organisatorischen Maßnahmen schuf eine Umgebung, in der die Teams effektiv mit den neuen Technologien arbeiten konnten, während gleichzeitig die organisatorische Struktur an die neuen Anforderungen angepasst wurde.

Die Ergebnisse

Die Integration von Infrastructure as Code erwies sich als Schlüsselkomponente für die Agilität und Stabilität der gesamten Softwarelösung. Die AKS-Referenzarchitektur in Verbindung mit Pulumi und Terraform ermöglichte es den Teams, eine hochverfügbare und skalierbare Infrastruktur bereitzustellen, die den spezifischen Anforderungen der IoT-Lösung gerecht wurde.

Die Automatisierung von Infrastrukturänderungen durch IaC führte zu einer erheblichen Reduzierung von menschlichen Fehlern und sorgt dafür, dass die Infrastruktur immer den aktuellen Anforderungen entspricht. Dies trägt dazu bei, Ausfallzeiten zu minimieren und die Gesamtleistung der Softwarelösung zu optimieren.

Die Synergie zwischen IaC und CI/CD schuf eine agile Umgebung, in der Entwicklerteams nahtlos zwischen der Entwicklung von Anwendungen und der Verwaltung der zugrunde liegenden Infrastruktur wechseln konnten. Dies führt zu einer schnelleren Markteinführung neuer Funktionen und einer insgesamt effizienteren Entwicklungspipeline. Die Integration von IaC und CI/CD erwies sich somit als entscheidender Erfolgsfaktor für die Gesamtleistung und Qualität der Lösung.

IaC und CI/CD

Seit vielen Jahren arbeiten wir intensiv mit mehreren Kunden in der Automatisierung der Microsoft Azure Cloud zusammen. Im Fokus steht der Infrastrukturaufbau und die vollständige Integration in einen reibungslosen DevOps Lebenszyklus. Dazu gehören die Verwaltung und Provisionierung von AKS-Clustern, Datenbanken (MongoDB, MySQL, Postgres), VNETs, Integration eines vollumfänglichen Monitorings, ein solides Secret Management, Traffic-Routing mit Azure Application Gateway, das Verwalten und Bereitstellen sicherer Container-Images mit Azure Container Registry und vieles mehr.

Allgemeine Anfrage

Wir freuen uns darauf, Ihre Herausforderungen zusammen in Angriff zu nehmen und über passende Lösungsansätze zu sprechen. Kontaktieren Sie uns – und erhalten Sie maßgeschneiderte Lösungen für Ihr Unternehmen. Wir freuen uns auf Ihre Kontaktanfrage!

Jetzt Kontakt aufnehmen