- Zentralisierte Businesslogik
- Anbindung von externen APIs und Diensten
- Logging, Monitoring und Alerting mit benutzerfreundlicher UI
SOLARWATT Proxy Server und App Backend
Die SDG (Sustainable Development Goals) der Vereinten Nationen umfassen 17 nachhaltige Entwicklungsziele.
Dieses Projekt ordnen wir „Ziel 7 – Bezahlbare und saubere Energie“ zu.
Umsetzung
2023 bis heuteLeistungen
- Consulting
- Technisches Konzept
- Entwicklung
- Betrieb
- Support
Technologien
- Go(lang)
- Keycloak
- Stripe
- ClickHouse
- Ansible
App Backend für zentralisierte, serverseitige Businesslogik und vereinfachte Anbindung externer Schnittstellen
- Keycloak als Single Sign-On Service
- Usermanagement & Aboverwaltung
- Bezahlstrecken mit Stripe
- Hochverfügbares System
Einfach und zentrale Businesslogik
Die Idee zu diesem Projekt entstand aus den Herausforderungen der App-Entwicklung der SOLARWATT Home App und der SOLARWATT Pro App.
Ursprünglich wurden alle für die Businesslogik benötigten Schnittstellen direkt in der jeweiligen App angebunden. Für die Darstellung der benötigten Informationen mussten oft mehrere unterschiedliche Schnittstellen gleichzeitig abgerufen werden. Dies führte zu einer unnötig komplexen Businesslogik und aufwändiger Fehlerbehandlung.
Durch den Einsatz eines Proxy Servers konnte die Schnittstelle zu den Apps vereinfacht werden.
Die Businesslogik wurde auf Serverseite zentralisiert und kann dort deutlich einfacher getestet und weiterentwickelt werden.
Die neue Architektur macht viele Funktionen überhaupt erst möglich. Funktionen lassen sich jetzt schneller entwickeln und besser warten. Wir haben außerdem die Möglichkeit, Daten von externen Schnittstellen für die Apps vorzuberechnen und zu cachen und damit die Performance zu verbessern.
Aus Kundensicht ergibt sich nun nicht mehr die Frage ob, sondern wann wir bestimmte Funktionen umsetzen können. Es gibt also viel zu tun :)
Releases & Featureflags
Mit der Proxy Server Infrastruktur können wir Bugfixes und neue Features ohne einen App Release veröffentlichen. Sollte ein Release doch einmal zu einem Fehler führen, wird automatisch auf einen Server mit dem vorherigen Stand umgeschaltet.
Ein großer Teil der redaktionellen Inhalte kann mittlerweile über eine Oberfläche direkt auf dem Server bearbeitet und getestet werden. Diese Änderungen benötigen weder einen App-, noch einen Server-Release und können direkt für die Nutzenden freigeschaltet werden.
Die Kombination aus Featureflags in der App, dem Proxy Server und der Nutzerverwaltung erlauben unterschiedliche Szenarien. Features können in den App Stores released und erst später für bestimmte Nutzergruppen freigeschaltet werden. Die Nutzergruppen können abhängig von dem aktuellen Abo, dem Land oder anderen Faktoren definiert werden.
Kurz gefasst: Was kann das Backend?
Mit der neuen Architektur können wir ein High Availability Setup garantieren und eine einfache Schnittstelle zu den Apps anbieten. Außerdem ist das Bereitstellen redaktioneller Inhalte und das direkte Streamen von Daten an die Apps möglich.
Durch die integrierte Nutzerverwaltung und den Einsatz von Featureflags in den Apps kann genau gesteuert werden, welche Nutzergruppe zu welchem Zeitpunkt welches Feature erhält.
Zusätzlich geben uns detaillierte app- und serverseitige Logs die Möglichkeit, Probleme frühzeitig zu erkennen und schnell auf Supportanfragen zu reagieren.

Durch detailliertes Logging erkennen wir sowohl appseitige als auch serverseitige Fehler. Durch proaktives Monitoring können wir viele dieser Probleme lösen bevor sie zu einem Support-Ticket werden.
Im Support-Fall können wir das Problem schnell identifizieren und mit Hilfe der eindeutigen Request ID von der App bis zur Upstream-API nachverfolgen, debuggen und effektiv lösen.
Alle Logs können in Dashboards visualisiert und mit Alerts versehen werden.
Die Logging-Infrastruktur wurde so entwickelt, dass sie in weiteren Apps und Kundensystemen wiederverwendet werden kann.
Zentralisiertes Nutzer- und Abomanagement
Eine große Weiterentwicklung des Systems waren die Integration der zentralisierten Nutzerverwaltung und Single-Sign-On-Lösung mit Keycloak sowie die Integration von Stripe als Zahlungsdienstleister und das Aboverwaltungssystem.
Das Konzept sieht vor, dass die Single-Sign-On-Lösung auch für weitere Kundensysteme wiederverwendet werden kann.


Seit 30 Jahren bringt Solarwatt die Entwicklung von Solarzellen und Stromspeichern voran. Dabei wird auf zuverlässige Anlage und guten Service geachtet. Die hochwertigen Glas-Glas-Module, die Stromspeicher, und das zentrale Energiemanagment-System werden im Dresdner Hauptsitz entwickelt und gefertigt.
