Announcing Windows Azure Mobile Services

I’m excited to announce a new capability we are adding to Windows Azure today: Windows Azure Mobile Services

Windows Azure Mobile Services makes it incredibly easy to connect a scalable cloud backend to your client and mobile applications.  It allows you to easily store structured data in the cloud that can span both devices and users, integrate it with user authentication, as well as send out updates to clients via push notifications.

Today’s release enables you to add these capabilities to any Windows 8 app in literally minutes, and provides a super productive way for you to quickly build out your app ideas.  We’ll also be adding support to enable these same scenarios for Windows Phone, iOS, and Android devices soon.

Read this getting started tutorial to walkthrough how you can build (in less than 5 minutes) a simple Windows 8 “Todo List” app that is cloud enabled using Windows Azure Mobile Services.  Or watch this video of me showing how to do it step by step.

Getting Started

If you don’t already have a Windows Azure account, you can sign up for a no-obligation Free Trial.  Once you are signed-up, click the “preview features” section under the “account” tab of the www.windowsazure.com website and enable your account to support the “Mobile Services” preview.   Instructions on how to enable this can be found here.

Once you have the mobile services preview enabled, log into the Windows Azure Portal, click the “New” button and choose the new “Mobile Services” icon to create your first mobile backend.  Once created, you’ll see a quick-start page like below with instructions on how to connect your mobile service to an existing Windows 8 client app you have already started working on, or how to create and connect a brand-new Windows 8 client app with it:

image

Read this getting started tutorial to walkthrough how you can build (in less than 5 minutes) a simple Windows 8 “Todo List” app  that stores data in Windows Azure.

Storing Data in the Cloud

Storing data in the cloud with Windows Azure Mobile Services is incredibly easy.  When you create a Windows Azure Mobile Service, we automatically associate it with a SQL Database inside Windows Azure.  The Windows Azure Mobile Service backend then provides built-in support for enabling remote apps to securely store and retrieve data from it (using secure REST end-points utilizing a JSON-based ODATA format) – without you having to write or deploy any custom server code.  Built-in management support is provided within the Windows Azure portal for creating new tables, browsing data, setting indexes, and controlling access permissions.

mobile-services-diagram

This makes it incredibly easy to connect client applications to the cloud, and enables client developers who don’t have a server-code background to be productive from the very beginning.  They can instead focus on building the client app experience, and leverage Windows Azure Mobile Services to provide the cloud backend services they require. 

Below is an example of client-side Windows 8 C#/XAML code that could be used to query data from a Windows Azure Mobile Service.  Client-side C# developers can write queries like this using LINQ and strongly typed POCO objects, which are then translated into HTTP REST queries that run against a Windows Azure Mobile Service.   Developers don’t have to write or deploy any custom server-side code in order to enable client-side code below to execute and asynchronously populate their client UI:

image

Because Mobile Services is part of Windows Azure, developers can later choose to augment or extend their initial solution and add custom server functionality and more advanced logic if they want.  This provides maximum flexibility, and enables developers to grow and extend their solutions to meet any needs.

User Authentication and Push Notifications

Windows Azure Mobile Services also make it incredibly easy to integrate user authentication/authorization and push notifications within your applications.  You can use these capabilities to enable authentication and fine grain access control permissions to the data you store in the cloud, as well as to trigger push notifications to users/devices when the data changes.  Windows Azure Mobile Services supports the concept of “server scripts” (small chunks of server-side script that executes in response to actions) that make it really easy to enable these scenarios.

Below are some tutorials that walkthrough common authentication/authorization/push scenarios you can do with Windows Azure Mobile Services and Windows 8 apps:

Manage and Monitor your Mobile Service

Just like with every other service in Windows Azure, you can monitor usage and metrics of your mobile service backend using the “Dashboard” tab within the Windows Azure Portal.

image

The dashboard tab provides a built-in monitoring view of the API calls, Bandwidth, and server CPU cycles of your Windows Azure Mobile Service.   You can also use the “Logs” tab within the portal to review error messages.  This makes it easy to monitor and track how your application is doing.

Scale Up as Your Business Grows

