Azure Mobile Services Can Save You A Ton of Money
Azure Mobile Services is a powerful tool in the Windows Azure stack which I feel tends to be misunderstood. I stumbled upon it by accident while I was looking for something to help with handling data for a mobile application. In talking with people and speaking about the topic, I find that most people are under the same impression as I was in the beginning. With this article I will share all the benefits of using Mobile Services as well as shedding some light on some of the other applications that could use it.
One Service to Rule Them All
Mobile Services is Microsoft’s attempt to create a one-stop-shop to handle all of your backend needs for connected applications. That’s a mouthful, but what does that mean for you? In short, it allows you to create a central backend location for current and future applications. No one builds an app in hopes that it will never succeed and only stay on a single platform. The goal is always to expand and grow and Azure Mobile Services enables this.
Reason #1 – Focus on your Target Audience
Mobile Services allows you to focus on your target audience, say iPhone users and build your application and focus on marketing for that platform. Then, as your application grows and the need to expand arises, you can then shift and build the application for a different platform. If you plan for Android or Windows Phone you can still point these to the same Azure Mobile Services project and maintain all of the backend work that was present for the original iPhone app.
Reason #2 – Keeping the End-Users Happy Regardless of Device
Suppose your application is popular and your app is on iPhone, Android, and Windows Phone platforms. If a user of your app had the application on one platform and then decides to move to a different one, by using Azure Mobile Services you would allow that user to download the app for their new device, log in and all of their existing data would be present in the new app, making them a very happy user and sure to spread the word!
What about the user’s data? With Azure Mobile Services you get also get a SQL database to store the data. This is structured data, in a central location that can be accessed by many different methods. This allows you to point multiple platform versions of your application to the same data source. You also can handle your CRUD operations from within the Azure Mobile Service as well, instead of from the application level.
Your Data – keeping it all in tact
By maintaining the application CRUD operations at the backend, you to have a single point of change, versus the multiple front end applications. Also, when you make a change it goes live as soon as you click save instead of being forced to create an application update, going back through the verification process, waiting for the application to be downloaded and updated by the user. This gives you the control of these actions.
Authentication – making it easy
Let’s talk about authentication. Once you have an application created, you should to address the need to allow the user to only see their data and no else’s. You could definitely design and build that into your application, but why? Why spend time, money and effort in building something someone else already has built? Azure Mobile Services allows you to leverage authentication for several different services.
Built-in you have access for: Microsoft Account, Facebook, Twitter, Google and Azure Active Directory. By supplying a couple of key values within the Azure Mobile Service and then by adding a few lines of code (and by a few I mean less than 5) you can add authentication to your app. Thus saving a ton of development time, and if you are a business owner or IT manager - a ton of money.
It allows user to log into your application on one device and save his data. Then on a completely different device he can again log into your application and work with his data. No more anchoring them to a single device. Again you will have a happy user who is sure to spread the word about your great application.
How does this help you?
What about sending notifications to the user? That’s where “push” notifications come in and they are built into your access to Windows (works for both Windows Phone and Windows 8), Apple, and Google. Similar to how authentication works, you simply need to enter some key information within the Azure Mobile Service account and then add some lines of code, and you can start sending push notifications to your user.
Push Notifications – even easier
By using these built-in features, you can again focus on the core functionality of your application. You do not have to create the code to contact the specific service, request a channel to send through, write all the code involved in sending the push notification. For a windows application, there is now a wizard you can walk through, and the little bit of code that does have to be written, will be generated for you and it will insert all the key values within your Azure Mobile Service account.
Within your Azure Mobile Service account, you access to an item called the scheduler. And it does exactly what it describes. You can create specific actions to fire off on a set schedule. These could be used for several items such as data clean up, sending out push notifications or sending out RSS data if that is what your application does. The possibilities are endless in this area based on your application’s purpose. Again, with this feature you don’t have to spend time building a mechanism to do this for you. It’s there already and all you have to do is take advantage of it.
Scheduler – automation is key
Let’s talk briefly about the name. This is where, in my experience, most of the confusion comes into play on this topic. Most people hear the name ‘Mobile Services’ and immediately a cellular phone comes to mind. Azure Mobile Services can be used by so much more. The hot key phrase these days seems to be ‘Internet of Things’. Basically, it’s everyday ‘Things’ that are connected to the internet. And these ‘Things’ could all use Azure Mobile Services. Anything that has access to the internet can take advantage of Azure Mobile Services.
What’s In A Name?
You could manufacture internet ready refrigerators that allow the user to enter items that need to be picked up from the store. The backend of this refrigerator could be using Azure Mobile Services to store the user’s data. Then you could have an application they could install on their phone that allow them to log in and see the shopping list while they are at the store. This allows you to have different applications on different devices all pointed to the same Azure Mobile Service account that gives the user a wonderful experience.
This a just a quick high level overview of some of the advantages of using Azure Mobile Services. There are new features constantly being added to allow further integration and greater use in this area. Hopefully I’ve shared something that has sparked your interest and you would like to know more about this great option within Microsoft Azure.
For those of the more technical persuasion keep an eye out for a running series where I go into more detail on the different features currently being offered within Azure Mobile Services. If anyone found this information useful or has any questions concerning Azure Mobile Services let me know below or connect with me on Twitter, I’d love to chat!