Backend as a Service? When to use it?
What is it?
A BaaS platform allows us to connect backend services with our mobile or web applications without writing the code and developing on the server side. Automating this development and cloud infrastructure. Sounds good, doesn´t it?
Now, lets see the advantages.
Mainly because if you don´t have the need for a custom server, you don´t have to develop one, this allows the development team to focus more on basic logic or the user experience. Because it delivers ready-to-use code generation and building blocks.
No knowledge of some server language or framework is required.
It offers ready-to-use features such as scalable databases, push notifications, etc.
Lower development costs.
Not having to write server-side code sounds wonderful, but before opting to use or migrate to this service there are a few things to consider.
BaaS is an excellent option if you need speed and less development time, for example to build a simple and lightweight MVP or app that requires a small amount of integration.
On the other hand if we really want to have a good performance and scalabilitythe best thing is to choose 100% to build your own server. Since you could possibly require third party integrations and this flexibility is achieved with your own server, implementing your own logic instead of being restricted to a BaaS.
Basically the architecture is divided into three differente layers, the first layer connects the load balancers and CDN with the application cluster, the second layer is the application cluster where all applications are processed. These vary throughout the amount of requests received, as we mentioned in the previous post ( What is Lambda Functions and how it works? ) the scaling is automated, the higher the demand more containers are disposed. And the third layer contains the database servers with at least two servers, one for data replication and one for backup.
In conclusion, this doesn´t mean that a BaaS is bad since it's a trend that continues to be used and popularized, you just have to take into account what you need at the moment and in the future.
Next I will share some use cases to work with a BaaS services:
- Frontend developers with limited backend knowledge.
- Backend developers who want to accelerate development.
- Developers and teams who want to outsource repetitive or low impact/low value tasks to a third party.
Here some BaaS providers: