In my previous post, I discussed several different types of cloud services and how they can help you run your app business. Today I’m going to introduce a new type of cloud service: Backend as a Service, or BaaS. In my opinion, this segment has the most immediate value to mobile developers, particularly for small entrepreneurial mobile development shops and SMEs looking to move their online presence to mobile.
What is Backend as a Service (BaaS)?
BaaS, sometimes called MBaaS (Mobile Backend as a Service), is a cloud computing category designed to make it easier for mobile app developers to build and maintain cloud-based apps across multiple platforms. BaaS is a mix between PaaS and SaaS. Kinvey, a leading BaaS provider, offers up a great BaaS Ecosystem Map that illustrates just how complex this cloud services space can be.
Virtually all mobile applications use some backend service (a notable exception might be a single-user/non-social game). BaaS solutions offer developers a single API that gives them access to most of the messy backend services they need without having to hire a backend development team to design, build and maintain it (likely on a PaaS). This frees up time and resources to focus on the core user experience of the mobile app.
So, what do you get when you start using a BaaS? The providers all differ, but typically you get services such as:
- Data Storage
- Search & Retrieval
- User Management
- Push Notifications
- Social Network Integration
Developers could leverage each mobile platform’s native APIs for all these services, and many do. The advantage of BaaS solutions, however, is that developers can use a single API for each of these common services across all mobile platforms. This does mean you’re making a commitment to a single-vendor API, but the advantage of a single, cross-platform, backend code base (without requiring any backend developers!) is very attractive.
There are many BaaS companies, but here is a list of the ones with which I am most familiar, ranked alphabetically. I often see these companies at developer conferences and hack-a-thons.
- Cloudant – Cloudant considers itself more of a “Database as a Service.” Their solution focuses on your data and they are good at managing unstructured, noSQL data as JSON documents. Cloudant offers both dedicated and multi-tenant pricing. BlackBerry developers access Cloudant’s APIs via standard HTTP requests. Learn more here. Their entry level multi-tenant pricing is $1.00 per GB per month, plus small fees for hundreds of HTTP requests. The first month is free, and bills under $5.00 are always free.
- Cloudbase.io – Cloudbase.io offers many standard BaaS features, and their database allows for complex queries and data aggregation operations. The enterprise edition of Cloudbase.io can be deployed on-premise and integrates with BES 10, and uses the BES server, if available, for push notifications and authentication. Learn more about their BlackBerry 10 solution here. Cloudbase.io for BlackBerry is available in open source on Github here. Entry level pricing for Cloudbase.io starts at $11.99 per month for 1GB of data transfer and unlimited storage. Pricing tiers are based on data transferred per month.
- Kinvey – Kinvey offers a wide range of BaaS cloud solutions designed specifically for mobilizing enterprise applications. Kinvey’s Data Link technology allows companies to securely mobilize its on-premise or cloud data store through the Kinvey platform and connect with existing systems to any native, hybrid, or web client. At the time of this posting, a native BlackBerry 10 SDK is in development. BlackBerry developers can access Kinvey via their HTML5 platform offering here. Kinvey’s pricing tiers are per user. They offer a $0 entry level for 1-100 users, and a $20 per month level for 100-1000 users.
Choosing the BaaS that’s Right for You
Some enterprises decide to take the “Non-Cloud” approach to avoid potential security issues with storing corporate data on external servers. To address this, many cloud services providers are offering “hybrid” cloud solutions that enable enterprises to host the data either on their own servers on-premises (the most secure option) or to host the data on dedicated servers in the cloud not used by any other company. As you compare and contrast services, choose the service with the security provisions that are right for your business.
For further reading on feature-by-feature comparisons between BaaS solutions, check out Cory Wiles’ KitchenSync Github project. In true Github spirit, Cory welcomes contributions, additional tests and additional BaaS solutions added to the project.
BaaS (Backend as a Service) is a specific cloud services category that helps mobile developers create rich, cross-platform applications very quickly by providing a single consistent API for handling many of the common, heavy-lifting backend tasks most mobile apps require. In a future blog post, I’ll dive deeper to explore a particular BaaS solution and demonstrate how to build a secure BlackBerry 10 application that leverages rich cloud and backend services through a BaaS platform. In the meantime, let us know if you’re using a BaaS solution in the comments below!