Nachdem wir im ersten Teil unsere Anwendung LEA und die AWS Cloud Services vorgestellt haben, schauen wir uns nun am Beispiel der Anwendung elVira die Vor- und Nachteile der Azure Cloud Services an.

Was ist elVira?

Die bereits bestehende Web-Anwendung „elVira“ (elektronische Vortragsinformation, -resonanz, -auswertung) wurde per Lift-and-Shift-Verfahren in die Microsoft Azure Cloud migriert. Zuvor wurde elVira auf einer virtuellen Maschine (VM) in unserem Rechenzentrum (RZ) betrieben. elVira dient etwa der Anzeige der Informationen zu stattfindenden Vorträgen und Workshops unserer ITGAIN Veranstaltungen. Neben der Abgabe von Feedback zu einem Vortrag beziehungsweise Workshop kann ein ITGAIN Mitarbeiter durch die Suchfunktionen eine kurzfristige (Um-) Planung der persönlichen Agenda vornehmen. Im Rahmen der Migration von elVira wurden einige Microsoft Azure Cloud-Produkte eingesetzt.

Azure Cloud Services (Anwendung elVira)

Das bestehende Anwendungsdesign und der Betrieb von elVira in Docker-Containern hat uns die Migration nach Azure sehr erleichtert. Für die Authentifizierung per Office365 musste eine größere Anpassung an elVira vorgenommen werden. Dadurch ist eine Authentifizierung am Gateway der ITGAIN nicht mehr notwendig. Stattdessen verwendet elVira für die Authentifizierung nun das Azure Active Directory (AAD) Produkt.

Das Kubernetes-Cluster

elVira setzt für den Betrieb auf ein Kubernetes-Cluster. Hierfür wird innerhalb der Azure Cloud ein Kubernetes Service (AKS) verwendet. Betrieben wird das Cluster auf zwei Knoten, um die Fehlertoleranz bzw. den Lastausgleich von eingehenden Anfragen zu steigern. Innerhalb eines Kubernetes-Knotens werden jeweils zwei Pods ausgeführt, die beide sowohl die elVira-App als auch einen Feedback Microservice innerhalb eines Docker-Containers beinhalten. Die Einrichtung eines Kubernetes-Clusters war mithilfe der übersichtlich gestalteten Oberflächen von Azure einfach durchzuführen. Durch das Befehlszeilentool Kubectl kann eine Verbindung zum AKS aufgebaut werden und so mit dem Cluster direkt und einfach interagiert werden.

Azure Produkte in elVira

Bewertung der in elVira eingesetzten Azure Cloud-Produkte

  • Cosmos DB: Cosmos DB ist eine durch Azure vollständig verwaltete NoSQL-Datenbank, welche für den Einsatz von MongoDB mit der MongoDB-API konfiguriert wurde. Durch die Cosmos DB-API für MongoDB wird die API vom nativen MongoDB emuliert.
    • Vorteile:
      • elVira kann durch den Einsatz der Spring MongoDB-API ohne weitere Anpassung Cosmos DB nutzen
      • geringer Konfigurationsaufwand
      • sehr gute Performance: Beim letzten Einsatz von elVira innerhalb der ITGAIN ITAKADEMIE 2021 konnten Performance-Verbesserungen beobachtet werden.
    • Nachteile:
      • Durch die Emulation wird nicht jede Funktionalität der nativen MongoDB-API abgedeckt (diese sind allerdings für elVira nicht relevant).
  • Active Verzeichnis: Azure Active Directory (kurz: AAD) stellt einen Identitätsdienst dar, in dem alle Mitarbeiter der ITGAIN Consulting GmbH verwaltet werden. elVira nutzt diesen Service zur Benutzerauthentifizierung.
    • Vorteile:
      • Da bereits ein ITGAIN AAD der Mitarbeiter existiert, musste dieser nur an elVira angebunden werden.
    • Nachteile:
      • Hoher Aufwand für die Umstellung der zuvor verwendeten LDAP-basierten Kommunikation zum AAD; einige Teile der Anmeldung mussten umgeschrieben werden.
  • Container Registrierung: Innerhalb einer privaten Container Registry werden alle Docker Images verwaltet. Für den Feedback Microservice sowie für elVira selbst werden jeweils eigene Docker Images gepflegt.
    • Vorteile:
      • Da elVira bereits zuvor innerhalb von Docker-Containern betrieben wurde, konnte die Migration nach Azure leicht durchgeführt werden.
  • Key Vault: Innerhalb der Azure Key Vault werden sowohl alle von Azure Clouddiensten benötigten Schlüssel als auch das ITGAIN SSL-Zertifikat und schützenswerte Informationen sicher gespeichert und verwaltet.
    • Vorteile:
      • Durch die zentrale Speicherung innerhalb der Cloud können so mehrere Dienste, Schlüssel und schützenswerte Informationen vor unbefugtem Zugriff schützen.

Aufgrund der überwiegend positiven Erfahrungen einzelner Azure Produkte wurden alle evaluierten Produkte im Einsatz von elVira beibehalten. Insgesamt konnten wir eine sehr gute Performance bei einem akzeptablen Kosten/Leistung-Faktor beobachten. Der Einsatz des Azure Preisrechners war für eine erste Kostenschätzung der Azure Produkte besonders hilfreich.

Fazit

Wir wurden bei der Arbeit mit der Azure Cloud mit weniger Herausforderungen konfrontiert als bei der AWS Cloud. Zudem wurde die Entwicklung durch die gute Dokumentation der Azure Cloud erleichtert. Das Toolset bei Azure scheint durchdachter und die Komponenten für die Entwicklung und Betrieb der Anwendungen besser orchestriert zu sein. Die nächste Anwendung würden wir in der Azure Cloud entwickeln und hierbei bewerten, ob sich unser positiver Eindruck erneut bestätigen lässt.

Melde dich bei Fragen gerne über unser Kontaktformular oder unter more.about@itgain.de

Hier findest du den ersten Teil dieser Blogserie

Neuen Kommentar schreiben

Ihre E-Mail Adresse wird nicht veröffentlicht.

NEUESTE BEITRÄGE