IT-Dienstleistung hinter den Kulissen Was ist Backend-as-a-Service?
Anbieter zum Thema
Ohne ausgefeilte Backend-Funktionen kann es schwerlich eine attraktive App oder Website geben. Die Backend-Funktionen sind aber gut standardisierbar, nicht jeder Baustein muss deshalb selbst entwickelt werden.

Um am schnelllebigen (App- und Web-)Software-Markt erfolgreich zu sein, müssen Entwickler*innen nicht zuletzt ein Händchen dafür haben, welchen Teil des Produkts sie selbst machen und welchen sie machen lassen. „Buy or build“, das ist immer wieder die Frage.
Eine zu große Fertigungstiefe kann schnell zur ökonomischen Falle werden, indem einem die Zeit davon oder die Kosten aus dem Ruder laufen (oft beides!). Oft wird es auch schwierig, wenn der Systemrahmen schnell erweitert werden muss, also Skalierung angesagt ist.
Wann sich BaaS anbietet
Wenn die Kunden mehr werden beziehungsweise die Kundenkommunikation deutlich ansteigt, dann werden bei einer selbstgestrickten Lösung oft die Ressourcen knapp und es muss schnell aufgestockt werden. Das heißt: mehr und leistungsfähigere Server an einem Ort oder auch (weltweit) verteilt. Vor allem bei letzterer Lösung werden dann auch zusätzliche Netzwerk-Kapazitäten mit entsprechendem Equipment benötigt.
Spätestens an diesem Punkt der Entwicklung bietet es sich an, sich bei den eigenen Anstrengungen ganz oder zumindest weitgehend auf die Oberflächenfunktionalität der Website oder der App zu konzentrieren und den Kram hinter den Kulissen, also die Datenspeicherung, die Datenbankoperationen, die Nutzer-Authentifizierung, die Reaktion auf Nutzeranfragen und Nutzereingaben beispielsweise als Dienstleistung zuzukaufen.
Backend- as- a-Service (BaaS)-Angebote gibt es mittlerweile eine ganze Menge, die Akzeptanz bei den potenziellen Nutzern ist indes noch ausbaufähig. Abgerechnet wird bei einem solchen Service in der Regel nach der Zahl der zu bedienenden Nutzer und der verwendeten Anwendungsprogrammierschnittstellen (API).
Basis-Architekturen für BaaS
Basis vieler BaaS-Angebote sind oft die Cloud-Speicher-Infrastruktur-Angebote der sattsam bekannten Schwergewichte im Markt, allen voran Google und Amazon. So bietet Google mit seiner Realtime Database „Firebase“ eine NoSQL-Datenbank an, mit der Nutzerdaten in Echtzeit gespeichert und synchronisiert werden können. Die Nutzer können auf die Daten von verschiedenen Endgeräten (Web oder mobil) zugreifen und mit anderen Nutzern zusammenarbeiten.
Entwickler*innen werden mit Entwicklungs-Kits (SDK) für Smartphone Plattformen und Web-Frameworks unterstützt und können somit Daten speichern, ohne einen eigenen Server zu benötigen. Dabei müssen die Nutzer nicht immer online sein. Im Offline-Fall sorgt das entsprechende SDK dafür, dass die Daten gespeichert werden und später, wenn Nutzer oder Nutzerin wieder online ist, in aktueller Form zur Verfügung hat.
Auch der Cloud-Speicher-Dienst Amazon „S3“ kann als Basis für ein umfassendes BaaS-Angebot verwendet werden. Mit Amazon S3 können beliebig große Datenmengen gespeichert und abgerufen werden. Speicherorte sind Websites und mobile Apps, aber auch IoT-Geräte oder Unternehmensanwendungen. Große Datenanalysen lassen sich direkt auf der Speicherplattform ausführen, die Daten hierfür müssen nicht exportiert werden.
Auch Mischungen sind möglich
Natürlich erfordert die Weitergabe von Nutzerdaten in die Obhut von Dienstleistern eine ordentliche Risikobeurteilung. Wie weit ist eine solche Weitergabe im europäischen Rahmen überhaupt gesetzeskonform machbar (Stichwort Europäische Datenschutz-Grundverordnung)? Vielleicht mag man auch bestimmte Teile das Backends doch selbst weiter betreiben, schließlich hat man die entsprechende Serverlandschaft, sie war ja lediglich an ihre Grenzen gekommen.
Will man bestimmte Teile des Backend in eigener Regie betreiben, so bieten sich beispielsweise die Authentifizierungs-Operationen dafür an. Und natürlich ist auch bei den verwendeten Dienstleistern eine Mischung möglich, etwa Google Firebase wegen der Echtzeit-Skalierung (siehe: oben) und Amazon S3 wegen der besonders günstigen Datenspeicherkosten. Oder man setzt auf einen BaaS-Anbieter, der auf Open-Source-Software aufsetzt.
Abgrenzung von BaaS zu „Serverless“ und PaaS
Auch andere Service-Angebote bieten Software- und IT-Infrastruktur-Dienstleistung im Backend. Da sind unter anderem Platfom-as-a-Service (PaaS) und Serverless Computing zu nennen. Beide Service-Arten haben jeweils Ähnlichkeiten mit BaaS, aber auch einige deutliche Unterschiede.
Serverless Computing ist unter den drei Service-Arten sicher diejenige, die die IT-Dienstleistung am genauesten an dem jeweiligen Bedarf ausrichtet. Entsprechende Anwendungen passen sich an diesen Bedarf sofort und automatisch an. Auslöser des Computing ist ein Ereignis, das die Ausführung eines Rechenprozesses notwendig macht, der eine bestimmte Rechenleitung erfordert. Und diese wird dann punktgenau geliefert.
Serverless-Computing wird zuweilen auch als „Function-as-a-Service" bezeichnet. Gegenüber Serverless Computing sind die Funktionen, die in BaaS zur Verfügung stehen, sehr viel weniger granular, auch die Skalierbarkeit ist sehr viel gröber angelegt. Dafür ist das Ganze insgesamt preiswerter oder sollte es wenigstens sein. Platform-as-a-Service enthält anders als BaaS keine vorgefertigten Programmfunktionen, sondern lediglich Hardware-Ressourcen und allgemeine Software-Tools für den Einsatz in der Cloud.
Vermutlich verwischen sich die eben angeführten Unterschiede bei einigen Produktangeboten. Ein genaues Lastenheft darüber, was man als App- oder Webshop-Enwickler*in als Serviceleistung zukaufen und was man selber machen will, ist deshalb überaus wichtig. Das spart Kosten und Zeit. Und mit beidem kann man im schnelllebigen und hart umkämpften App- und Webshop-Geschäft nicht sparsam genug sein.
(ID:47295972)