Windows Azure Mobile Services now allows every Windows Azure customer to create and run up to 10 Mobile Services in a free, shared/multi-tenant hosting environment (where your mobile backend will be one of multiple apps running on a shared set of server resources).  This provides an easy way to get started on projects at no cost beyond the database you connect your Windows Azure Mobile Service to (note: each Windows Azure free trial account also includes a 1GB SQL Database that you can use with any number of apps or Windows Azure Mobile Services).

If your client application becomes popular, you can click the “Scale” tab of your Mobile Service and switch from “Shared” to “Reserved” mode.  Doing so allows you to isolate your apps so that you are the only customer within a virtual machine.  This allows you to elastically scale the amount of resources your apps use – allowing you to scale-up (or scale-down) your capacity as your traffic grows:

image

With Windows Azure you pay for compute capacity on a per-hour basis – which allows you to scale up and down your resources to match only what you need.  This enables a super flexible model that is ideal for new mobile app scenarios, as well as startups who are just getting going. 

Summary

I’ve only scratched the surface of what you can do with Windows Azure Mobile Services – there are a lot more features to explore. 

With Windows Azure Mobile Services you’ll be able to build mobile app experiences faster than ever, and enable even better user experiences – by connecting your client apps to the cloud.

Visit the Windows Azure Mobile Services development center to learn more, and build your first Windows 8 app connected with Windows Azure today.  And read this getting started tutorial to walkthrough how you can build (in less than 5 minutes) a simple Windows 8 “Todo List” app that is cloud enabled using Windows Azure Mobile Services.

Hope this helps,

Scott

P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu

Published Tuesday, August 28, 2012 7:15 AM by ScottGu

Comments

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 10:33 AM by Vlad

Do you plan to offer HTTP/REST API as well at some point?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 10:37 AM by FDanconia

When you say "Windows 8 app", do you mean a Metro app, or a Desktop app, or both?  

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 10:53 AM by wil

Very nice, I can't wait to work on my mobile apps.  I do have a question about publishing sites to azure though.  Will you allow us to use "Shared" mode to use custom domain?  If so, when can I expect it?  "Reserved" mode is too expensive for me right now since I have multiple websites.  Thanks much.

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 11:19 AM by CJacek

Very good article, thanks! My Mobile Service is up and running.

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 11:27 AM by Rui Marinho

Okthis is really cool, i have spend last 3 weeks or so developing some of these features in our app., so now we need the full sdk's to windows phone ,server and web.

also we need to have some caching support for the client sdk's...

We also need to access the azure sdk on the scripts so i can easly talk with other webroles

very happy to see that the azure team is really listen to what developers want instead of focusing on getting some bucks.

Please iterate fast :)

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 12:16 PM by Casper Wind

What is the reason for the 165MB outbound data transfers per day limit with shared hosting?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 1:00 PM by Michael

Just curious - why is this offering specific to SQL Azure? I would have expected out-of-the-box support for blobs (for example, json/xml documents) and/or table storage. Seems like cost-wise, it would be much cheaper/easier to scale as well.

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 3:28 PM by Mark Tucker

If I wanted to use Fiddler to test REST calls, what URLs would I use and how would they look with permission set to Everyone or Application Key?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:04 PM by Jeff

I am confused. Scalability, user management, structured data - all of the features, with the arguable exception of push notifications, are useful for all types of applications. What about this is "mobile"?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:14 PM by ScottGu

@Vlad/@Mark,

>>>>>> Do you plan to offer HTTP/REST API as well at some point?

We are going to publish documentation for the HTTP REST APIs shortly - which will make it easy for anyone to consume them from any platform.  We'll then provide pre-built REST helper methods for Win8/iOS/Android/others for those who want to work with language libraries as opposed to raw REST ones.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:16 PM by ScottGu

@FDanconia,

>>>>>> When you say "Windows 8 app", do you mean a Metro app, or a Desktop app, or both?  

The language libraries we are providing today work with WinRT - so you'd use them within Windows 8 Store Apps.  But the underlying features can be accessed by any app using the REST APIs (including desktop ones).

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:16 PM by ScottGu

@Bill,

>>>>>> Does this have any relation to the "Windows Azure Toolkit for Social Games"? That project looked really promising and this looks like it would be a good foundation to build this on, so was wondering if that's why it's currently unavailable at http://watgames.codeplex.com/

