Announcing Windows Azure Mobile Services

We are very excited to re-post the recent announcement for Windows Azure Mobile Services! Read up on this at Scott's blog:

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