Die Projektanforderungen waren ambitioniert: 100.000 unaufbereitete Datensätze mussten nach Geo-Standort und weiteren Filterkriterien für den Nutzer durchsuchbar gemacht werden. Das alles eingebettet in die Corporate Identity des Auftraggebers. Zeit bis zum Launch: eine Woche.
Ein MVP, kurz für Minimum Viable Product, definiert sich üblicherweise aus den minimal für den Nutzer notwendigen Features, die für einen Produktlaunch notwendig sind – so können Zeit und Kosten in der Umsetzung eingespart werden. Bei diesem Projekt handelte es sich aber um einen Sonderfall: Der Zeitrahmen war extrem knapp, weshalb die Projektphase abgekürzt und parallelisiert wurde.
Ein initiales, minimales Featureset und alle Userflows konnten schnell erarbeitet werden, da die Anforderungen bereits vorab klar definiert worden sind.
Für die technische Umsetzung fiel die Entscheidung auf eine Kombination aus etablierten und bewährten Frameworks im Frontend (REACT) und eine zur bestehenden Systemlandschaft passenden Technologie im Backend (SPARK).
Unser Experience- und Interface-Design Team hat in kürzester Zeit ein responsives und modernes Design für eine Plattform, die auf der Corporate Identity des Kunden basiert und sich perfekt in vorhandene Anwendungen integriert, konzipiert und designed.
Aufgrund des straffen Zeitplans startete das Entwickler-Team zeitgleich mit dem Design-Prozess mit der technischen Umsetzung des Produkts und der Entwicklung der benötigten Funktionen. Durch die enge interne Zusammenarbeit war bereits von Anfang an eine klare Richtung des Designs erkennbar, was dafür gesorgt hat, dass die fertigen Layouts ohne großen Aufwand in die Anwendung integriert werden konnten.
Eine moderne Single Page Application (SPA) im Frontend
Da wir uns im Frontend, aufgrund der Projektanforderung, für eine moderne Webanwendung mit dynamischen Filtern und Animationen für React entschlossen haben, wurde als Basis die CREATE-REACT-APP gewählt.
Dieses Template bietet eine solide Basis für die meisten SPAs und erspart viel Zeit bei der Konfiguration von Paketierung, Linting und dem Einrichten, eines Entwicklungs-Servers. Diese werden unter anderem in der create-react-app bereits gebündelt und startklar mitgeliefert, das Anpassen auf die eigenen Bedürfnisse ist mit wenig Aufwand verbunden.
Die Vorteile, die sich hier für den Kunden ergeben, liegen klar auf der Hand:
Standardisierte Entwicklung
Einfache Wartung
Kurze Implementierungs Zyklen
Microservices im Backend
Das Backend wurde in Java geschrieben, um es problemlos in die bestehende Infrastruktur des Kunden integrieren zu können. Das Micro Framework Spark ermöglichte es uns, mit nur wenigen Codezeilen eine REST-API zu erstellen, welche die benötigten Daten passend transformiert an das React-Frontend per JSON übermittelt.
Die Excel-Datei mit den über 100.000 Datensätzen wurde in eine MySQL-Datenbank auf AWS migriert.
Wir erinnern uns: Ziel des MVP ist es, die Datensätze unter anderem nach ihrem Standort zu filtern. Der Clou: Die Berechnung der Entfernung zum eigenen Standort erfolgt direkt in der Datenbankabfrage, was fast alle Logik aus der API entfernt und genau unserem MVP-Ansatz entspricht.
Am Ende der Entwicklungsphase wurden die Front- und Backend-Komponenten in einem für die Auslieferung bereitem Archiv gebündelt und in der AWS Cloud gehostet. Die rapide Entwicklung ist abgeschlossen und die Anwendung vom Kunden nutzbar.
Ab ins Kubernetes-Cluster
Nach dem initialen Rollout konnte direkt eine hohe Nutzung der Plattform gemessen werden. Als nachhaltige Hosting-Lösung wurde beschlossen, den Dienst in separate Services für Frontend und Backend zu teilen, welche über ein Kubernetes-Cluster betrieben werden.
Kubernetes hat sich bereits in vielen Unternehmen als nachhaltige, unabhängige und kostengünstige Infrastruktur etabliert. Candylabs als strategischer und technischer Partner unterstützt Kunden darin, bestehende Anwendungen in zukunftsweisende Umgebungen zu portieren, die skalierbar, einfach zu konfigurieren und zu warten sind.
Übrigens: Alle unsere Services laufen ebenfalls in einem Kubernetes Cluster. Auch für kleine Projekte kann sich die Migration schnell lohnen:
Einfache horizontale Skalierung der Anwendungen und schnelles Reagieren auf erhöhten Traffic durch adaptive Ressourcenverteilung
Updates und Deployments werden ohne Serviceunterbrechung durchgeführt
Eine klare deklarative Konfiguration sorgt für wenig Overhead und Nachvollziehbarkeit im Betrieb eines Services