Mobile Backend as a Service (mBaaS) – Anbieter im Vergleich

Mobile Backend as a Service (mBaaS) – Anbieter im Vergleich

Heutzutage sind die wenigsten Apps in sich geschlossene Applikationen. Die meisten von ihnen sollen Informationen speichern, dem eigenen Nutzer zuordnen, zwischen Geräten synchronisieren, Push Notifications erhalten und noch viel mehr. Hinter diesen Funktionalitäten steht ein Backend, welches mit verschiedenen Systemen kommuniziert und Schnittstellen für seine Clients anbietet. Die Entwicklung eines solchen Backends ist zeitaufwändig, teuer und erfordert Fachwissen. Das versetzt den ein oder anderen nicht selten in einen kleinen Schockzustand. Sprengt die App durch den notwendigen Einsatz eines Backend doch den Kostenrahmen? Nicht unbedingt, denn dafür gibt es mBaaS.

Was ist ein mobile Backend as a Service (mBaaS)?

Mobile Backend as a Service (mBaaS) sind Dienstleistungen, bei denen die Entwicklung, Wartung und optional auch das Hosting des Backend auf einen externen Anbieter ausgelagert wird.

Die Gründe hierfür sind vor allem kosten- und ressourcentechnischer Natur. Apps sollen häufig in einem engen Zeitfenster realisiert werden und als Ergänzung für einen In-House entwickelten Webclient dienen.

mBaaS ermöglichen uns einen beschleunigten Entwicklungsprozess bei gleichbleibenden Qualitätsstandards.

Zusätzlich decken sich die Anforderungen unterschiedlicher Projekte oft, weshalb man nicht jedes Mal das Rad neu erfinden muss. Mit einem Backend as a Service errichtet ein Frontendentwickler eine Client-Server-Architektur, ohne die Bereiche Backend oder IT-Administration aus dem Stegreif zu beherrschen.

Anbieter und Services von mBaaS im Vergleich

Die Anforderungen an einen mBaaS

In unserem Vergleich spielt der Funktionsumfang eine übergeordnete Rolle, da die meisten Apps einen gemeinsamen Nenner an Funktionalitäten haben, den das mBaaS abdecken muss:

  • Nutzerverwaltung
  • Datenbank mit Synchronisierung
  • Dateiverwaltung
  • Push Notifications
  • Automatisierte Skripte (Cloud Functions)

Weiterhin sollte das mBaaS eine gewisse Marktreife besitzen, also von der Community akzeptiert und mindestens drei Jahre etabliert worden sein.

Ein skalierbares und einsteigerfreundliches Preismodell hilft uns bei der Entwicklung und dem Kunden bei der Kostenrechnung.

Ein offengelegter Quellcode (Open Source) hilft den Entwicklern bei der Analyse und stärkt das Vertrauen in das Produkt.

Zusätzliches Vertrauen entsteht, wenn das Hosting eigenverantwortlich übernommen oder zumindest der Standort der Daten gewählt werden kann (Stichwort: DSGVO).

Entwickler: Hackerbay

Hosting: Managed

Quellcode: Open

Entwickler: Microsoft

Hosting: Managed

Quellcode: Open

Entwickler: Oracle

Hosting: Managed

Quellcode: Open

Entwickler: Google

Hosting: Managed

Quellcode: Closed

Entwickler: Facebook Community

Hosting: Self

Quellcode: Open

Entwickler: Backendless

Hosting: SelfManaged

Quellcode: Open

Firebase – der Platzhirsch unter den mBaaS

Seit der Übernahme durch Google im Jahr 2014 entwickelte es sich von einer synchronisierten Datenbank zu einem vollwertigen Backend as a Service mit dem größtem Funktionsumfang in diesem Vergleich. Neben den typischen Anforderungen eines mBaaS liefert Firebase weitere Funktionalitäten wie

  • Crash Reporting,
  • Analytics,
  • Web App Hosting und
  • Machine Learning.

Die Dokumentation ist ausführlich, übersichtlich und mit hilfreichen Code Snippets, Beispielprojekten und Videotutorials gespickt. Die Community ist groß und auch die Entwickler von Firebase beteiligen sich an der Diskussion. Das Preismodell ist fair und erlaubt eine kostenlose Nutzung mit maximal 10 GB Download pro Monat und 100 gleichzeitigen Verbindungen, was für die Entwicklung und eine initiale Testphase vollkommen ausreicht.

Einzig einige Funktionen wie Cloud Functions, die nach außen kommunizieren, sind den kostenpflichtigen Preismodellen vorenthalten. Der Standort der Daten kann nur begrenzt festgelegt werden: Die Daten für Analytics lassen sich landesweise und der Cloud Firestore regionsweise festlegen (z. B. europe-west in Frankfurt) – der Rest liegt in den USA oder unbestimmt verteilt. Einschnitte gibt es bei den Datenbankabfragen, die den geringsten Funktionsumfang in diesem Vergleich bieten (für eine Volltextsuche muss man auf einen externen Dienst ausweichen) und weit von dem entfernt sind, was man von SQL gewohnt ist. Weiterhin macht man sich mit Firebase zu 100% abhängig von Google: Managed Hosting, Closed Source.

