In the software as a service (SaaS) landscape, there are many variations of “____ as a service”. We recently discussed API as a Service, and in this article, we will explain what mobile backend as a service, or MBaaS, means.
This article is part of our FAQ series that will be answering basic questions related to mobile backend as a service (MBaaS). Other articles include “What is API as a Service?” and “What is Serverless Computing?”
Mobile backend as a service (MBaaS) is sometimes used interchangeably with backend as a service (BaaS). Both MBaaS and BaaS tend to focus on mobile backends. BaaS may be more oriented toward web-based applications rather than mobile apps, although typically the service offerings are very similar.
While MBaaS utilizes the term “mobile”, some MBaaS platforms (including Backendless) can be used to support both mobile applications as well as web apps. In fact, Backendless provides extensive cross-platform support for apps that are available across client types such as mobile, tablet, and desktop/web.
In general, the purpose of an MBaaS platform is to provide developers with a means to connect their frontend application with backend cloud storage and APIs exposed by a backend application. The intended outcome is that it frees developers from thinking about, worrying about, managing, or performing any tasks related to servers.
An MBaaS platform will typically provide a number of basic operations, such as user management, push notification support, and social network APIs for social login, posting, etc.
MBaaS providers utilize custom software development kits (SDKs) to enable developers to connect their API endpoints to various frontend clients such as iOS and Android applications built with any technology capable of producing a mobile app, such as ReactNative, Ionic, Flutter, Unity, etc. These SDKs can also contain access to the provider’s pre-built APIs, such as login APIs, push notification APIs, and data service APIs.
The depth and quality of features offered by MBaaS services can vary greatly. Some may offer the bare minimum features mentioned previously while leaving the remainder of the backend, such as API construction and database development and management, to the developer. Others, such as Backendless and Firebase, offer extensive additional features.
API construction and management can be handled by MBaaS in a variety of ways. A basic approach requires the developer to build and test new APIs on their local machine or with another service, and then access or import those services using the MBaaS platform.
More feature-rich providers, like Backendless, give the developer the tools to build, test, and deploy APIs within the MBaaS platform itself. Backendless gives users the ability to import APIs from other sources, code APIs within the platform, or build APIs using a Codeless builder.
Codeless API construction is designed to make building APIs easier. With a Codeless builder, the user has the ability to build logic using visual components. When complete, the platform will automatically convert the logic to code.
MBaaS providers do not necessarily include database management services. Typically, an MBaaS provider will be capable of interacting with a user’s database, but may not provide the ability to build a database within the platform.
Some providers, such as Backendless, Firebase, and Azure, provide database management services as well. Backendless, for example, can interact with a user’s external (or legacy) database while also providing the tools to build a new database within the platform itself.
Backendless provides an internal database that is automatically tuned to provide optimum performance. It is a complete persistence solution that can fully support your application without any additional storage systems. Additionally, Backendless can support external databases, meaning the platform can connect to your existing relational database management system (RDBMS) to access the existing schema and dataset.
MBaaS services provide developers with access to cloud storage. This potentially eliminates the need to purchase and maintain internal servers while still making the backend readily available to client applications.
One common function of a backend is to store images and files that are too bulky or infrequently used to be included in the client application. By storing these items in the cloud, MBaaS makes it easy for geographically or organizationally separated teams to share these files. The files can be easily accessed with a file service API or in the MBaaS user interface.
MBaaS providers typically use cloud hosting for all backend files, databases, and APIs as the default, following the serverless model. Less common are MBaaS providers that offer local installations of the platform for on-premises or virtual machine hosting.
With Backendless Pro, Backendless also offers an MBaaS platform that can be housed on local servers. This gives developers greater control over server architecture as well as removing limitations on server usage. We discussed the advantages and disadvantages of serverless hosting versus cloud servers and in-house servers in a previous article.
An important capability not offered by all MBaaS providers is the ability to morph data for cross-platform delivery. An application that supports multiple client-side platforms (iOS, Android, web, etc.) will receive data in different formats from each platform.
Traditionally, providers will deliver all data to the client applications in JSON, leaving it up to the developer to transform that data into the appropriate class in order to perform application-level processing. Backendless performs this transformation automatically out of the box, with no additional setup required.
There are many benefits to using an MBaaS platform for your backend development. Virtually all of the benefits boil down to this: saving you money and time. With MBaaS, your development team spends less time developing APIs, managing databases, and (potentially) managing servers, and can therefore spend more time developing new functionality and focusing on the user experience.
For lean teams with limited resources, MBaaS can drastically reduce the time spent on building the backend. For enterprises looking for rapid, agile development, MBaaS provides benefits such as API sharing among teams and centralized database management. In either case, MBaaS frees up developers to focus on the user experience rather than the inner workings of the app.
Broadly, MBaaS offers a number of benefits compared to building and managing backend resources manually. Backendless, specifically, offers the most functionality of any MBaaS provider with a user-friendly interface. You can read about all of our features here.
If you’d like to see if Backendless is the right backend platform for your application, you can begin a free trial of Backendless Cloud here or install Backendless Pro on your own machine for a free trial.