When you’re building an app, why build and maintain your own server-side data management systems, storage, and operations when someone else can do it for you? Why get bogged down in the boring bits when you can do all the fun stuff, the client side programming, and leave the rest up to someone (or something) else? Or, if you’re the brains of the operation, why get backend or full stack developers on board when all you really need is front end devs?

Enter: Backend-as-a-Service.

Backend-as-a-Service, or BaaS, has become increasingly popular over the past few years, mainly due to the rise of mobile app programming. Known in its niche as mBaaS (Mobile Backend-as-a-Service), it provides a distributed, extendable, predictable, and scalable backend, without the need to get in there and do it yourself.

BaaS allows you to build your mobile apps faster, with fewer developers, manage your app operations easily, and be prepared to scale if your app takes off.

[See Also: SDN Interface to Microsoft Skype for Business]

The Mobile App Landscape and Its Puzzles

Things to think about:

  • Apps these days are multiplatform, which means that app developers don’t want to build a backend twice – once for iOS and once for Android. They also don’t want to replicate business services in each app itself client side – this should be moved to the backend, too.
  • Each app takes in data from a number of sensors, and do we want to be processing the data server side or client side?
  • We want our apps to be as responsive as possible.
  • Apps should work in real time.
  • We need our apps to be connected to networks and the cloud at all times. We expect to be able to send and
    receive large amounts of API requests, including both logic and analytics, as well as video, audio, and pictures.
  • Push notifications are key to many apps, and they’re growing.
  • Apps should have storage in the cloud, and across different apps.
  • Users expect single logins across multiple apps.

So how do we build backends to support all these functions within our apps? Well, sometimes, we don’t. We let someone else do it for us.

What Is Apache Usergrid?

Usergrid is Apache’s answer to Backend-as-a-Service, designed specifically for mobile. It’s Cassandra-based, and operations are exposed via a RESTful API, using JSON over HTTP. It’s your database and operations in one. You can either deploy with Rackspace, AWS, etc., or run it on your own infrastructure.

In the words of Usergrid, “It provides elementary services (user registration & management, data storage, file storage, queues) and retrieval features (full-text search, geolocation search, joins) to power common app features.”

[See Also: Continuous Analytics: Why You Must Consider It]

What’s kickass about Usergrid?

  • It’s designed for mobile.
  • It’s open source.
  • Completely distributed.
  • Highly scalable.
  • You can deploy it on your own servers if you want to.
  • Uses JSON.
  • SDKs for Android, iOS, Node.js, Raby, Rails, HTML5/JS, .NET/Windows, Java, PHP, Perl.
  • You can use the same backend with multiple apps if you choose – i.e. multi-tenant capable.
  • Features include a significant emphasis on social, including entity relationships and activity streams, complex user management, geolocation, and push notifications.

Of course, there are alternatives to Usergrid, such as Firebase, from Google, or Kumulos. They’re beyond the scope of this article, but they’re definitely worth checking out and stacking up if you’re interested.

Thoughts to Ponder

Before you dive in with Apache’s Usergrid, or any other mBaaS service, you’ll need to crunch things over in your head. Specifically, think about:

  • How much will it cost me per month? Is the cost within my budget? How much revenue do you expect to be making from the app? Will it cover it? Etc.
  • What unique functionalities do I have within my app and are they covered by the platform?
  • What support does the platform supply?

BaaS is ideal for apps in the right circumstances. So jump in and see if it’s right for your next project.




Everything you need to know about outsourcing technology development
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.

Introduction Package


Zymr blogger


Leave a Reply