Firebase hat sich bereits in mehreren unserer Projekte bewährt, welche produktiv eingesetzt werden und einige tausend Clients bedienen. Solange die Anforderungen vor der Wahl des mBaaS feststehen und man sich der Grenzen von Firebase bewusst ist, erlaubt es einen schnellen Start und eine skalierende Weiterentwicklung.

Parse Server – frischer Wind aus der Open Source Community

Parse Server hat eine bewegte Vergangenheit hinter sich: 2011 als Parse von Ex-Google-Mitarbeiten entwickelt, 2013 von Facebook aufgekauft und 2016 eingestellt, um es anschließend als Open Source-Projekt Parse Server freizugeben. Seitdem wird Parse Server von einer stetig wachsenden Community unter dem ParsePlatform Collective weiterentwickelt.

Mittlerweile liefert Parse Server alle Funktionen, die man sich für mobile Clients wünschen kann, reicht allerdings nicht ganz an das ausschweifende Angebot von Firebase heran.

Ein großer Pluspunkt gegenüber Firebase ist die Datenbank von Parse Server, welche auf MongoDB basiert und deshalb viel mehr Funktionalitäten bietet (inkl. Volltextsuche). Der Kostenpunkt hängt vom Hosting ab, welches selbst übernommen oder an Dienstleister wie Back4App und SashiDo ausgelagert werden kann. Jene Dienstleister unterstreichen vor allem die unkomplizierte Migration hin zu und auch weg von ihrem Dienst, was der Historie von Parse geschuldet ist, welches 2016 viele Entwickler im Unwissen zurückgelassen hat. Diese Mentalität reduziert die Abhängigkeit von Drittanbietern auf ein absolutes Minimum.

Unsere Erfahrung mit Parse Server ist relativ jung und bisher ist uns lediglich das Handling von Datenbankentitäten als vergleichsweise aufwändig aufgefallen. Im Gegensatz zu Firebase dienen Entitäten nicht als Data Transfer Objects, sondern müssen erst über ein ParseObject serialisiert werden – nichts, was sich nicht per Pull Request optimieren lassen ließe. Funktionsumfang, Einstieg, Community und Open Source-Ansatz machen Parse Server aus unseren Augen allerdings zu einem der interessantesten mBaaS.

Backendless – klein, aber relevant!

Backendless ist wahrscheinlich der kleinste Anbieter in diesem Vergleich. Nichtsdestotrotz hat es sich mittlerweile zu einem relevanten mBaaS entwickelt, dessen Funktionsumfang nahezu mit dem von Parse Server gleichzieht.

Die Datenbank basiert auf SQL und erlaubt dementsprechend komplexe Abfragen. Backendless ist Open Source und bietet drei verschiedene Lösungen an:

  • Backendless Pro für Self Hosting,
  • Backendless Pro und
  • Backendless Cloud als Managed Lösung.

Kritik gibt es von uns fürs Preismodell, welches in den vergangenen Jahren mehrfach angepasst worden ist und Einsteigern ungewöhnliche Hürden in den Weg legt (5 Tabellen mit maximal 1.000 Zeilen im kostenlosen Modell). Die Daten liegen entweder in Nordamerika (Cloud) oder zusätzlich in Europa (Managed).

Unsere Erfahrung mit Backendless beschränkt sich auf ein Projekt, bei dem wir regelmäßig einen kleinen Stammdatensatz aktualisieren und für eine überschaubare Anzahl an Kunden zur Verfügung stellen.

CloudBoost, Azure und Mobile Hub

Die restlichen mBaaS-Anbieter fassen wir an dieser Stelle zusammen, weil der Funktionsumfang dieser Lösungen im App-Kontext geringer ist als bei den vorangegangen (weder FileStorage bei Azure, noch Push Notifications bei CloudBoost oder Mobile Hub – und Cloud Functions bei keinem der drei).

Self Hosting wird von allen drei Lösungen drei ausgeschlossen und lediglich Hackerbay und Microsoft investieren in Open Source.

Mit Azure bietet Microsoft gleichzeitig die wohl größte Infrastruktur aller Anbieter betreibt damit u.a. die Server des direkten Konkurrenten CloudBoost. Die Komplexität dieser Leistungen spiegelt sich auch in der Preisgestaltung wider, die sich bei Microsoft nach Prozessorstunden und bei Oracle nach Requests in Sekunden berechnet.

Die Größe der Community ist bei allen dreien eher überschaubar.

Welcher Anbieter ist nun der richtige für mich?

Wie sooft gibt es keine allgemeingültige Antwort auf die Frage, welcher mBaaS der beste ist. Firebase eignet sich hervorragend, solange man sich in der Toolchain von Google wohlfühlt, es keine datenschutzrechtlichen Bedenken bezüglich Datenstandort USA gibt und man weder komplexe Datenbankabfragen noch eine Volltextsuche benötigt (oder den Aufpreis für die Integration eines Suchdienstes akzeptiert). Parse Server eignet sich, sofern man auf Features wie Crash Reporting, Analytics oder Web App Hosting verzichten kann und den Zusatzaufwand für die Wartung des Backend oder die Suche nach einem geeigneten Hosting-Anbieter akzeptiert. Die restlichen mBaaS scheiden für uns aufgrund ihres instabilen Preismodells, unübersichtlichen Dokumentation oder fehlender Community aus.