Die Cloud (Cloud Computing) hat sich weiterentwickelt. Zuerst hatten wir IaaS (Infrastruktur: einen leeren Computer mieten). Dann PaaS (Plattform: Mieten Sie eine Umgebung, um Ihren Code auszuführen). Wir leben jetzt im Zeitalter von BaaS: Backend as a Service.
Aber was ist das überhaupt? Ist es nur ein Schlagwort oder eine echte Revolution in der Softwareentwicklung?
Definition von BaaS
Backend as a Service ist ein Modell, bei dem Sie die Arbeit hinter den Kulissen Ihrer Anwendung auslagern. Anstatt Code zu schreiben, um ein Anmeldesystem, eine Datenbank oder einen Dateiserver zu erstellen, verwenden Sie vorgefertigte APIs, die von einem Unternehmen bereitgestellt werden.
Stellen Sie sich vor, Sie würden ein Haus bauen.
- Kein BaaS: Sie stellen die Ziegel her, schneiden das Holz und verlegen die elektrischen Leitungen.
- Mit BaaS: Sie kaufen fertige Ziegel und fertige Fenster und kümmern sich nur noch um den Zusammenbau des Hauses und die Dekoration.
Was ist im Paket enthalten?
Ein typischer BaaS-Dienst bietet das „Basic Kit“, das 99 % der Anwendungen benötigen:
- Authentifizierung: Anmeldung mit E-Mail, Google, Apple, Facebook. Sitzungsverwaltung und Passwortwiederherstellung.
- Datenbank: Im Allgemeinen in Echtzeit (Echtzeitdatenbank). Wenn Sie hier ein Datum ändern, erscheint es dort auf dem Bildschirm eines anderen Benutzers.
- Speicherung: Dateihosting (Profilfotos, PDFs).
- Cloud-Funktionen: Platz zum Ausführen von Logikcodes für kleine Unternehmen (Backend serverlos).
- Push-Benachrichtigungen: Senden von Nachrichten an Ihr Mobiltelefon.
Die Hauptakteure
- Firebase (Google): Der Riese. Extrem vollständig, einfach zu bedienen, aber mit schnell skalierbaren Preisen und einer proprietären NoSQL-Datenbank.
- Supabase: Der Open-Source-Herausforderer. Es bietet eine SQL-Datenbank (Postgres), die denjenigen, die aus der relationalen Welt kommen, das Leben erleichtert. Keine Anbieterbindung (Sie können bei Bedarf woanders hosten).
- AWS Amplify: Die Antwort von Amazon. Leistungsstark, lässt sich in das gesamte AWS-Ökosystem integrieren, erfordert jedoch eine höhere Lernkurve.
- Appwrite: Eine weitere Open-Source-Option, die sich auf Einfachheit und Docker konzentriert.
Vorteile
- Schnelle Markteinführung: Sie bringen Ihr MVP (Minimum Viable Product) in wenigen Tagen auf den Markt.
- Kleineres Team: Ein Frontend-Entwickler kann die komplette App (Fullstack) liefern, ohne einen Backend-Spezialisten zu benötigen.
- Automatische Skalierung: Wenn Ihre App viral geht, kann BaaS damit umgehen (Sie bezahlen nur die Rechnung).
Nachteile
- Vendor Lock-in: Sie sind auf der Plattform „gefangen“. Eine spätere Migration von Firebase zu SQL ist schwierig.
- Eingeschränkte Kontrolle: Sie haben keinen Zugriff auf das Server-Betriebssystem für detaillierte Optimierungen.
- Cost at Scale: Bei riesigen Apps kann es teurer sein, als eine eigene Infrastruktur zu haben.
Fazit
BaaS ist kein „Spielzeug“. Es ist eine legitime und leistungsstarke Architektur. Es demokratisierte die Softwareentwicklung und ermöglichte es den Entwicklern, sich auf das Produkt und die Benutzererfahrung zu konzentrieren, während langweilige Infrastruktur denjenigen überlassen wurde, die sich mit dem Thema auskennen.
Lesen Sie auch
- Backend As A Service – Gute Praktiken für Unternehmen
- Backend As A Service – Gute Praktiken für Anfänger
- Backend für Anwendungen: bewährte Vorgehensweisen für kleine Teams, die keine Fehler machen dürfen
- Rest API What E
- Rest API Was ist – Schritt für Schritt mit Beispielen
- REST API: Was es ist und Schritt für Schritt in der Praxis
