Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS),[1][2][3] is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services.[4] These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing,[5] with most BaaS startups dating from 2011 or later.[6][7][8] Some of the most popular service providers are AWS Amplify and Firebase.
Web and mobile apps require a similar set of features on the backend, including notification service, integration with social networks, and cloud storage.[9][10] Each of these services has its own API that must be individually incorporated into an app, a process that can be time-consuming and complicated for app developers.[11] BaaS providers form a bridge between the frontend of an application and various cloud-based backends via a unified API and SDK.[3]
Providing a consistent way to manage backend data means that developers do not need to redevelop their own backend for each of the services that their apps need to access,[10] potentially saving both time and money.[11][12]
Although similar to other cloud-computing business models, such as serverless computing, software as a service (SaaS), infrastructure as a service (IaaS), and platform as a service (PaaS), BaaS is distinct from these other services in that it specifically addresses the cloud-computing needs of web and mobile app developers by providing a unified means of connecting their apps to cloud services.[13]
BaaS providers offer different set of features and backend tools.[14] Some of the most common features include:
BaaS providers have a broad focus, providing SDKs and APIs that work for app development on multiple platforms with different technology stacks, such as JavaScript (for Web apps), Flutter, Java/Kotlin (for Android apps), Swift/Objective-C (for iOS/MacOS/WatchOS/TvOS apps), .NET (for Windows) and others. BaaS providers also come in different types, suiting developers of different needs.
Most BaaS providers host backend platforms on their cloud servers.[30] They also manage the infrastructure, security, and scalability of the platforms. Developers can access the backend services via a web interface or the provided APIs.[15] Some examples of cloud-based BaaS include Firebase (hosted on Google Cloud Platform), AWS Amplify (hosted on Amazon Web Services), and Microsoft Azure Mobile Apps (hosted on Microsoft Azure).
Self-hosted BaaS allow developers to host backend on their own servers, providing more flexibility and potential to customization compared to cloud-based BaaS, which often is more difficult to migrate from. However, developers are also in charge of managing the infrastructure, security, and scalability of their servers.[15][30] Some of the self-hosted BaaS are open source. Supabase, for example, features itself as "the open source Firebase alternative",[31] emphasizing its flexibility and openness as a community supported project in comparison to Firebase. While being open source and support self hosting, Supabase and some other providers such as Appwrite and Strapi also offer paid cloud-based hosting services.
Mobile backend as a service (MBaaS) is a type of BaaS specifically for applications deployed in mobile systems. While some references use MBaaS interchangeably for BaaS, BaaS can have a wider variety of support such as for web apps and desktop apps.[32][33] Some examples of MBaaS are Backendless and Microsoft Azure Mobile Apps.
BaaS providers generate revenue from their services in various ways, often using a freemium model. Under this model, a client receives a certain number of free active users or API calls per month, and pays a fee for each user or call over this limit. Alternatively, clients can pay a set fee for a package which allows for a greater number of calls or active users per month.[10] There are also flat fee plans that make the pricing more predictable. Some of the providers offer the unlimited API calls inside their free plan offerings.[34] Another business model that has been used by a lot of BaaS providers is PAYG (pay as you go),[35] which has a flexible cost based on developers' usage of database, storage, bandwidth, function calls, user numbers etc.