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.
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:
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.
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:
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:
- Enabling User Authentication
- Authorizing Users
- Get Started with Push Notifications
- Push Notifications to multiple Users
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.
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:
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.
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,
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