Cloud Engineer
Success Story:
KI für Prüfungen an Universitäten auf neuen Wegen
Branche
Bildung/Startup
Herausforderung
- Migration eines Proof of Concept in die Cloud
- Time to market
- Kosten und Skalierbarkeit
Lösung
- Umsetzung als Angular Applikation auf AWS
- IaC für schnelle, automatisierte, reproduzierbare Entwicklungs-, Build- und Deploymentprozesse
- AWS Serverless Technologien für Skalierbarkeit und minimale Betriebskosten
Ausgangslage
Herausforderung und Ziele
Christian Mueller ist Ökonom und kein Software-Entwickler, weshalb er sich direkt an Amazon Web Services (AWS) gewandt hatte. Dort verwies man ihn – aufgrund der langjähren Partnerschaft und ausgewiesenen Expertise – an Axians Amanox. Nachdem der Kontakt zustande gekommen war, stellte er Axians Amanox Demo-Videos sowie ein GitHub-Repository mit einem Proof of Concept (PoC) zur Verfügung. Anhand dieses Inputs wurde sehr schnell klar, dass es sich um eine spannende Herausforderung handelte – aber auch, dass der Quellcode überarbeitet sowie reproduzierbare Buildund Deployment-Prozesse erarbeitet werden mussten.
Das Anliegen von Christian Mueller war es, seine Idee so umzusetzen, dass sie in Form eines Prototyps in der Cloud für interessierte Benutzer zugänglich gemacht wird. Dieses Vorgehen war erforderlich, um die Akzeptanz für eine solche Lösung auszuloten und potenzielle Investoren für eine Kommerzialisierung zu gewinnen.
Auf der Grundlage eines begrenzten Budgets und des Wunsches, das Angebot möglichst kurzfristig verfügbar zu machen, konnte das Ziel umrissen werden: In wenigen Wochen sollte der volle Funktionsumfang des PoC als skalierbare, stabile und möglichst kosteneffektive Lösung auf AWS zur Verfügung gestellt werden.
Lösungsansatz
Um den Kundenwünschen entsprechen zu können, entschieden die Experten von Axians Amanox sich für eine völlige Neuentwicklung der Web-basierten grafischen Benutzeroberfläche (GUI). Nur auf diese Weise konnten eine höhere optische Attraktivität sowie eine intuitive Benutzerführung erreicht werden.
Nach der Analyse des PoCs, wurde dieses funktional in Front- und Backend aufgeteilt. Das Template-basierte Server-Side- Rendering1 wurde durch eine moderne Single-Page-Angular-Applikation ersetzt, wobei der Code clientseitig dynamisch gerendert wird. Dadurch werden wesentlich schnellere und reaktionsfähigere Interaktionen ermöglicht. Der im Backend verbliebene Code wurde vereinfacht und als AWS Lambda Funktionen über API Gateway2 dem Front-end bereitgestellt. Bei der Applikation handelt es sich um eine Cloud-native Anwendung3, die mit skalierbaren AWS Serverless-Technologien betrieben wird.
Abb.:
Architekturdiagramm
Tools und Technologien
- Terraform für Infrastructure as Code (IaC)
- Amazon API Gateway, AWS Lambda, OpenAI und Python als Backend Technologien
- Angular als Frontend Technologie
- OpenAPI und Swagger zur Schnittstellenspezifikation und -dokumentation
- Amazon S3 und Amazon CloudFront für content delivery
- Amazon Cloudwatch, AWS Lambda, EventBridge and Simple Notification Service (SNS) für Monitoring und Alerting
Vorgehensweise
Bei der Umsetzung stellten einerseits der ambitionierte Zeitplan und andererseits das Budget sowie der definierte Funktionsumfang die Herausforderungen dar. Dies war nur mithilfe eines sehr strukturierten und zeiteffizienten Vorgehens realisierbar:
- Am Anfang der ersten Woche standen die Analyse und Auswertung des bestehenden Quellcodes und der PoC-Funktionalitäten als Basis für die Definition der neuen Architektur.
- Im nächsten Schritt fand die Aufspaltung in Front- und Back-end sowie die Spezifikation der Schnittstelle (OpenAPI4) statt.
- Nun konnte die Benutzeroberfläche neu aufgebaut werden und es fand ein Back-end-Refactoring statt.
- Zeitgleich wurden die IaC5-basierten Build- und Deployment-Prozesse etabliert.
- Daraufhin konnten die Internet-Domain konfiguriert und die Applikation erstmals im AWS-Account des Kunden bereitgestellt werden.
- Es wurde eine Testumgebung eingerichtet und Dokumentationen/Anleitungen erstellt.
- Zum Ende der vierten Projektwoche erfolgte die Übergabe an den Kunden.
Das Team von Axians Amanox konnte dem Kunden nach einer Projektlaufzeit von zwei Wochen eine erste Demo-Version in der Axians-Umgebung zur Verfügung stellen. Nach nur vier Wochen war die Applikation vollumfänglich produktiv und stand ersten Nutzern und für die Investorensuche zur Verfügung!
Vorteile
- Agilität: In nur vier Wochen von Kick-off bis Projektabschluss wurde die Kundenidee umgesetzt.
- Single-Point-of-Contact: Dank der Expertise von Axians Amanox wurde das Projekt vollumfänglich aus einer Hand realisiert (Projektmanagement, UX-Design, AWS/ IaaS, Software-Entwicklung).
- Zuverlässigkeit: Alle Übereinkünfte bzgl. Zeit, Kosten und Funktionalität wurden eingehalten.
- Transparenz und Kommunikation: Der Kunde war Teil des Teams und konnte jederzeit aktiv Einfluss nehmen.
- Engagement: Axians Amanox hat proaktiv Vorschläge zur Optimierung des Produkts eingebracht und realisiert.
«Axians Amanox hat aus meiner Idee, die ich in der Form eines „Proof of Concept“ übergeben habe, eine professionelle Anwendung geschnitzt. Alle gewünschten Features wurden perfekt umgesetzt. Die Nutzer profitieren von einer intuitiven Oberfläche und einer schnellen sowie präzisen Ausführung des Codes. Im Rahmen der engen Zusammenarbeit konnten wir gemeinsam mit dem Team von Axians Amanox Ideen für die künftige Erweiterung des Leistungsumfangs entwickeln.»
Dr. Mueller erklärt weiter:
«Bei Axians Amanox wurde die Produktidee schnell erfasst und in eine technisch und finanziell effiziente Weblösung übersetzt. Dabei wurden alle Übereinkünfte bezüglich Zeitplan, Funktionalitäten und Budget kompromisslos eingehalten – darüber hinaus bot man uns noch Unterstützung im Umgang mit der AWS-Plattform! Die Lösung in vier Worten: Effizient, professionell, anwenderfreundlich und optisch anspruchsvoll.»
QnAI
QnAI sorgt für ein unverwechselbares Lehr- und Lernerlebnis. QnAI erstellt Prüfungs- und Lernmaterial auf Knopfdruck mit Hilfe der künstlichen Intelligenz. Die einzigartige QnAI - Technologie stellt die Integrität der Inhalte sicher und verwandelt die Prüfung in ein interaktives Quiz mit automatischer, KI-basierter Evaluation mit unerreichter Zuverlässigkeit.
AWS
1 Serverseitig generierter HTML-Code, der an den Browser des Benutzers übermittelt wird.
2 Ein API-Gateway ist ein Application-Programming-Interface (API)-Management-Tool, das als zentraler Einstiegspunkt in ein System dient und zwischen dem Anwendungsnutzer und einer Sammlung von Backend-Diensten sitzt. Es nimmt Anfragen von einem Anwendungsnutzer entgegen, leitet die Anfrage an die entsprechenden Dienste weiter, sammelt die relevanten Daten und fasst die Ergebnisse für den Nutzer in einem einzigen Paket zusammen.
3 Cloudnative Anwendungen sind Softwareprogramme, die aus mehreren kleinen, voneinander abhängigen Services, den sogenannten Microservices, bestehen und auf Cloud-Plattformen (häufig von Public Cloud Anbietern) betrieben werden.
4 OpenAPI ist ein Standard, der genutzt wird, um Anwendungsprogrammierschnittstellen oder APIs (aus dem Englischen „application programming interface“) zu beschreiben.
5 Infrastructure as Code (IaC) ist ein Ansatz zur Automatisierung und Verwaltung von IT-Infrastruktur durch programmatische Mittel wie Skripte oder Konfigurationsdateien. Durch die Nutzung von Code können Infrastrukturkomponenten wie Server, Netzwerke und Speicher schnell, konsistent und wiederholbar bereitgestellt und verwaltet werden.