Jump to content

Backend as a service

From Wikipedia, the free encyclopedia
(Redirected from Mobile backend as a service)

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.

Purpose[edit]

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]

Features[edit]

BaaS providers offer different set of features and backend tools.[14] Some of the most common features include:

  • Database management. Most BaaS solutions provide SQL and/or NoSQL database management services for applications.[15] Developers can store their app data without deploying and managing databases themselves. BaaS usually provides client SDKs, REST and GraphQL APIs for the frontend to interact with databases.
  • File storage. BaaS providers often offer storage solutions for media files, user uploads, and other binary data. Applications can upload, download, and delete files through provided SDKs and APIs.
  • Authentication and authorization. Some BaaS offer authentication and authorization services that allow developers to easily manage app users.[15] This includes user sign-up, login, password reset, social media login integration through OAuth, user group and permission management etc.
  • Notification service. Some BaaS providers such as Firebase and AWS Amplify have notification services that can send custom emails to users and push native notifications on mobile platforms.[16][17] This is especially useful for applications that need to send messages, alerts, and reminders.
  • Cloud functions. Some BaaS allow developers to deploy and run serverless functions. The functions are usually stateless and can be triggered by various ways including HTTP requests, SDK invocation, background server events, and cloud scheduled executions.[18][19] Different providers offer runtime support for different languages, some of the popular languages are JavaScript/TypeScript (Node.js, Deno), Python, Java/Kotlin.[18][19][20] Cloud functions extend the potential and flexibility of BaaS by allowing developers to write custom functionalities for their apps, working in a way similar to a traditional REST API backend framework.[21]
  • Usage analytics. Analytics data about application usage is often included in BaaS. This allows developers to monitor user behaviors and make decisions correspondingly in marketing strategies and performance optimizations.[22][23]
  • UI design. Some BaaS providers, such as AWS Amplify and Backendless, offer user interface designing tools that help developers design the frontend UI of web and mobile apps.[24][25] While this may be useful for small teams and individual developers, UI design assistance may not be conventional in BaaS as it goes beyond the scope of backend infrastructure.
  • Real-Time. Real-time features in a BaaS platform ensure that data updates and synchronizations occur instantly across all clients, making changes immediately visible to users. This is crucial for applications like live chat and collaborative tools, using technologies like WebSocket WebSockets to maintain continuous server-client connections.

Service providers[edit]

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.

Cloud-based BaaS[edit]

Most BaaS providers host backend platforms on their cloud servers.[26] 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[edit]

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][26]

Mobile BaaS[edit]

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.[27][28]

Business model[edit]

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.[29] Another business model that has been used by a lot of BaaS providers is PAYG (pay as you go),[30] which has a flexible cost based on developers' usage of database, storage, bandwidth, function calls, user numbers etc.

See also[edit]

References[edit]

  1. ^ Monroe, Martin. "The Gospel of MBaaS (Part 1 of 2)". InfoQ. Retrieved 6 May 2013.
  2. ^ Monroe, Martin. "The Gospel of MBaaS (Part 2)". InfoQ. Retrieved 15 May 2013.
  3. ^ a b Lane, Kin (3 June 2012). "Rise of Mobile Backend as a Service (MBaaS) API Stacks". API Evangelist. Retrieved 16 October 2012.
  4. ^ Carney, Michael. "AnyPresence partners with Heroku to beef up its enterprise mBaaS offering". PandoDaily. Archived from the original on 27 June 2013. Retrieved 24 June 2013.
  5. ^ Williams, Alex (11 October 2012). "Kii Cloud Opens Doors For Mobile Developer Platform With 25 Million End Users". TechCrunch. Retrieved 16 October 2012.
  6. ^ Tan, Aaron (30 September 2012). "FatFractal ups the ante in backend-as-a-service market". Techgoondu.com. Retrieved 16 October 2012.
  7. ^ Rowinski, Dan (9 November 2011). "Mobile Backend As A Service Parse Raises $5.5 Million in Series A Funding". ReadWrite. Retrieved 23 October 2012.
  8. ^ Mishra, Pankaj (7 January 2014). "MobStac Raises $2 Million In Series B To Help Brands Leverage Mobile Commerce". TechCrunch. Retrieved 22 May 2014.
  9. ^ Lane, Kin. "New Features From BaaS Provider AnyPresence". API Evangelist. Retrieved 28 May 2013.
  10. ^ a b c Lawler, Ryan (26 March 2012). "Parse offers its mobile backend-as-a-service on a freemium model". GigaOM. Archived from the original on 9 October 2012. Retrieved 16 October 2012.
  11. ^ a b Williams, Alex (11 July 2012). "Kinvey Raises $5 Million For Mobile And Web App Backend As A Service". TechCrunch. Retrieved 16 October 2012.
  12. ^ Facemire, Michael (2 September 2012). "Enterprise Mobility: How Fast Can Development Go?". Michael Facemire's Blog. Forrester.com. Retrieved 16 October 2012.
  13. ^ Rowinski, Dan (17 April 2012). "The Rise of Mobile Cloud Services: BaaS Startups Grow Up". ReadWrite. Retrieved 23 October 2012.
  14. ^ Lane, Kin. "New Features From BaaS Provider AnyPresence". API Evangelist. Retrieved 28 May 2013.
  15. ^ a b c d Zomko, Roman. "The Brief Guide to Backend as a Service (BaaS)". impressit.io. Retrieved 23 November 2023.
  16. ^ "Firebase Cloud Messaging". Firebase. Retrieved 24 November 2023.
  17. ^ "Notifications - AWS Amplify Hosting". docs.aws.amazon.com. Retrieved 24 November 2023.
  18. ^ a b "Cloud Functions for Firebase". Firebase. Retrieved 24 November 2023.
  19. ^ a b "Functions - Docs - Appwrite". Appwrite. Retrieved 24 November 2023.
  20. ^ "Edge Functions | Supabase Docs". Supabase. Retrieved 24 November 2023.
  21. ^ Ail, Vijit (15 June 2022). "Using Edge Functions in Supabase: A complete guide". LogRocket Blog. Retrieved 24 November 2023.
  22. ^ Rowinski, Dan (17 April 2012). "The Rise of Mobile Cloud Services: BaaS Startups Grow Up". ReadWrite. Retrieved 23 October 2012.
  23. ^ "Google Analytics for Firebase". Firebase. Retrieved 24 November 2023.
  24. ^ "Full Stack Web App Editor - Extensible App Builder - AWS Amplify Studio - AWS". Amazon Web Services, Inc. Retrieved 24 November 2023.
  25. ^ "UI Builder". Backendless. Retrieved 24 November 2023.
  26. ^ a b "How to Choose the Right Backend as a Service (BaaS) Provider for Your Project". DEV Community. 13 September 2023. Retrieved 23 November 2023.
  27. ^ "What is BaaS? | Backend-as-a-Service vs. serverless". Cloudflare. Retrieved 23 November 2023.
  28. ^ "What Is Mobile Backend As A Service (MBaaS)? (2022)". Backendless. 20 January 2023. Retrieved 23 November 2023.
  29. ^ "MongoDB Stitch - Backend as a Service". MongoDB. Retrieved 21 June 2017.
  30. ^ "What is a Mobile Backend Service (MBAAS)?". Carina Softlabs Blog. 12 May 2021. pp. 1–2. Archived from the original on 16 May 2024. Retrieved 12 May 2021.