Using Azure as the Back-end of your Mobile App

When building a mobile app chances are you’ll need some sort of server in the back-end to manage security, data, and likely to integrate with another system. We see a lot of potential in using Windows Azure for this purpose.

What is Windows Azure?

Azure is Microsoft’s answer to the cloud. It’s a scalable, pay-as-you-go service that developers can connect their apps to in order to provide a robust back-end without having to buy hardware and manage back-end infrastructure. And the best part? In addition to supporting Windows Phone, it supports iOS and Android enabling you to create a platform agnostic back-end.

windows-azure-mobile-services Using Azure as the Back-end of your Mobile App

A conceptual diagram of Windows Azure Mobile Services.

 

What can you do with Azure?

As illustrated in the diagram above, Azure provides a flexible back-end that can be used to build in some very common requirements. By using Azure (or similar services), developers can quickly produce a prototype that has the ability to scale to a production system – without having the upfront investment typically required for hardware.

Security

Azure offers the three levels of security required by most apps: Authentication, Authorization, and Encryption. This essentially covers the requirement of having a mobile user log onto the system, access only data they’re allowed to access, and have that data encrypted along the way.

Notifications

Azure has a robust notification service built in through their partnerships with SendGrid (for email) and Twilio (for SMS). By partnering with these two providers, Azure gives developers a single platform to access both. If you’re looking to build an app that requires push notifications, email, and SMS, a back-end like Azure will be required to support it.

Scalability

One of the major promises of “the cloud” is scalability. By building on the platforms provided by vendors like Microsoft’s Azure, Amazon’s AWS, and Google’s Cloud Platform, your app can be designed to grow with your needs. The pay-as-you-go or usage-based models means that upfront investment is minimized and you only pay for what you use.

Data Sync

Not clearly mentioned in the diagram above, but a very important aspect of Azure, is the built in data synchronization frameworks – Microsoft Sync Framework Toolkit which supports Windows Phone, iOS, and Android. This framework will make it easier for developers to create an interface between the mobile app and the database through a REST/JSON based API. The sync framework then will then perform synchronization over OData to make it easier to keep both the mobile device’s storage and the back-end’s in sync. iOS has a built in solution to this called iCloud; however, iCloud is iOS only so if you’re planning on building a multi-platform solution, iCloud may not be worth the time.

Microsoft has a great video on using Azure as the back-end of your mobile app. It is a must-see for anyone considering Azure and wanting to know its capabilities.

Image credit: MSDN