=

Kundenstory

Azure Full Stack Entwicklung

Erstellung einer Landing Zone Web App im Azure Umfeld

Unternehmen

Kunde aus Automobilbranche
Leistungen

Software Development

Branche

Maschinenbau-Industrie

Kunde seit

2021
P

Self-Service

Für die Erstellung von Azure Ressourcen und Umgebungen für verschiedene Abteilungen des Kunden.

P

Versionier- und auditierbar

Infrastruktur-Provisionierung mit Terraform

P

Schnelle und einfache Änderung

Der Infrastruktur ohne zusätzlichen Overhead.

P

Einfach und übersichtlich

Möglichkeit, Umgebungen für neue Projekte anzulegen.

In A Nutshell:

  • BRANCHE: MASCHINENBAU-INDUSTRIE

  • Task: Entwicklung einer Landing Zone App für die Provisionierung von Ressourcen in der Azure Cloud

  • Team: Team aus vier Personen, bestehend aus 3 Entwicklern und einem PO (Product Owner)

  • Projektlaufzeit: +12 Monate

Herausforderungen:

  • Azure Landing Zones definieren & umsetzen im Sinne Self-Service für verschiedene Fachabteilungen
  • Automatisierte Erstellung von Ressourcen in Azure (Ressourcen-Gruppen, Policies, Berechtigungen, …)
  • Verbesserung der Anpassbarkeit der Cloud Infrastruktur durch Infrastructure as Code
  • Zeitnahe Reaktion auf Enduser-Anfragen (Für nicht cloudaffine Personen in der Firma war die Azure Oberfläche samt ihrer Unterseiten zu “sperrig”)
  • Automatisierung sämtlicher Release und Deployment Prozesse

Lösungen:

  • User-Inferface um die Cloud Infrastruktur zu konfigurieren mit Angular Web-App mit C# API
  • Lösung hat die eingegebenen Parameter übernommen und automatisiert über Terraform provisioniert (z.B. Departmentname, Name des Projektes, Subscription Namen, Berechtigungen)
  • Azure DevOps Integration für die Ablage von Konfigurations-Files (JSON)
  • Robuste und wiederherstellungsfähige Infrastruktur über Infrastructure as Code

Ergebnisse:

  • Self-Service für die Erstellung von Azure Ressourcen und Umgebungen für verschiedene Abteilungen des Kunden
  • Einfache und übersichtliche Möglichkeit, Umgebungen für neue Projekte anzulegen

  • Versionierte und auditierbare Infrastruktur-Provisionierung mit Terraform

  • Schnelle und einfache Änderung der Infrastruktur ohne zusätzlichen Overhead

Projektgeschehen:

Ist-Zustand

Die Konditionen eines neuen Projekts werden aktuell zwischen den Projektleiter und dem Management per Mailverkehr besprochen. Anschließend müssen, mit Unterstützung eines technisch versierten Mitarbeiters, alle notwendigen Ressourcen, Policies, Berechtigungen usw. per Hand angelegt werden. Dies ist sehr zeitintensiv, fehleranfällig. sowie schlecht wartbar und nicht reproduzierbar. Anschließend prüft der Projektleiter und ggf. die entsprechenden Teammitglieder ob alle Bedingungen erfüllt wurden und berichten falls etwas fehlt oder es zu Fehlern beim anlegen gekommen ist.

Ziel des Projekts

Das Ziel soll sein, dass das anlegen einer neuen Landing Zone auch ohne die Unterstützung eines technisch versierten Mitarbeiters getätigt werden kann und das der Prozess reproduziert werden kann.

Realisierung / Umsetzung

Im Vorfeld wurde eine Architektur ausgearbeitet damit der gesamte Prozess der Erstellung eines Projekts reproduzierbar ist. Hierfür wird eine exakt strukturierte Konfigurationsdatei (im JSON-Format) in ein Git-Repository in Azure DevOps hinterlegt. Darin stehen alle notwendigen Informationen wie berechtigte Personen, Autor der Anfrage, Zeitstempel der Anfrage, welche Policies benötigt werden, wie viel Budget für das Projekt besteht, Projektbeschreibung usw..

Diese Datei wird von der in C# geschriebenen API mittels einem speziellen Accounts, der auf dem Repository berechtigt ist, angelegt, nachdem eine valide Anfrage eines Accounts mit den benötigten App-Registration Gruppen eingetroffen ist und verarbeitet wurde. Diese Anfrage kann nur mittels der entwickelten Angular WebApp generiert und geschickt werden, da nur diese berechtigt ist die API der jeweiligen Stage aufzurufen. Die WebApp wurde extra passend auf die Bedürfnisse des Kunden zugeschnitten, sowie im Corporate Design der Firma entworfen. Ebenfalls kann die App erst nach einer Authentifizierung mit einem berechtigten Microsoft Accounts aufgerufen und genutzt werden, dazu muss dieser in einer speziell angelegten Gruppe berechtigt sein.

