Backend as a service

Last updated

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.

Contents

Purpose

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

Features

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

Service providers

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

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

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. [16] [31] Some of the self-hosted BaaS are open source. Supabase, for example, features itself as "the open source Firebase alternative", [32] 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 BaaS

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. [33] [34] Some examples of MBaaS are Backendless and Microsoft Azure Mobile Apps.

Business model

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

See also

Related Research Articles

A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to a hardware platform and operating system combination. To create applications with advanced functionalities such as advertisements, push notifications, etc; most application software developers use specific software development kits.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

Nuxeo is a software company making an open source content management system.

Google App Engine is a cloud computing platform as a service for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers. App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand.

<span class="mw-page-title-main">Cloud computing</span> Form of shared Internet-based computing

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. Large clouds often have functions distributed over multiple locations, each of which is a data center. Cloud computing relies on sharing of resources to achieve coherence and typically uses a pay-as-you-go model, which can help in reducing capital expenses but may also lead to unexpected operating expenses for users.

<span class="mw-page-title-main">Microsoft Azure</span> Cloud computing platform by Microsoft

Microsoft Azure, often referred to as Azure, is a cloud computing platform run by Microsoft. It offers access, management, and the development of applications and services through global data centers. It also provides a range of capabilities, including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Microsoft Azure supports many programming languages, tools, and frameworks, including Microsoft-specific and third-party software and systems.

<span class="mw-page-title-main">Apple Push Notification service</span> Notification service created by Apple

Apple Push Notification service is a platform notification service created by Apple Inc. that enables third party application developers to send notification data to applications installed on Apple devices. The notification information sent can include badges, sounds, newsstand updates, or custom text alerts. It was first launched with iOS 3 on June 17, 2009. APNs support for local applications was later added to the Mac OS X API beginning with the release of Mac OS X 10.7 ("Lion"). Support for website notifications was later added with the release of Mac OS X 10.9 ("Mavericks").

<span class="mw-page-title-main">Google Cloud Messaging</span> Mobile notification service

Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System, as well as applications or extensions developed for the Google Chrome internet browser. It was available to developers free of charge. The GCM Service was first announced in June 2012 as a successor to Google's now-defunct Android Cloud to Device Messaging (C2DM) service, citing improvements to authentication and delivery, new API endpoints and messaging parameters, and the removal of limitations on API send-rates and message sizes. It has been superseded by Google's Firebase Cloud Messaging (FCM) on May 29, 2019.

Kii Corporation is a company that provides mobile backend as a service (MBaaS), distribution partnerships and venture capital. The company has offices in Tokyo, San Mateo, California, San Francisco, California, and Hong Kong. The Kii Cloud service allows mobile app developers to add cloud services to their apps without writing server software.

<span class="mw-page-title-main">Appcelerator</span> Privately-held mobile technology company

Appcelerator is a privately held mobile technology company based in San Jose, California. Its main products are Titanium, an open-source software development kit for cross-platform mobile development, and the Appcelerator Platform.

Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that provides a series of modular cloud services including computing, data storage, data analytics, and machine learning, alongside a set of management tools. It runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, and Google Docs, according to Verma, et.al. Registration requires a credit card or bank account details.

Firebase, Inc. is a set of backend cloud computing services and application development platforms provided by Google. It hosts databases, services, authentication, and integration for a variety of applications, including Android, iOS, JavaScript, Node.js, Java, Unity, PHP, and C++.

Felgo is a cross-platform development tool, based on the Qt framework. It can be used to create mobile apps or games. Felgo apps and games are supported on iOS, Android, Windows Phone, embedded devices and desktop devices. Felgo developers use QML, JavaScript and C++ to create mobile apps and games.

"X as a service" is a phrasal template for any business model in which a product use is offered as a subscription-based service rather than as an artifact owned and maintained by the customer. Originating from the software as a service concept that appeared in the 2010s with the advent of cloud computing, the template has expanded to numerous offerings in the field of information technology and beyond it. The term XaaS can mean "anything as a service".

PubNub is a Real-time Communication Platform and real-time infrastructure-as-a-service (IaaS) company based in San Francisco, California. The company makes products for software and hardware developers to build real-time web, mobile, and Internet of Things (IoT) applications.

<span class="mw-page-title-main">CloudKit</span>

