How To Choose The Best Mobile Backend As A Service (MBaaS)?
Are you an entrepreneur building a mobile app as part of your offering? You need a quick time-to-market for your mobile app, and you need to use an ‘Mobile Backend As A Service’ (MBaaS). In this article, I will explain how to choose the best Mobile Backend As A Service (MBaaS).
However, before that, I remind you of what the late management guru Peter F Drucker had said about business: “Because the purpose of business is to create a customer, the business enterprise has two–and only two–basic functions: marketing and innovation.
Marketing and innovation produce results; all the rest are costs. Marketing is the distinguishing, unique function of the business.” Read about Drucker’s view in “Peter Drucker On Marketing”. We will revisit Drucker’s view on marketing later.
What is an MBaaS?
A mobile app will use the following backend resources:
- Social network APIs;
- Various other APIs as the nature of the app dictates.
Imagine a scenario where you and other entrepreneurs repeatedly spend time in developing backend programs to consume these resources. Also factor in the time required to configure server, networking and similar resources every time from scratch for your mobile app.
You will lose valuable time, and your competitors will race ahead of you, for they aren’t spending that backend development time. Your competitors will gain the ‘Fast Mover advantage’.
An MBaaS saves you this backend development time, so you can focus on your frontend UI/UX, and your business logic. It’s a ready-made infrastructure on the Cloud, which enables you and similar entrepreneurs and developers to access backend resources. Read more about MBaaS in “What, When and Why MBaaS?”.
An MBaaS gives you ready access to Cloud storage, various APIs, and other mobile resources. Your mobile app just needs to consume these and deliver the value to your customers via a front-end. You don’t forfeit the ‘Fast Mover Advantage’.
Benefits of an MBaaS
To understand why an MBaaS matters, you need to understand the paradigm shift mobile apps have brought in. Remember what Drucker had said about the importance of marketing?
It’s the marketing of your business that mobile apps have changed forever. If you are launching a business trying to sell to customers all over the world, earlier you couldn’t compete without a website. While you still need a website, for such a business you can no longer market your product or service now if you don’t have a mobile app.
Businesses understand it and are racing against time to market their products or services through their mobile app. Read about it in “Marketing Through The Small Screen: The Growing Shift to Mobile App Culture”.
It’s an absolute priority for you to launch your mobile app fast, and the app must function to a satisfactory level. However, working on your mobile backend infrastructure from the ground up is a nightmare, and you will certainly experience a delay in launching your mobile app.
Benefits of an MBaaS lies in simplifying this backend development for you. For e.g.:
- If you were to work your backend from ground-up, you would need to integrate multiple proprietary systems. Data formats are of varied range, and the volume is high, and you need to manage this. An MBaaS does all of these for you.
- Now consider the range of mobile platforms and various devices that your mobile app must work on seamlessly. You can see the complexity. An MBaaS takes care of it for you.
- You can leave your user management to MBaaS.
- Storage of persistent data is another area where an MBaaS does all the heavy-lifting, so you don’t have to.
- You don’t have code push notification services, your MBaaS will take care of it.
- Your MBaaS also takes care providing geolocation according to the need of your business.
- An MBaaS takes care of the entire API management and your app only consumes services. You don’t need to code integrations at your end. This is a significant advantage, since it saves precious time for your programmers.
- Modern mobile apps rely heavily on the microservices architecture. In this architectural approach allows building smaller programs for different services instead of a giant program. This helps because typically different services have different demand profile. The microservices architecture enables scaling for different services. Read about the benefit of this architectural approach in “Large Enterprise Java Projects Architecture”. An MBaaS uses the microservices architecture, and you can reap its’ benefits if you use an MBaaS.
- For start-ups, creating dedicated infrastructure for their mobile app is hard. An MBaaS with its’ Cloud-based model removes this hurdle for them.
You surely can build all of these yourself. However, doing so diverts your focus away from delivering value to your global customers. An MBaaS frees you up for your crucial front-end design and development.
Remember that your mobile developers also enjoy working on the front-end, due to the enormous creative potential it offers. Hence, you will also have a happy and productive team when you let an MBaaS provider take care of your mobile app backend. Read more about the advantages of MBaaS in “The benefits of MBaaS and a mobile app architecture”.
How to choose among Mobile Backend As A Service providers?
You need to check for the following when you choose an MBaaS provider for your mobile app:
- Ease of use is the most important.
- The provider must securely store the server-side code, files, databases etc. on the Cloud.
- It should provide a well-tested architecture for database and transaction processing capabilities required for a mobile app.
- Your provider must provide you with APIs to connect your app to the various cloud services you need.
- Ease of backend data management is important. The provider should provide the right processes, methods, and tools (PM&T) for this.
- Communication between users and servers should be secured.
- Excellent technical support is a must.
- Doing business with the provider must be easy!
Before I start an exercise to compare providers, it’s important to note that Parse had been a leader in the MBaaS space. Several MBaaS providers took their inspiration from it, however, the company closed in 2017.
Google acquired Firebase in 2014 and effectively made an entry into the growing MBaaS space with it. There are three categories into which we can categorize the features are Firebase, and these are ‘Develop’, ‘Grow’, and ‘Earn’.
The ‘Develop’ category offers the following:
- A database on the Cloud that you can set up quickly.
- Authentication services using OAuth, Google, Facebook. There is a provision for custom services also.
- Cloud messaging including notification services.
- Petabyte-scale storage.
- High-quality hosting including ‘Content Delivery Network’ (CDN).
- Testing tools and environment.
- Crash reporting features.
The ‘Grow’ category features help you analyze your user interactions, so you can grow your user engagement. These are as follows:
- Analytics tailored to mobile and built on Google Analytics.
- Analytics for notification campaigns.
- Indexing of your app.
- Enables dynamic linking.
The ‘Earn’, i.e. the third category, is for advertising.
There is a free tier, which can be good news for you if you are starting small with your app. Check out their pricing on the Firebase website.
Apple released it in 2015, and if you are looking for an iOS backend as a service, this is the one for you. It’s easy to integrate with other iOS apps when you use CloudKit.
The following services are included:
Hire expert developers for your next project
1,200 top developers
us over the last 3 years
- User authentication.
- Databases: public, private, and shared.
- Storage services for your app assets.
- Scaling at the server-side.
- Automatic syncing with Apple platforms.
- Sharing of data.
There is a free tier, and you start to incur charges only beyond a threshold. The CloudKit dashboard lets you review the server activities of your app. It also enables you to monitor trends and measure parameters like user engagement and bandwidth usage.
CloudKit is very good when you are building simple apps. Check out the Apple CloudKit website for more details.
There are a few disadvantages with CloudKit, as follows:
- It provides no features to implement server-side logic.
- Users must sign-in to iCloud to save data.
- Developers need to run application-specific logic in the client side, which is a sub-optimal architectural approach.
- It supports iOS apps only.
Read more about the pros and cons of CloudKit in “How To Choose The Best Mobile Backend As A Service (MBaaS)”.
Gartner Magic Quadrant 2018 names Kinvey a “Visionary” among Mobile App Development Platforms (MADPs). Read more about it in this Progress web page.
Forrester Wave Enterprise Health Clouds report of Q3, 2017 ranks Kinvey at the top. Read more about it in this Progress web page.
Kinvey provides a broad set of features, as follows:
- Enterprise data mobilization: you can integrate easily with Enterprise or SaaS data stores.
- Many cloud-native services, ready-made solutions, and app templates help your development team to increase their productivity.
- Security and compliance position of Kinvey is very strong. Your GDPR and HIPAA compliance will be easy with it. The platform supports data encryption at the client, in-transit, and at rest.
- Robust cloud infrastructure.
- The platform boasts of rich operational intelligence and Analytics.
- You can use Kinvey ‘Software Development Kit’ (SDK) or other developments tools, and build native, hybrid, web, and ‘Internet of Things’ (IoT) apps.
You have access to a set of comprehensive learning resources, which makes it easy to get started. Read more about Kinvey on their website.
Amazon Web Services for mobile
AWS MBaaS provides a wide set of services, as follows:
- Starter kits for developers to quickly start with their app.
- Provides multiple platform options, namely, iOS, Android, Web JS, and React Native.
- You can automate your DevOps pipeline to build, test, and deploy.
- Analytics to measure your user engagement.
- Email, SMS, and push notification integration.
- Secure Multi-Factor Authentication (MFA).
- Databases powered by Amazon DynamoDB.
- Robust Cloud infrastructure, where Amazon is a recognized leader. The infrastructure is highly scalable, and it includes CDN.
- Storage services.
- Deep learning.
- Amazon Pinpoint helps in comprehensive testing including ‘A/B Testing’.
AWS MBaaS isn’t easy to use, which is a disadvantage. They have a free tier. Read the AWS MBaaS website for more details.
SashiDo uses the Parse open-source code. A key advantage of this MBaaS platform is that many developers were highly loyal to Parse, and they find SashiDo very familiar and easy to use.
It contains all the features that Parse had offered. Additionally, it offers the following:
- Cloud Code.
- Background jobs.
- Hosting NodeJS applications.
- Database optimization.
- Push Notifications.
The company has an excellent customer support team, which is a great advantage. There’s no free tier, and the free trial period is for 14-days only.
However, I believe that the excellent platform and superior customer service, coupled with their exciting future development plans far outweigh the lack of a free tier. Read more on the SashiDo website.
Kumolos is a great MBaaS for mobile app development companies! In fact, these companies are their target customers, and their services are oriented towards these app development companies.
Below are their generic MBaaS platform features:
- Push Notifications.
- Crash reporting.
- Robust cloud.
- Reporting and Analytics.
- App Store Optimization (ASO).
However, in line with their target customer segment, they provide the following additional services:
- Agency console: If you are a mobile app development company, you will find this very useful. All your different clients’ apps are available all in one place. In fact, when you are delivering your sales pitch to a prospective client, you can showcase your success stories right on the Cloud!
- Client portal: This is for your clients, i.e. for whom you have developed mobile apps. A Content Management System (CMS) is available so that your clients can do minor content updates themselves, without having to engage you. They also can see their device usage, user engagement analytics, etc. Remember that this user engagement analytics is for their users! The client portal has your branding, which serves as another sales tool for you to engage your existing customers.
So, how do you build the best backend for a mobile app by selecting a right provider? Your context plays an important part here.
If you are a mobile app agency, Kumolos is an obvious choice. On the other hand, if you or your team were heavily invested in Parse, SashiDo could be your bet. Again, if you want to feel comfortable by working with the market leader, Google Firebase is your choice. I recommend you analyze carefully the pros and cons before deciding on MBaaS and app development solution.