You may wonder, what the heck does pizza have to do with an article about custom and ready backend services? Well, we will prove to you that app backend and pizza actually have a lot in common.
Have you ever tried to make pizza at home? Perhaps you bought the pre-made dough in the supermarket, added some of your favorite toppings from your refrigerator, and baked it in your oven for several minutes. The result wasn’t impressive, but it was probably good enough to enjoy with a family or friends.
Now, imagine a situation where some Italian friends or relatives have come to visit you. They know good pizza, and you don’t dare to treat them to your homemade experiments. You go to the best pizzeria in the town, because you understand that their pizza is much more delicious, even though they use the same toppings you do at home. The difference is most likely in the fresh dough, handpicked ingredients and special recipe for each type of pizza.
Think of web application development as preparing a pizza. You can take half-ready ingredients to bake a pizza, just as you can use mobile backend as a service tool to create the server side of your application. The results will be ok. But if you want a really delicious pizza, you go to a restaurant where it is prepared from select ingredients by a professional just for you. This is exactly how custom backend is made – customized for your business case and adjusted to your requirements.
This doesn’t mean that backend as a service is bad. It fits particular business cases, but it isn’t the ultimate tool. In this article, we will find out when MBaaS is a reasonable choice and why custom backend completely beats it when it comes to more complex products.
So get yourself a slice of pizza, we are getting to dig deeper into the world of mobile app development.
What is backend? Which types of backend are there?
Just to make everything clear, let’s walk through a short explanation of the frontend and backend of an application.
Frontend is the part of the app the user interacts with. It is built using HTML, CSS and (in most cases) JavaScript, which makes the interface interactive. There are also JavaScript frameworks that make frontend development faster, easier and more exact.
Backend is what is behind the interface: the logic of the application. It is responsible for all the functionality, database, interactions with the server, etc.
Most of the time, you get to choose between two completely different approaches when building an application’s server side: mobile backend as a service (MBaaS) and custom backend. What are the differences? What are the advantages of both approaches? Let’s figure it out together.
Mobile backend as a service
Backend as a service (BaaS) allows you to use pre-developed backend stored in the cloud. This backend includes unified functionality most applications use: push notifications, social networks integrations, cloud storage, messaging, analytics, etc.
MBaaS is like a pizza you get from the nearest pizza chain or supermarket. It was prepared in great volumes and frozen to make it easier to transport and store. To sell better, this pizza has a usual set of toppings that end up satisfying most buyers. The price is also attractive, and this pizza can save you a lot of time!
BaaS has obvious advantages and a few not-so-obvious disadvantages. Let’s take a closer look.
Advantages of BaaS
- Speed of development
Businesses that are on a deadline appreciate backend as a service solutions. BaaS is a ready backend. Once you connect it with your frontend, the app is ready to go live. Such a service can save you weeks or even months of active development. BaaS solutions are preferred for MVP development when it is crucial to cut the time-to-market. - The development price
Logically, reducing development time results in lower application costs. Most BaaS solutions are paid, but the fee is much lower than potential costs of custom backend development. Though, long-term, expenses may grow. - Complex solution
When implementing backend as a service you don’t have to care about hosting and integrations with third-party-services. You buy a solution with everything you need in a bundle. This bundle also includes support, which is much appreciated if you or your developers don’t have server maintenance experience.
Disadvantages of backend as a service
- Low flexibility
BaaS are developed as universal solutions to fit most project types. If your application needs some unique functionality, it’s highly possible it won’t be in the bundle. Even if it is, the functionality may be just too complex for a BaaS. - Low scalability and low level of customization
Backend as a service is usually considered a short-term solution that won’t suit applications that plan to grow. Constantly changing technologies and possible application scaling make customizing the server side to current project needs critical. And this is exactly what MBaaS solutions can't offer. - Low reliability
Backend as a service became a real trend in recent years, and multiple companies now vie for your attention. But no one can guarantee these companies won’t vanish soon. Remember the example of Parse: even the most popular and prospective service can be shut down one day. That’s why trusting your business to a third party always comes with risks. - Security concerns
If your application is designed to work with confidential data such as user information or payment data, forget about BaaS. Though they claim to be secure, you probably don’t want to risk sensitive data by storing it on a shared server.
When to choose backend as a service?
After analyzing all the advantages and disadvantages of this cloud service, the conclusion is clear. BaaS solutions are the best match for these types of projects:
- Minimum viable product
The core idea of the MVP concept is to launch a product as soon as possible while spending as little as possible money. The aim is simple – to test the product idea with real users and recognize its prospects. For this, BaaS is a perfect match. You can cut development time and costs and start gathering user feedback sooner. - Simple apps with classic architecture
BaaS solutions are created with a certain set of features to fit the needs of an average application. If your app requires only basic functionality and you do not plan to extend it any time soon, ready cloud-based backend is the choice for you. - New application
Backend as a service can be a temporary solution to allow you to launch your application faster. Later on, you can migrate to custom backend to make the app more reliable and secure.
MBaaS providers worth your attention
Until last year, Parse was the undeniable market leader of backend as a service solutions. But, in January 2017, Facebook, the current owner of the service, decided to shut it down. Nowadays, Parse is open-source and can still be run on your own servers as a combination of MBaaS and custom backend.
But there are dozens of other providers ready to deliver backend as a service. Among them are Firebase, Kinvey, Backendless, and back4app. A detailed comparison of these services will make your choice easier.
As you can see, mobile backend as a service is a solution that targets beginner businesses or those with only moderate requirements. But if your application is a potential app store conqueror – you should consider custom backend development.
Custom backend
Custom backend, as you have already guessed, is an app backend created from scratch that focuses on specific product needs. But, despite all its advantages, custom backend can’t fit every application because of its more complicated development process. Let’s list all the advantages and disadvantages of this approach in clear order.
Advantages of custom backend
- Completely adjust the backend to the needs of the project
Custom backend enables you to build literally any functionality you can imagine. Unique features or third-party integrations with niche services aren’t an issue if you go custom. - High scalability
Custom backend can be easily adjusted to any changes implemented over time. Whether the app is growing, new features are being added, or the number of users increases, your app backend will be able to handle it. - High level of security
With custom backend, all data is stored on private servers. You don’t have to fear that sensitive information will be stolen or leaked. This is especially comforting if your application processes payment data. - Reliability
Your backend is yours alone, and it doesn’t depend on any service providers. It will work until you decide to shut it down. This is an extreme advantage over MBaaS, which requires you to completely rely on a foreign service that can disappear at any time.
Disadvantages of custom backend
- Increased development time
Since the application’s backend is developed from scratch, it usually takes much longer than implementing a ready MBaaS solution. - Need to hire a backend team
Finding professionals with relevant knowledge and expertise in creating application backends usually takes time. - The high cost of custom backend
The cost of the development depends on development time and the expertise of programmers working on the project. This results in higher costs compared to backend as a service.
Let’s return to our pizza comparison. A custom backend is a pizza ordered in a good Italian restaurant. Yes, it costs much more than a supermarket pizza. Yes, you’ll need to spend extra time researching and finding the best pizza restaurant around. Yes, you have to wait as it is prepared for you. But the taste is worth it.
When is custom backend better than backend as a service?
Although it’s a more complicated and expensive way to create application logic, custom backend has strong advantages over BaaS solutions. That’s why it is preferred in many situations:
- Apps with specific features or unique logic
Backend as a Service includes an average set of functionality. If your application goes beyond that – custom backend should be your choice, since it allows you to implement any feature you can think of. - Apps with a long-term perspective
If you plan to support your app for more than a year – go with custom backend. It will give you confidence that the service you are using won’t be unexpectedly shut down. - Apps with scalability potential
If your app has the potential to grow, extend functionality and attract new customers, it is important to have the app backend that can cope with these challenges. With the right support, custom backend can keep pace at any scale. - Apps that process confidential information
Keeping customer data secure is a high priority for every type of the application, especially when it comes to personal information or payment data. If this is your case – choose custom backend. It’s the optimal solution of security-dependent applications.
Frameworks for custom backend development
Various frameworks and different programming languages can be used to build an application backend. The most popular among them are Laravel for PHP, Express.js for Node.js, and Rails for Ruby. All have their strengths, which we will be describing in one of our next articles. Don’t miss our comparison of backend frameworks!
Conclusion
Let’s return one last time to our backend vs. pizza comparison. Here’s our conclusion:
Mobile backend as a service is like a frozen supermarket pizza. It is prepared in huge volumes and sold to people who just want to cook pizza at home without too much effort or expense. It is good enough to eat with family or friends, but it is…average.
If you want to impress with a pizza, order it from an Italian restaurant where everything is prepared right there, in exact volumes, with the perfect ingredients and exclusively for you. This is the approach behind custom backend – you get a product developed with your needs as first priority. Of course, the price is higher, and you have to wait for the pizza to be prepared, but the taste is worth it.
MBaaS solutions are good for beginner applications without big traffic and with no heavy features. They can be great options when you are facing a deadline or have a low budget. Mobile backend as a service is a popular tool for MVPs, but when products start to grow, we highly recommend you switch to custom backend, which delivers greater scalability and minimizes possible security and reliability issues.