In diesem Jahr habe ich zum ersten Mal am Veeam Community-Hackathon teilgenommen. Es ist der zweite Hackathon, den die Community veranstaltet hat und zwischen Anmeldung und dem eigentlichen Start lagen einige viele Wochen, in denen die Teams im Hintergrund geformt wurden.
Sehr gut an dieser Stelle, dass Veeam Wünsche berücksichtigt hat, somit bin ich mit meinen zwei Wunsch-Kollegen ins Team gekommen, die ich auf der diesjährigen VeeamON in Fort Lauderdale (Florida) kennenlernen durfte.
Das Team 4 des diesjährigen Hackathon besteht aus:
Ian Engelbrecht – Technical Sales Manager – Johannesburg
Markus Kraus – Technical Solution Specialist – Hamburg
Chalid Mohamed Fathallah – Consultant – Frankfurt
Markus Hartmann – Senior Consultant – Zwingenberg (Bergstraße)
Lukas Klostermann – Senior Consultant – Münster
Phasen der Umsetzung:
Erste Phase: KickOff
Hier haben wir uns als Team überlegt, was genau unser Ziel sein wird, welches Problem wir lösen möchten und wie genau wir dabei vorgehen. Relativ schnell war klar, dass wir etwas Mobiles möchten – eine Handy-App!
Mit den Erfahrungen unseres Teams aus dem Dienstleistungs-Sektor und aus vielen Jahren Veeam-Erfahrung haben wir uns auf die VSPC (Veeam Service Provider Console) konzentriert und geschaut, welche Verbesserung wir dort liefern können.
Kunden können sich zwar über die Cloud Konsole ihres Cloud Service Providers anmelden und eine ganze Menge Informationen einsehen, jedoch sind diese Informationen eben auf dieses Portal beschränkt und nicht überall verfügbar. Wir möchten erreichen, dass Cloud Tentants überall und jederzeit Zugriff auf diese Informationen erhalten und möchten die Handy-App auf die VSPC auslegen.
Zweite Phase: Coding und Research
Hier konnte ich persönlich kaum unterstützen, da ich wenig Coding-Erfahrung habe. Angefangen haben wir, eine Demo-Umgebung mit verschiedenen Komponenten aufzubauen. Hier haben wir auf Microsoft Azure zurückgegriffen, damit wir eine dauerhafte Umgebung im Zugriff haben, die mit wenig Aufwand von überall erreichbar ist.
Beim Coding haben wir letztlich auf eine Liste der folgenden Tools zurückgegriffen, um die Kosten für unser Projekt innerhalb des kurzen Zeitraums gering zu halten:
- React Native
- EXPO
- Microsoft Azure & On-Premise Tentants
- Uizard.io
- Expo on iOS
- Android Studio
- ZeroSSL und OpenSSL
- uvm.
Die App ist letztlich auf iOS und Android lauffähig, die entsprechenden Tools haben die Kollegen hierfür bestimmt und eingesetzt.
Wichtig zu erwähnen: Für das reine Coden hatten wir nur rund eine Woche Zeit!
Dritte Phase: Testing und Feedback
Hier kam das gesamte Team ins Spiel – es galt, die App zu testen und auf Fehler und fehlende Features zu prüfen. Das Beheben der Fehler war relativ schnell erledigt und gemeinsam haben wir definiert, welche Features in der Kürze der Zeit noch hinzugefügt werden können und welche auf einer Roadmap festhalten werden können.
Die App wurde letztlich fertiggestellt und ich durfte mich um ein Video für die Abschlusspräsentation kümmern, welches gleichzeitig das Bewertungskriterium für die Jury darstellt. Dieses Video wurde kurz vor Ablauf der finalen Abgabefrist übergeben – jetzt heißt es: abwarten!
Design der App:
Wir haben definiert, dass die App einfach zu handhaben und auch sehr übersichtlich gestaltet sein soll. Wir möchten vermeiden, dass Anwender eine aufwendige Schulung benötigen oder eine Anleitung lesen müssen, somit soll die App sehr intuitiv sein. Die Daten bezieht die App aus der VCSP-Landschaft, somit werden die Informationen hier lediglich grafisch dargestellt:
Architektur:
Die anzuzeigenden Informationen stehen bereits innerhalb der VCSP-Umgebung vollumfänglich zur Verfügung, somit müssen wir lediglich von außen darauf zugreifen. Hierfür haben wir uns der VSPC API bedient, die frei zugänglich ist und für die Veeam ein Commandset bereitstellt, um Informationen auswerten zu können.
Hier gibt es insgesamt zwei zentrale Methoden, mit der API zu arbeiten: Push und Pull. Mit Hilfe von Push werden Befehle in Richtung VSPC gegeben, sodass Aktionen ausgeführt werden können. Bei Pull werden Informationen aus der VSPC herausgelesen, sodass diese verarbeitet werden können.
Wir haben uns auf Grund der Zeitknappheit auf den Pull beschränkt. Der übliche Aufbau einer VCSP-Umgebung ist bekannt und wir haben Demo-Tentants in Form von Azure-Umgebungen abgebildet und dort ein VBR temporär bereitgestellt.
Entscheidung über Features der App:
Ideen gab es grundsätzlich viele, aber auf Grund des knappen Zeitfensters konnten wir nicht alle Funktionen sauber in der App darstellen. Wir haben hierfür in der KickOff-Phase folgende Entscheidungsmatrix erstellt:
Priorität: | Schwierigkeit: hoch | Schwierigkeit: einfach |
---|---|---|
hoch | Backup Status von VBR und VBM365 | Quota-Nutzung und Rechnung |
hoch | Status des Repositories | |
hoch | Sicherer Zugriff per Smartphone | |
hoch | Endkunden-Ansicht | |
hoch | Threat Dashboard | |
hoch | SLA-Status | |
niedrig | MFA | Agenten Status der Computer |
niedrig | Service Provider Ansicht |
Weitere Features, die per Push abgebildet werden können (sprich: das aktive Ausführen von Funktionen und Befehlen auf die Umgebung) ist etwas, das als Meilenstein für die Zukunft definiert werden kann, sofern das Projekt weiterverfolgt wird.
Rolle von KI innerhalb des Projektes:
Da von den insgesamt 5 Teammitgliedern lediglich zwei Coding-erfahren sind, war uns als Team relativ schnell klar, dass wir in der Kürze der Zeit auf eine KI setzen möchten. Die KI hat uns hierbei das Grundgerüst für die App erstellt und eine von Hand gezeichnete Skizze in einen ersten Entwurf verwandelt.
Die Skizze sieht folgendermaßen aus:
Daraus hat die KI dann den Code für folgenden Design-Vorschlag ausgegeben:
Zusammenfassung:
Ohne die KI wäre es uns nicht möglich gewesen, den finalen Stand unserer App zu erreichen, den wir nach nur einer Woche letztlich doch erreicht haben. Die App ist in ihren Basisfunktionen lauffähig und die Verbindung zur VSPC funktioniert und konnte auf beiden Plattformen (Android und iOS) erfolgreich getestet werden.
Als kleines Learning: Die KI hat uns Zeit gespart und uns das Ganze hier überhaupt erst ermöglicht. In den Fokus rücken möchte ich hier insbesondere Ian und Markus Kraus, die maßgeblich für den Coding-Stack verantwortlich waren und ohne die wir das Endergebnis vermutlich niemals hätten präsentieren können – selbst mit KI!
Wir warten nun gespannt auf die Entscheidung der Jury, die bis zum 11.10.2024 getroffen wird. Das gewinnende Projekt wird dann final am 18.10.2024 von der Jury bekanntgegeben. Bis dahin heißt es: Daumen drücken!