Not currently - but you'll see us add more and more features into Windows Azure Mobile Services in the future.  

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:17 PM by ScottGu

@Wil,

>>>>>> Very nice, I can't wait to work on my mobile apps.  I do have a question about publishing sites to azure though.  Will you allow us to use "Shared" mode to use custom domain?  If so, when can I expect it?  "Reserved" mode is too expensive for me right now since I have multiple websites.  Thanks much.

The actual rest endpoint isn't publicly exposed to end-users, so the custom domain isn't an issue with mobile services.  We are, though, going to be enabling custom domains for web-sites running in shared mode shortly.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:19 PM by ScottGu

@Casper,

>>>>>>> What is the reason for the 165MB outbound data transfers per day limit with shared hosting?

That is the limit we currently support for the free tier (that translates into 100,000s of API requests/day - or 5GB of outbound bandwidth per month).  You can then upgrade to reserved mode to get unlimited outbound traffic.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:21 PM by ScottGu

@Michael,

>>>>>>> Just curious - why is this offering specific to SQL Azure? I would have expected out-of-the-box support for blobs (for example, json/xml documents) and/or table storage. Seems like cost-wise, it would be much cheaper/easier to scale as well.

We've heard from a lot of people who want richer querying capabilities and indexing over large amounts of data - which SQL is very good at. The pricing tier of SQL Azure is also pretty good.

We will also support unstructured storage in the future so if you don't need rich querying you can use that too.  

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 4:24 PM by ScottGu

@Jeff,

>>>>>> I am confused. Scalability, user management, structured data - all of the features, with the arguable exception of push notifications, are useful for all types of applications. What about this is "mobile"?

We support all of those capabilities with other Azure features today as well (web-sites, storage, databases, cloud services, etc).  You can also build your own mobile backends today using those existing features/capabilities to power your mobile clients.

The reason we are introducing Windows Azure Mobile Services is because a lot of developers don't have the time/skillset/inclination to have to build a custom mobile backend themselves.  Instead they'd like to be able to leverage an existing solution to get started and then customize/extend further only as needed when their business grows.  Azure Mobile Services makes it really easy for them to do this - while preserving the ability to easily extend it with other azure features in the future.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 5:42 PM by tobi

Sound like an app-user can circumvent any business logic / business validation because it sits on the client the user controls. Duplicating all validation on the client and in the "validations" on the server seems like a nasty nasty solution.

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 5:47 PM by Vlad

Are they on the roadmap? When can we expect them?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 5:48 PM by Vlad

Can you share what additional functionality you plan to provide as part of Mobile Services?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 6:36 PM by azureuser

Excited about the release and have a couple of questions:

- Do you plan to expose a management API for the Mobile Services? When?

- What other capabilities are are you thinking of adding to the product?

Thanks!

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 7:15 PM by Michael Brown

Does Azure Mobile Services allow you to grow into more complex scenarios? For example WCF RIA Services allow you to create a more coarse grained API over your data model. Will we be able to hook into the pipeline or is it a pure CRUD proxy generator over a database?

# re: Announcing Windows Azure Mobile Services

Tuesday, August 28, 2012 10:30 PM by Diogo

Unfortunatelly Windows Azure doesn't help developers very much. I can't subscribe for a trial, when I try I get this message: The offer you wanted is not available. Click here to see a similar offer.

And more, I think 90 days is a short time to do a depth study in the environment.

It could have a more limited environment for developers.

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 4:17 AM by Mahesh

How is it different than ASP.Net Web API? When to use which?Any guidance coming out?

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 5:07 AM by njy

> We'll then provide pre-built REST helper methods for Win8/iOS/Android/others for

> those who want to work with language libraries as opposed to raw REST ones.

Scott, have you already took a look at Mashape (www.mashape.com) ?

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 9:36 AM by hc1

Awesome!  Microsoft doing what Microsoft is best at.

Now, we hope the marketing people don't bungle this up.

Sorry to end two sentences with prepositions.

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 10:58 AM by ScottGu

@tobi,

>>>>>> Sound like an app-user can circumvent any business logic / business validation because it sits on the client the user controls. Duplicating all validation on the client and in the "validations" on the server seems like a nasty nasty solution.

