Not too long ago, we touched on Mobile Backend Challenges. We closed with how Amazon, Google, and Microsoft among others, are all thinking about your backend. Old, new, custom-designed, it doesn’t matter. They’ve invested millions, even billions, of dollars to create a comfortable place for your backend in the cloud with their Mobile Backend as a Service (MBaaS) packages.
First, for those unfamiliar, what is an MBaaS? Drawing the technical definition from Technopedia, “Backend as a service (BaaS) is a cloud computing service model that serves as the middleware that provides developers with ways to connect their Web and mobile applications to cloud services via application programming interfaces (API) and software developers’ kits (SDK).”
There’s no reason to be sensitive about your backend. If you’re maintaining your own servers the costs could be weighing you down, seriously hurting your bottom line. Not to make this a Huggies commercial, and we take backend development very seriously – but the topic is ripe for a bit of levity. Some MBaaS packages are nearly one-size-fits-all solutions. While very elastic, some will fit better than others – if not on features, then on price; if not on easy out-of-the-box setup then on extreme flexibility with custom development.
Parse (or Rinse)
Founded in 2011, Parse is popularly considered the first company to introduce “Mobile Backend as a Service.” Founded by employees from Google and Y-Combinator in 2011, it gave developers tools to use the cloud for data storage, identity authentication, push notifications, and eventually to run custom code. Facebook acquired Parse for $85 million in 2013. At its peak, it supported about 600,000 apps. Facebook closed Parse in 2017, making it available as an Open Source Platform. We still get some customers who reference it. There are better options available today.
Many other companies looking to get in on the MBaaS action launched, got funded and were surreptitiously acquired. Firebase, also formed in 2011, raised $7 million in Seed and Series A funding led by Flybridge Capital and Union Square, with Y-Combinator contributing. Google acquired Firebase for an undisclosed amount in 2014. Similarly, Paypal acquired StackMob; Progress acquired Kinvey, and Microsoft acquired Xamarin to help beef up Azure. There are still dozens of other MBaaS solutions available – CloudMine, Heroku, Kubernetes, Nanobox, etc. While the market has matured, the longevity of any service you select still deserves consideration.
Parsing “as a Service”
No, not PaaS, that’s Platform as a Service. There are many types of “aaS’s” out there. At a glance, many of them look the same, even sound the same:
- Backend as a Service (BaaS) – Middleware
- Blockchain as a Service (BaaS) – Encryption
- Mobile Backend as a Service (MBaaS) – Middleware for mobile apps
- Infrastructure as a Service (IaaS) – Hardware
- Platform as a Service (Paas) – Development Tools
- Software as a Service (SaaS) – Computer programs and apps hosted in the cloud.
- Anything as a Service (XaaS) – a catch-all term for the chaotic, disruptive and continuous evolution of technology as a business and monetization model
That some of these can be and are used interchangeably by tech companies is a matter of convergence. Convergence is exemplified by our smartphones having the capabilities of a telephone, computer, television, smart home controller, camera and video recorder. So, while the technical lines may blur, the four options we are about to examine are each more than capable of serving as a BaaS and MBaaS.
Four MBaaS Options
Today, there are dozens of MBaaS options and each of them offers from one to twelve dozen different services. TL;DR! We regularly work with three of the top five MBaaS services as measured by market share:
- Amazon Web Services (32%)
- Azure (12%)
- Google’s Firebase (7%)
We also keep our eye on the market and are happy to suggest others that capture our attention, like Realm.io. We’ll keep our summary of each of these to their core value proposition and why you might prefer one over another for parking your backend.
We like Realm.io for its real-time data synchronization that is especially useful for offline-first iOS and Android apps. An offline-first app is one that stores its data and content on the end-user’s device. It does not need an internet or WiFi connection for all of its features and functions to work. Updates are made when the device re-establishes its connection. Realm is not the only service of its kind, but it is easy to use, can be hosted on the cloud or on your own server. It doesn’t require a lot of custom development.
Realm started in Denmark as Tightdb. Tying into our recent examination of San Francisco Startup Accelerators, Realm has raised $30 million in funding with Y-Combinator and Andreessen Horowitz as two of its several backers. Presently, it supports over 100,000 developers.
Android apps are often written in Java and make use of Android or Java SDK’s, typically using Android Studio. But, Firebase also works for iOS and web applications, too. Their customer support is fast and efficient. They helped Nintendo radically ramp up to accommodate 50-times more users than they anticipated on the release of Pokemon Go, practically within hours. The Device Lab offers virtual and physical device testing, allowing a limited number per day with their free and budget accounts. Un Firebase’s top package, however, charges by device per hour, rounded to the nearest minute.
Firebase tends to be less expensive than Amazon Web Service with an easier, simpler pricing structure. The Flame package is only $25 monthly with a variety of service caps loosely based on a capacity of 100k simultaneous users. Businesses requiring greater capacity are offered a “pay as you go” plan with usage fees rounded down to the minute. Firebase is fairly flexible, fast to start with and easy to use. However, Firebase by itself is not the best solution for applications requiring a full-feature backend service for modifying synchronized data. But, in that case, you can use Google Cloud Platform for virtual machines, containers, to host your applications and most other requirements. I suppose that all of this falling under Alphabet, we could call it “A-ZaaS.”
Microsoft’s Azure and Xamarin
Azure is the choice for developers who prefer .NET stack and technologies from Microsoft. Azure together with Xamarin covers all your “aaS’s” – providing a Backend, Mobile Backend, Infrastructure, Platform, Software, and even Blockchain as a Service. Azure Mobile Service provides all of the functionality needed for authentication, push notifications, data synching and more. With it you can build, test, deploy and manage mobile and web apps.
Xamarin works on a .NET tech stack using a C#-shared codebase to write and share code across multiple platforms. It can be used for native, Android, iOS and Windows apps using Microsoft Visual Studio (for Windows) or Xamarin Studio (with Macs). One special attraction of this combo is that Xamarin Functions make it easier than its competitors in connecting apps with other apps – like Excel, Office 365 and SalesForce. This gives extra clout to developers who claim that Azare and Xamarin can do just about anything.
Azure Functions pricing is clearly laid out as a simple but lengthy formula. To make a long story short, using their example, a function using 512 Mb that executes 3 million times per month at one second each would cost about $18. That includes 400,000 free Gb-seconds that you get each month.
Amazon Web Services (AWS)
Amazon continuously improves while it aggressively expands. AWS is no different. Some will argue that AWS is not an authentic MBaaS. For technical accuracy, we’ll call it “Kitchen Sink as a Service” or KSaaS for having over 140 associated services. In August of 2017, it had less than a hundred.
Core services associated with AWS Mobile Hub include Amazon’s Cognito, Cognito Synch and DynamoDB, Lambda, Amazon API Gateway, Analytics, and Simple Notification Service.
The AWS Mobile Hub lets developers select the services they need for their app without having to set up each individually. While AWS was known for being far more complex than many other out of the box MBaaS solutions, it is getting much easier. Though it is an extra service, the AWS Device Farm, an application testing service is one of our favorites. It allows devs to test and interact with Android, iOS and web applications on 355 devices, concurrently!
Amazon’s impressive collection of case studies makes a very compelling case for seriously considering AWS for your backend requirements. Reinvently, in conjunction with Squadex, is an Amazon Web Services certified APN consulting partner. Our experience with DevOps and Big Data powered by AWS products ensures we are experts at design, architecting, migration and scaling the right back-end systems for your mobile products.
What’s the Best Mobile Backend as a Service?
In general terms, this is a hard question to answer. They are all getting easier. They all offer huge cost savings compared to growing and maintaining your own backend. The variance in their pricing is more of a relative or fractional issue than an exponential one. Many of these services offer inexpensive or free low-tier packages – a true godsend for startups never having to even consider hosting their own servers. They’re elastic – scaling up or down practically in real-time according to your immediate needs.
If you really want to go Cross-Platform, we’d probably vote for Azure. If you’re going “offline-first,” Realm.io is promising. If you want an easy implementation of all that is Google, you’re on a tight budget, or you want per-minute pricing, then Google’s the answer. And, finally, if long-term reliability, continuous expansion, and improvement are what you want, we believe AWS will ultimately be the best option of all in the long-term – for all types of apps.
Not all of these are easy to use with out-of-the-box options. But this is a very competitive market and all of the major players are aggressively doing their best to be the most attractive option. That Amazon’s added 40 additional services in less than a year is one demonstration of that, suffice that more is not always better.
MBaaS Costs Not the Determining Factor
Determining costs on AWS requires more effort than any of the other options. As Peter Wayner concludes in Serverless in the Cloud: AWS vs. Google Cloud vs. Microsoft Azure – comparing costs for your app across all three services effectively requires building your app out across all three. Everything considered all BaaS/MBaaS options are far less expensive than owning and managing your own servers. More likely, your choice will depend upon comparing features and performance for the main functions of your app. Cost shouldn’t be your driver.
Even so, all of the Major “XaaS” providers are competing with one another – to add more features, services, and ease of use. Not only are Google, Amazon, and Microsoft thinking about your backend requirements, but they’re also watching each other’s backend features and services, too – while trying to claim they have the best Backend as a Service.
Your Developer and Designer is More Important
Fundamentally though, the MBaaS or other “aaS” you choose is not nearly as important as who develops and designs your mobile app and the backend that goes with it. Continuous iteration by a good developer can offset nearly any advantage one “aaS” may have over another. Good developers can integrate AWS services on Firebase and vice versa. They can also add additional capabilities with a custom-designed backend.
The most important part of your backend is who works on it.
Is your app is already set up, running and using AWS, Firebase or Azure? If so, you want someone with corresponding experience to maintain it and develop your app further.
Is your app still just an idea or in the early stages of development? The same holds true. You want someone capable of a solid recommendation for your Mobile Backend as a Service. Their recommendation should be based upon experience relative to your intended feature-sets, connectivity, external app integration, and end-user requirements.
Tell us about your backend requirements or to find out more about which MBaaS would work best for your new app idea.