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]

Features

BaaS providers offer different set of features and backend tools. [14] 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. [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

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

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

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

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 used as a service for developing and hosting of web applications. Applications are sandboxed and run across multiple Google-managed servers. GAE supports automatic scaling for web applications, allocating more resources to the web application as the amount of requests increases. It was released as a preview in April 2008, and launched officially in September 2011.

<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">Apple Push Notification service</span> Notification service created by Apple

Apple Push Notification service (APNs), previously known as Apple Push Service (APS), 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 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.

<span class="mw-page-title-main">AWS Lambda</span> Serverless computing platform

AWS Lambda is an event-driven, serverless Function as a Service (FaaS) provided by Amazon as a part of Amazon Web Services. It is designed to enable developers to run code without provisioning or managing servers. It executes code in response to events and automatically manages the computing resources required by that code. It was introduced on November 13, 2014.

"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 infrastructure-as-a-service 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, virtual machines, or physical servers. 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.

Function as a service (FaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. Building an application following this model is one way of achieving a "serverless" architecture, and is typically used when building microservices applications.

<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.

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. 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. 1 2 3 4 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. 1 2 "Cloud Functions for Firebase". Firebase. Retrieved 24 November 2023.
  19. 1 2 "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. 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.
  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.