Azure Mobile Services supports the ability to run custom validation logic on the server prior to each CRUD operation - so it is possible to prevent someone bypassing validation logic.  

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 10:59 AM by ScottGu

@Vlad,

>>>>>> Can you share what additional functionality you plan to provide as part of Mobile Services?

We'll post more details about new features as they become available.  

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 11:00 AM by Joseph Eckstein

Thank you for writing this functionality into Azure.  This helps to make me feel like my project can be accomplished in time and in the Store for the Windows 8 launch.  Easily enabling the ability to connect my Windows Mobile 7.5 app to the new Windows 8 companion app.  

You  -  Microsoft just took a large chunk of backend work of my plate for my Windows 8 App.

I'm very excited!

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 11:00 AM by ScottGu

@azureuser,

>>>>>> Excited about the release and have a couple of questions:

>>>>> - Do you plan to expose a management API for the Mobile Services? When?

>>>>> - What other capabilities are are you thinking of adding to the product?

Yes - we plan to expose a management API (as well as command-line management support) in the future.  We'll post more details about future features as they become available.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 11:01 AM by ScottGu

@Michael,

>>>>>>> Does Azure Mobile Services allow you to grow into more complex scenarios? For example WCF RIA Services allow you to create a more coarse grained API over your data model. Will we be able to hook into the pipeline or is it a pure CRUD proxy generator over a database?

Mobile Services does allow you to plug-into the server pipeline and do pretty course grained permissions and filtering.  I'd recommend looking at the server-scripts capability to learn more about this.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 11:02 AM by ScottGu

@Diogo,

>>>>>>> Unfortunatelly Windows Azure doesn't help developers very much. I can't subscribe for a trial, when I try I get this message: The offer you wanted is not available. Click here to see a similar offer.

Sorry you are running into this. Can you send me an email (scottgu@microsoft.com) with the Microsoft/Live ID you used to register and I can have someone help you out.

Thanks,

Scott

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 11:08 AM by ScottGu

@Mahesh,

>>>>>> How is it different than ASP.Net Web API? When to use which?Any guidance coming out?

You can think of Windows Azure Mobile Services as providing a pre-built set of Web APIs that provide common functionality that you need to build mobile apps.  The benefit of using this pre-built functionality is that you don't need to write it yourself.

ASP.NET Web API is then what you'd use when you do want to write it yourself - or extend the built-in set of Azure Mobile Services with additional custom functionality.  

The good news is that they are composeable and use the same REST/OData semantics.  In fact, for the C#/XAML library we ship we use the client-side Web API library to call the Windows Azure Mobile Services REST endpoints.

Hope this helps,

Scott

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 11:28 AM by Jon Nehring

This is great. Scott, you are doing wonderful things for developers using Azure. As for having to validate input both client-side and server-side, that's nothing new or different for me as a web developer.

I do have one request. (Perhaps it should be directed elsewhere @ MSFT). That is to provide developers with a way to manage customer subscriptions/payments. As you're probably aware, users typically only pay once for mobile apps, yet the developer faces ongoing costs for cloud services.

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 1:27 PM by Diogo

@Scott,

>>>>>>> Sorry you are running into this. Can you send me an email (scottgu@microsoft.com) with the Microsoft/Live ID you used to register and I can have someone help you out.

Thanks for reply, the local Azure support here in Brazil, already called me to solve the problem.

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 2:33 PM by jinishans

Scott - It's great, but a lot of folks are moving out of .NET due to the restriction of this 90day trial, which doesn't help most of the developers community, until MS provides a unlimited time minimal size server free or like websites, all services 10 units free for developers. eg. Amazon free tier / AppFog 2Gb free tier. Also, it'll be great if you plan for a locally installed Azure like other cloud players are providing.

coming to Mobile Services, it's great, but why the Mobile Services SDK isn't avl for Win 7, is it planned or not ? Why nowadays MS provides more restrictions than accommodating more developers. As a MS fan, i myself not comfortable using Win 8 UI without start button. Also, most of the enterprise won't allow Win 8 anytime soon, so pls release the SDKs in Win 7 and support the same.

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 3:17 PM by wavemaster

