Low-code development
Rano Salieva
February 17, 2025
Backend-as-a-Service, or BaaS, is a cloud-based model that allows developers to outsource backend development tasks, enabling them to focus more on the frontend part of the application.
BaaS offers features like hosting, cloud storage, user authentication, and database management.
The decision to use a custom backend, BaaS, or another option, such as a low-code platform, depends on various factors, such as project complexity and requirements. BaaS has limitations related to control, scalability, and vendor lock-in.
However, this model significantly saves time and dev resources, simplifying the backend development process and allowing for rapid app deployment.
To understand backend-as-a-service, one needs to understand the backend in general. In web development, there is a frontend and a backend.
The frontend represents what the user sees and interacts with within the web application or mobile.
The backend represents everything that happens on the server and database side. The user usually doesn’t see or interact with the backend.
Once you understand the backend, it can then be divided into two types:
Created by the internal development team for an app or a suite of apps using scripting languages like PHP, Ruby, Java, Python or Go.
A service developer uses to outsource all backend-related tasks, so they only need to write and maintain the frontend.
In this chapter, we review how developers usually build the backend. The backend infrastructure consists of the following entities:
Servers handle requests and manage network resources. They store and retrieve data and utilize RAM and storage drives.
They run the information between the client computer and the database. You can host your application on the cloud or on the premises.
A collection of tables with various fields and data. The application stores data in memory, and a database is built to call for and reuse this data.
The database helps establish and maintain connections between the many app entities (for example, users, posts, and comments).
User authentication involves verifying user identities, so the application knows who you are. The OAuth 2.0 is currently an industry standard for user authentication.
With OAuth 2.0, the Client requests authorization from the Authorization server; the Authorization server verifies the Client and their rights, the Resource owner grants access following the Authorization server request, and the Authorization server generates a token which the Client can then use to request access from the Resource server. So, the Authorization server is an intermediary between the Resource owner, the Resource server, and the Client.
Developers use APIs as a set of methods and data formats to allow different applications to communicate with each other. Middleware is a software layer between an operating system and its applications.
APIs focus on the “how” of communication between software components. Middleware operates at a slightly higher level, focusing on the “how” of managing and optimizing those components across the system
Deployment consists of 4 stages: compressing the code, preparing the production environment, spinning up servers, and downloading and running the prepared production environment.
Typically, one server operates a relational database, runs a web application, and handles file storage. However, this process can be optimized by letting separate servers handle specific tasks. For example, AWS has EC2 for running application code, RDS for managing databases, and S3 buckets for storing files.
Different servers can also run the same web application. When traffic increases, the load is split between several servers. This process is called load balancing.
Apart from understanding the essential parts of the backend, one also needs skills like server-side languages such as Python, PHP, or Ruby, familiarity with database technologies such as SQL and NoSQL, and an understanding of common security and authentication practices. The backend developer also knows how to create RESTful APIs.
These skills, combined with the knowledge of development practices such as version control, documentation, and testing, comprise the essence of backend development.
As a low-code platform built by developers, ondeva helps you focus on creative tasks.
Start for free. Pay only after 100 monthly page views.
Sign-up and get building in seconds - no payment, credit card, or demo required.
Backend-as-a-Service (BaaS) is a platform that allows developers to outsource all backend-related development tasks.
Backend-as-a-Service functionalities include:
Some BaaS offer additional functionality; for example,
Database management is a basic backend-as-a-service functionality that allows building web apps with a database. Sometimes, it includes more advanced features, such as schema-less. A schema-less database is a database without a predefined schema, so the data doesn’t need to be in any particular format. These are NoSQL databases, where data is stored as key-value pairs, graph data models, documents, or columns.
Data can be sorted and filtered if needed. Some BaaS offer data connectors to sync cloud-based data to the data on the machine.
Backend-as-a-service provides various authentication services. For example, you can create a simple account registration process, set up authentication processes using OAuth 2.0 protocol or implement social logins like Facebook and Google.. Additionally, you can configure logout and password policies.
You can also limit who can access data and services. For example, you can assign admin user rights and configure other user groups to restrict the data they can access. This is done through Access Control Lists (ACLs).
Most BaaS store media files, user uploads, and other data in the cloud. The files can be uploaded, downloaded, and deleted through SDKs or APIs.
Cloud functions are serverless functions that some BaaS provide. These functions let you automatically run backend code in response to events triggered by background events, HTTP requests, SDK invocation, background server events, and cloud-scheduled executions. The developer’s code (JavaScript, TypeScript, or Python) is stored on the cloud infrastructure and runs in a managed environment.
Cloud functions extend BaaS's functionality. For example, they can serve as the backend for APIs or perform scheduled tasks, like database cleanups or sending reports.
BaaS provides user engagement functionality, for example, email marketing. You can set up newsletter subscriptions, segment users, define time to send emails, or create email drip campaigns that are delivered to users' inboxes in a predefined order.
Hosting is offered as part of the standard BaaS package. The application is hosted in the cloud with services like DNS management, SSL certificates, firewalls, DDoS protection, and GDPR compliance.
Backend-as-a-service and Serverless are two different services. However, there is some overlap in functionality.
BaaS provides a complete online backend without managing the underlying infrastructure. In serverless computing, developers write code that can be deployed on a serverless platform. The code is event-driven and responds to specific events, such as a file upload. When an event occurs, the serverless platform executes the function.
If multiple events are triggered, the serverless platform will allocate the resources. If there are no events, there are no costs. BaaS applications don’t scale as quickly unless the BaaS offers serverless functionality.
Mobile backend-as-a-service is a type of BaaS explicitly intended for mobile applications including databases for android apps and iOS. Unlike Backend-as-a-service for web apps, MBaaS offers features such as offline data synchronization, mobile analytics, and SDKs tailored to mobile platforms.
Currently, the types of BaaS include cloud backend as a service, self-hosted BaaS, open-source Baas, and low-code platforms.
Here are a few of the most popular BaaS:
A low-code platform with BaaS functionality for web development. It enables you to develop full-stack applications using a visual builder for the front end and back end, in particular when developing workflows and automations. Provides a business logic layer, data management, user authentication, and cloud storage functionality. Alongside cloud servers, it also offers serverless functionality through a pay-per-use plan, which scales automatically based on the number of pages viewed.
A powerful backend-as-a-service platform backed by Google. It can be overwhelming for small applications.
A Firebase alternative with a reputation for being just like Firebase, except it is open-source.
The differentiating feature of Backendless is a visual interface that allows users to build and manage full-stack applications, not just backends.
Previously acquired by Meta and now open source, Parse doesn’t offer as many services as Firebase, but it can be a better option in the long run for large apps. It needs to be self-hosted or commercially hosted.
Provides all standard BaaS functionality and is a good choice for teams that rely on the AWS ecosystem, which includes S3, Lambda, etc.
Technically not a BaaS but a PaaS, Heroku is often mentioned in developer forums as an alternative to BaaS. It allows you to deploy and administer apps within smart containers.
The main limitations of BaaS are less control compared to traditional methods and vendor lock-in. Using BaaS means that certain aspects of the application’s infrastructure and technology stack are delegated to a BaaS provider. This ensures simplicity and efficiency, though the direct management of the infrastructure is handed over to the provider. Additionally, the BaaS service can get shut down, and the developer might face data migration tasks to a new system. However, the vendor lock-in risk can be mitigated by choosing an open-source BaaS.
BaaS is a good choice for simplifying the development process so you can focus on user experience instead. The BaaS serverless functionality means that server resources are allocated without overhead as your user base grows.
BaaS providers regularly update their platforms to offer new features, fix bugs, and improve security, so you don't need to take care of these development tasks manually. As your app grows and needs more server space, hiring a team to manage the servers and the code can be expensive. Therefore, using BaaS can bring more time and cost benefits than traditional development as your application becomes more substantial. You can also use additional functionality such as email communication and user authorization, which otherwise need to be developed from scratch.
If you need more control and optimization, then PaaS (Platform-as-a-service) could be an alternative. With PaaS, you can create a more customized solution while automating and optimizing some of the backend development tasks.
Traditional development might work for those who prefer complete control and customization. However, it is important to consider the increased time and resources required. You'll need a team to maintain the servers and the code.
Once you know which BaaS to use, connecting the front and back end is easy; the two connect via an API, which acts as a messenger that allows your front-end app to communicate with BaaS services.
BaaS provides services that eliminate the need to develop a backend. This facilitates rapid application development, allowing developers to build products faster. You can use BaaS functionality selectively, for example, if you’re wondering how to move your apps to the cloud storage, BaaS can help here.
However, choosing to use BaaS comes with its considerations, including scalability, vendor lock-in, and the need for customization to meet specific requirements. Currently, the choice of BaaS is expanded by other platforms that provide similar services and can be even more effective, such as PaaS and low-code and no-code solutions. The choice depends on various factors, such as project requirements and resources.
BaaS is an application that allows developers to outsource all backend development tasks including database management, authentication as a service, hosting and storage, push notifications, and more.
MBaaS is BaaS for mobile applications. It provides the same functionality as BaaS but with extended features for apps: a database for iOS and android, location services, mobile analytics, and SDKs tailored to mobile platforms.
IaaS provides virtual computers as a service, including storage, computing, and networks. Made for system administrators and DevOps, it allows for a higher level of control than BaaS.
PaaS typically provides full-stack development capabilities, including development tools, database management, business analytics, and more. It has a slightly lower level of abstraction than BaaS. PaaS gives developers more control and flexibility, while BaaS is all about convenience.
FaaS (Function-as-a-Service) is part of the serverless computing infrastructure. It allows developers to execute code in response to events without managing the infrastructure. With Faas, individual functions can be deployed and executed on demand, scaling automatically.
SaaS providers provide applications to customers, which they host and run. This eliminates the need to install and run applications on the customers’ computers or their data centers, reducing acquisition, installation, and maintenance costs.