CloudKit is an integrated macOS, iOS, iPadOS, watchOS, and tvOS API that functions as a backend as a service (BaaS). CloudKit is the framework that powers iCloud on those operating systems and on the web.

Serverless computing is a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers. "Serverless" is a misnomer in the sense that servers are still used by cloud service providers to execute code for developers. However, developers of serverless applications are not concerned with capacity planning, configuration, management, maintenance, fault tolerance, or scaling of containers, VMs, or physical servers. Serverless computing does not hold resources in volatile memory; computing is rather done in short bursts with the results persisted to storage. When an app is not in use, there are no computing resources allocated to the app. Pricing is based on the actual amount of resources consumed by an application. It can be a form of utility computing.

Firebase Cloud Messaging (FCM), formerly known as Google Cloud Messaging (GCM), is a cross-platform cloud service for messages and notifications for Android, iOS, and web applications, which as of May 2023 can be used at no cost. Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or end users.

Crashlytics was a Boston, Massachusetts-based software company founded in May 2011 by entrepreneurs Wayne Chang and Jeff Seibert. Crashlytics helps collecting, analyzing and organizing app crash reports.

<span class="mw-page-title-main">Netlify</span> American cloud computing company

Netlify is a remote-first cloud computing company that offers a development platform that includes build, deploy, and serverless backend services for web applications and dynamic websites. The platform is built on open web standards, making it possible to integrate build tools, web frameworks, APIs, and various web technologies into a unified developer workflow.

References

  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. 1 2 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. 1 2 3 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. 1 2 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. "Understanding the Basics of Backend as a Service (BaaS)". Mobile City. Silicon India. 9 August 2012. Retrieved 16 October 2012.
  14. Rowinski, Dan (17 April 2012). "The Rise of Mobile Cloud Services: BaaS Startups Grow Up". ReadWrite. Retrieved 23 October 2012.
  15. Lane, Kin. "New Features From BaaS Provider AnyPresence". API Evangelist. Retrieved 28 May 2013.
  16. 1 2 3 4 Zomko, Roman. "The Brief Guide to Backend as a Service (BaaS)". impressit.io. Retrieved 23 November 2023.
  17. "Firebase Cloud Messaging". Firebase. Retrieved 24 November 2023.
  18. "Notifications - AWS Amplify Hosting". docs.aws.amazon.com. Retrieved 24 November 2023.
  19. 1 2 "Cloud Functions for Firebase". Firebase. Retrieved 24 November 2023.
  20. 1 2 "Functions - Docs - Appwrite". Appwrite. Retrieved 24 November 2023.
  21. "Edge Functions | Supabase Docs". Supabase. Retrieved 24 November 2023.
  22. Ail, Vijit (15 June 2022). "Using Edge Functions in Supabase: A complete guide". LogRocket Blog. Retrieved 24 November 2023.
  23. Rowinski, Dan (17 April 2012). "The Rise of Mobile Cloud Services: BaaS Startups Grow Up". ReadWrite. Retrieved 23 October 2012.
  24. "Google Analytics for Firebase". Firebase. Retrieved 24 November 2023.
  25. "Full Stack Web App Editor - Extensible App Builder - AWS Amplify Studio - AWS". Amazon Web Services, Inc. Retrieved 24 November 2023.
  26. "UI Builder". Backendless. Retrieved 24 November 2023.
  27. "Firebase Extensions". Firebase. Retrieved 24 November 2023.
  28. "Avatars API Reference - Docs - Appwrite". Appwrite. Retrieved 24 November 2023.
  29. "Locale API Reference - Docs - Appwrite". Appwrite. Retrieved 24 November 2023.
  30. "Back4App Agent". Back4App. Retrieved 24 November 2023.
  31. 1 2 "How to Choose the Right Backend as a Service (BaaS) Provider for Your Project". DEV Community. 13 September 2023. Retrieved 23 November 2023.
  32. "Supabase | The Open Source Firebase Alternative". Supabase. Retrieved 24 November 2023.
  33. "What is BaaS? | Backend-as-a-Service vs. serverless". Cloudflare. Retrieved 23 November 2023.
  34. "What Is Mobile Backend As A Service (MBaaS)? (2022)". Backendless. 20 January 2023. Retrieved 23 November 2023.
  35. "MongoDB Stitch - Backend as a Service". MongoDB. Retrieved 21 June 2017.
  36. "Firebase Pricing". Firebase. Retrieved 19 September 2023.