READ THIS FIRST
Update: 3-4-2016: If you're finding this blog and looking for information related to Azure Mobile Services, I'd strongly recommend checking out Azure Mobile Apps. Azure Mobile Apps is a new version (consider it a v2) of Azure's mobile backend support. All of the same features of Azure Mobile Services are there, with a lot of other very cool features to go along. You can read more about Azure Mobile Apps, and how to transition from Azure Mobile Services, here.I’m extremely excited today because we just launched the first version of Windows Azure Mobile Services. Mobile Services is a new offering from Windows Azure which is designed to help you get a backend up and running for your mobile apps in the blink of an eye (ok more like 3 or 4 blinks, but super fast). Out of the box, it has support for Windows 8, but as you can see if you take a look at the first slide on the Mobile Services home page, support for iOS, Android, and Windows Phone is in the pipeline. I’ll be posting a lot more information about Mobile Services in the near future, but let’s go over the basics.
What is it?
Mobile services is a new backend as a service offering built off of the power of Windows Azure. This means it is ideal for mobile application development because there is very minimal work you HAVE to do on the backend to get things running. Once you’ve created a mobile service, you create new database tables (you don’t have to specify columns or data types, just table names). From there, you can start making HTTP calls to your backend and inserting data (it’s nearly as easy as saying “insert X, Y, Z into table A”. Mobile Services will figure out the schema for you! Out of the box you’ll also be able to use authentication with Microsoft (Live) accounts. Finally, push notifications work out of the box so you can communicate from your Mobile Services backend with your apps.
Is that all?
No, not even remotely. In addition to having a dynamic schema on the backend, you’re able to write server side scripts. You can think of this as a sort of code injection. You’re able to execute (server side javascript) code on any sort of table access (insert, update, delete, and reads). These scripts could do things like validate data, alter queries (i.e. ensure you’re only selecting rows the calling user has access to), send a push notification to anyone affected by the data update, and many other things.
What about that scaling stuff?
Let’s say you make a new app today and then in a month, it blows up Gangnam style, what do you do? Thankfully, it’s as easy as going to the Windows Azure portal, opening your Mobile Service, going to Scale, and sliding a slider to increase the number of shared instances or to upgrade to a reserved instance. Now, when you sign up, the services you create are shared instances and are free. When you scale up, that will start accruing a cost. However, you can get a fair amount of use out of the free instance. In addition, you get 10 free instances. That’s a lot of room to play around with different mobile apps.
But what does this have to do with iOS and Android?
Well, as I said above, as part of the announcement, the Mobile Services team has said that iOS, Android, and Windows Phone support is coming soon. However, that doesn’t mean you can’t use it right now! All of the calls to Mobile Services are HTTP based and send JSON across the wire. These are two things that both iOS and Android are more than capable of. So, while there may not be an official SDK and only Microsoft account authentication and Windows 8 push notifications are available today, there are still some tremendous capabilities you can take advantage of in the data arena. Over the next few weeks, I’ll be posting more samples on how you can do this.
How do I try this out?
You can try out mobile services (whether you want to make a Windows 8 app or figure out how to connect iOS or Android) right now. Sign up for a free three month Windows Azure trial here and then request access to the Mobile Services preview feature. If you start playing with Mobile Services, I’d love to hear from you. Whether it’s questions about how to do something or a story about an app you’ve built.
Let’s go to the video
There is a great video up on Channel 9 of Scott Guthrie demonstrating Windows Azure Mobile Services. Here it is if you’d like to watch.