Nachdem die Konfigurationsdatei nun im Repository abgelegt oder editiert wurde, läuft eine Pipeline los die das Repo nach eben solchen Änderungen scannt. Wenn Änderungen in einem speziellen Ordner an Dateien mit der Endung “.json” festgestellt wurden, dann werden diese Dateien durchiteriert und die darin enthaltenen Parameter an Terraform-Skripte übergeben die wiederum dann die gewünschten Ressourcen etc. anlegen.

In der UI wird nach versenden der Anfrage der aktuelle Status des Prozess angezeigt, damit der Benutzer einschätzen kann wann die benötigten Ressourcen zur Verfügung stehen.

Während der Umsetzung des Projekts konnten viele der im Hintergrund ablaufenden Prozesse für den Kunden klarer definiert und vereinheitlicht werden. Ebenfalls konnte der Autor dem Team ein möglichst umfangreiches Wissen in Angular übermitteln, sodass diese nun selbst in der Lage sind neue Features zu integrieren.

Ausblick

Schon gegen Ende des Projekts wurden weitere Neurungen definiert. Die kommende Erweiterung soll die entwickelte WebApp zu einem Self-Service migrieren lassen, damit die Managementebene nur noch bei der Genehmigung und Freigabe des Budgets benötigt wird und die Projektleiter selbst über die Plattform ihre Anfragen definieren. Danach sollen bereits angelegte Anfragen wieder per UI editierbar sein. Ebenfalls sollen weitere Teilprozesse in die WebApp integriert werden.

Ergebnis

Durch die Entwicklung der Landing Zone WebApp hat sich der Kunde bereits viel Zeit und Stress eingespart. Ebenfalls hat sich die Versionierung mittels Git als äußerst nützlich erwiesen, da nach Änderungswünschen lediglich die Konfigurationsdatei im Repository geändert werden musste und nach Fertigstellung der Pipeline die geänderten Ressourcenparameter zur Verfügung standen.

Technology Stack:

Cloud Infrastruktur:

  • Diverse Azure Services

  • Azure Resource Groups

  • Azure IAM, Azure Virtual Network

  • Azure VMs

  • Azure App Service

CICD & IaC:

  • Azure CICD

  • Azure DevOps

  • Terraform

  • Docker & Kubernetes

Software Entwicklung:

    • C#

    • Angular

Warum Pexon Consulting?

Pexon Consulting hat sich voll und ganz Ihrem Erfolg verschrieben und wir glauben daran, dass wir immer für jeden unserer Kunden die Extrameile gehen:

PexonConsulting 32 min

Hingabe zum Erfolg

Wir glauben, dass Erfolg dreifach ist: für unsere Kunden, ihre Kunden und die Gemeinschaften, die sie beeinflussen.
PexonConsulting 33 min

Fokus auf Leistung

Wir werden Ihr engagierter Partner. Das bedeutet, dass wir ein Projekt erst dann abschließen, wenn sowohl Sie als auch wir zu 100 % zufrieden sind.

PexonConsulting 31 min

Engineering mit Leidenschaft

Wir sind ein Netzwerk von Innovatoren. Wir entwickeln mutige Lösungen für die kompliziertesten Herausforderungen unserer Kunden.

Ihre Ansprechpartner

Schicken Sie uns eine Nachricht über das Kontaktformular unserer Kontaktseite und wir werden uns innerhalb weniger Arbeitstage mit Ihnen in Verbindung setzen. Alle übermittelten Informationen werden vertraulich behandelt.

PexonConsulting 63 min

Paul Niebler

GF - Management, HR                                                                          Group 8

PexonConsulting 62 min

Phillip Pham

GF - Delivery, Sales, Finance                                                                Group 8

PexonConsulting 61 min

Alex Nenninger

Head of  Sales                                                  Group 8

Design ohne Titel 3 min

Florian Schmidl

Head of GCP                                                      Group 8

Design ohne Titel 4 min

Max Hänsel

Head of AWS                                                    Group 8

david das neves min

David das Neves

Head of Azure                                                  Group 8

Sie suchen einen Partner für Ihr Projekt?

Wir geben unser Bestes, um Sie zufrieden zu stellen.