First things first. It´s important to understand AWS it is not a mBaaS, but a infrasctructure provider. These are two different concepts. The table below will help to understand the major differences.
There is no right or wrong for AWS or a mBaaS. It depends on the on the type of application being developed and I will detail below the pros and cons of each one.
BaaS –Backend as a Service Overview
The best way to understand the concept behind the BaaS is to visualize a bridge connecting the backend to the frontend of an application. BaaS help developers to accelerate software development and simplify API creation.Instead of coding the entire backend developer will use a BaaS to create theAPIs and link it to the applications. The table below provides a clear view and details the differences between severalcloud services.
Wikipedia does also provide a good overview of what is a backend as a service and please see further details on the link below:
The main player of this market is a Parse. They have more than 1 million applications hosted on their platform and more than 600K users. Parse was acquired byFacebook a few years ago, but early 2016 Facebook decided to shut down the platform in 2017. It will make millions of applications to migrate to alternative vendors. The list below provides a vendor overview:
Back4app: Help developers and companies to build and host Parse APIs for web, mobile and IoTApps. Site: www.back4app.com
Firebase – Firebase can power your app's backend, including data storage, user authentication,static hosting, and more. Focus on creating extraordinary user experiences.
Accengage - Provides mobile app engagement tech for push notifications, in-app messages and mobileretargeting.
Cloud Boust - Offers Storage, Search and Real-time capabilities for your apps. Its perfect forbuilding data-intensive applications and services.
BackAnd – Aplatform that allows you to create an AngularJS ready backend for your app. Itsreally good of you are working on AngularJS web apps and your data is stored onAmazon RDS.
RapidAPI - Abackend platform that allows for saving data and integrating APIs. It is basedon blocks so each basic action is represented by a block.
Stamplay - Build backend of apps in your browser without coding using APIs as Lego blocks. Itbrings together built-in features such as User management, social login, clouddata storage, database, automatica API generation, SDKs, cdn backed hosting,and integrations with any 3rd party API.
Please see below a Github link with a comprehensive list of BaaS to replace ( migrate ) Parse.
Why to use a BaaS?
Web and mobile applications demand analogous set of features on the backend. Forexample, e-mail notification, social network integrations, push notifications, cloud storage and etc. Each of these services has its own API that must be separately incorporated into an application. This is a time consuming practice, a process that can be time-consuming and complicated for applications and can be automatized with an BaaS. The main reasons a BaaS is used are highlighted below:
Development Cost – Software projects are usually very expensive and very time consuming. The main reason for it is because most of development is not automatized and it tailor made for each client. One of the main purposes of the BaaS is to automatize repetitive tasks andavoid allocating software engineers to do low value added activities. Doing so,less development hours are allocated on the project and the total project costis much lower. A cost from a software project can be reduced up to 80% using aBaaS.
Speed – Depending on the type ofapplication backend development can be speeded up to 4 times. It allow large companies to change morequickly to market needs (does not takes months to implement a change request)and startups to have their MVP – Minimum Viable Product ready faster.
Developer Experience – The learning curve to use a BaaS is usually very low and demands very few effort for adeveloper to use this type of platform. This means a front end developer or a mobile developer can build an entire software project alone without (for small projects)the intervention of a full time backend developer. For large projects, thebackend developer can focus their time on high value tasks instead of allocatingdevelopment time on repetitive activities.
The BaaS –Backend as a Service market it is growing very fast and it will reach US$ 30Billion in 2019. There will be over 25 million software developers by 2020. So,the BaaS becomes one of the hottest markets in tech and will support thefastest growing professional segment in the world. Developers will bespread out among 140 K startups, 230 K software development agencies and severalother segments of companies.
Advantages and Disadvantages
Vendors – The market is relatively matureand there are several vendors available for all types of needs. Please findbelow a couple of vendors.
Development Effort - A developercan save weeks in terms of backend development. Usually the back enddevelopment is a repetitive activity is quite monotonous for developers. BaaSvendors show as a real good alternative to speed up software development.
Monetization - Considering theeffort to create an application is much lower, the product MVP can be launchedfaster and start to generate revenue earlier. It is in special important forStartups!
Front End Development - Developers canfocus on front end development and adapt it in very fast way based on marketneeds.
Scalable – The totalquantity of user can grow very fast without downtime or performance decrease.
Security – Most of the BaaSvendors do provide real good security protocols.
Control – Developersusually like to have complete control over the source code and most BaaSrestrict access to the backend source code.
Disclaimer: I´mpart of Back4app team.