Android?

# re: Announcing Windows Azure Mobile Services

Wednesday, August 29, 2012 7:28 PM by Alxandr

How do you make one-to-many and many-to-many relations with the Mobile Services?

# re: Announcing Windows Azure Mobile Services

Thursday, August 30, 2012 8:52 AM by James Culbertson

@jinishans

From the OP:

>> Windows Azure Mobile Services now allows every Windows Azure customer to create and run up to 10 Mobile Services in a free, shared/multi-tenant hosting environment (where your mobile backend will be one of multiple apps running on a shared set of server resources).

# re: Announcing Windows Azure Mobile Services

Thursday, August 30, 2012 12:01 PM by Claudio Valerio

Cool, but i'd like to know when Virtual Machines will exit from beta stage. Any news about that?

Thanks

Claudio

# re: Announcing Windows Azure Mobile Services

Thursday, August 30, 2012 5:24 PM by Alexander

Hi Scott,

How would you compare Azure Mobile Services with Parse.com's SDK for the iPhone? My initial understanding of what Azure Mobile Services is that it is something very much like that?  Will there be an SDK for the iPhone to use Azure Mobile Services?

The part you described about being easily able to expand to "traditional" WebAPI sounds very intriguing.  It seems Parse.com's services don't have that capability and any type of custom scalability cannot be addressed with their service, the scalability is totally dependent on their way of handling it. Could you please elaborate on how Azure Moble Services will allow the extension, etc?

Thank you,

Alexander

# re: Announcing Windows Azure Mobile Services

Tuesday, September 4, 2012 1:41 AM by zl1

@Claudio Valerio judging from the issues I've had with VMs frequently becoming unresponsive and requiring restarts or even reimaging, Virtual Machines seem to be nowhere near coming out of beta.

# re: Announcing Windows Azure Mobile Services

Tuesday, September 4, 2012 11:34 AM by personel saglik

How do you make one-to-many and many-to-many relations with the Mobile Services?

# re: Announcing Windows Azure Mobile Services

Thursday, September 6, 2012 3:00 AM by Andrew

This sounds handy, along with everything else on the ever growing list of new features for the Azure family. The massive question is, when is this whole Azure thing going to be production ready???

Even though I like what you guys are doing, I am increasingly finding myself with little choice but to invest deeply in the various alternatives that are already production ready. The more time it takes for Azure to mature, the less likely it becomes that I will ever make use of it.

It has gotten to the point that I my mind automatically reads an Azure 'good news' story as bad news, because it's all just a tease. Enough with the foreplay!

# re: Announcing Windows Azure Mobile Services

Monday, September 10, 2012 11:05 AM by Embers

Scott when will we get .NET 4.5 support on Azure? I think everyone was just expecting this to just be done with the release of Visual Studio 2012 and .Net 4.5 RTM.

Can we at least get some communication / a firm date of when .net 4.5 will be released on Azure so people can make a judgement call on re-engineering applications to .Net 4 and / other frameworks.

Many Thanks

# re: Announcing Windows Azure Mobile Services

Monday, September 17, 2012 11:14 PM by Matt

Sweet... Until apple says they copied the itunes store web page shape and resolution.

# re: Announcing Windows Azure Mobile Services

Wednesday, September 26, 2012 2:52 AM by jinishans

Scott - I want to know whether i can write a logic to consume external json service, say from AWS or FB or Twitter, do some logic, and store it in the table then return the data to Metro App using Azure Mobile Services ?

# re: Announcing Windows Azure Mobile Services

Wednesday, September 26, 2012 12:45 PM by Baker

I rarely comment, but after looking at some of the comments on

this page Announcing Windows Azure Mobile Services

- ScottGu's Blog. I do have a couple of questions for you if you don't

mind. Could it be only me or do some of the comments look like they are coming from brain dead people?

:-P And, if you are posting at additional online social sites, I would like to keep up with you.

Could you post a list of the complete urls of your social community pages like your Facebook page, twitter feed, or linkedin profile?

# re: Announcing Windows Azure Mobile Services

Friday, September 28, 2012 6:33 AM by ANILBABU

How to Deploy mobile pages to Azure mobile service.