With the rapidly growing popularity of the Windows Azure Platform and Microsoft’s Cloud Services offerings, I thought it a good idea to put up a quick post about where you can find out about publishing OData services to the Azure cloud, especially since it’s so easy to do with the Windows Azure Tools for Visual Studio. Anyway, the following is some of the more complete and useful content available out there that shows you how to publish WCF Data Services to Azure:
The Windows Azure and SQL Azure tutorials is a series of articles on the TechNet Wiki that show you, tutorial style, how to create and deploy a Windows Azure hosted application. This application is extended and modified throughout the series. Because the second tutorial adds a SQL Azure database to the application, it is very easy to extend this application (an ASP.NET Web role) to add both an Entity Framework model and a data service. Also, I wrote it so you know who to complain to.
This article, written for the Data Developer Center by the great Julie Lerman, is pretty-much the definitive article on how to create an Azure-hosted OData service. While she covers the traditional Visual Studio authored ASP.NET Web role in Azure accessing SQL Azure, Julie also rockets on down the road to also consume the same OData feed in an application hosted as an ASP.NET MVC UI Web Role (also in Azure). Seeing an OData service consumed in an ASP.NET MVC app is (to my mind) worth the price of admission (which in this case is actually free).
This is the original blog post from Shayne on the OData team at Microsoft that showed how to use the Windows Azure Tools for Visual Studio to create and publish a WCF Data Services-based OData service as an ASP.NET Web role, which uses the Entity Framework provider to access data from a SQL Azure database. It is still very useful, although both the Azure site and tools have been redesigned so the screen captures aren’t really correct anymore.
Note that all of these articles use the Entity Framework provider to access SQL Azure, because that is frankly the most common and interesting data provider scenario for a cloud-based Azure data service. If you wanted to publish a data service that implements a custom data service provider, you would need to follow the same basic steps (and yes the custom provider is usually a bit more work—see this if you are interested in custom providers). OK, there is one other interesting Azure scenario for data services, which is using Azure Blob Storage with a streaming provider—I hope to be able to demonstrate this very soon in my streaming provider series.
Also, if you know of any other really good OData on Azure content, please leave a comment on this post to let me know about it. If I get enough responses, I’ll create a new topic on the TechNet Wiki where we can maintain the complete list of content (because the wiki is useful for that kind of stuff—and other folks can help me maintain it.