On November 28th, 2011 I had the opportunity to give a presentation at the St. Louis .NET User Group on my experiences developing software for the Windows Azure and SQL Azure platform. Having been at PDC in 2009 for the announcement of Azure and been able to work on a number of Azure projects since that time I frequently see many Azure talks that are either: A) too high level and marketing oriented as they never tell you anything important or B) too low level and focused on a specific feature that you end up not getting a big enough picture to be relevant. My goal during last weeks presentation was to find a mix of content that is somewhere in the middle. As such, for the first time in a LONG time I opted to not go with any type of PowerPoint and to focus on discussion and demonstrations (working under the assumption this will allow me to get through more content…which failed…I still wasn’t able to get in all the tips and ideas I wanted).
Over the last 12+ months my company has not only consulted on projects for others on which Azure is a critical component but we have also developed our own SaaS software in the collegiate coaching space which we host in Azure. This has given me a deep level of understanding of the platform as well as the business decisions that go into making Azure the core hosting platform for my own companies future.
Ultimately, I have built up a list of resources I utilized in my recent user group talk that I wanted to share in this post so that others can quickly find some of the key sites, tools, and information. I’ll be growing this list over the next few months as our product launches and I become aware of more tools or other links that might help others.
A big thanks goes out to Ethan Johnson at ClearlyInventory for his input on these links and bringing many of them to my attention.
Any Azure developer is intimately familiar with the management portal where all configuration to an Windows Azure or SQL Azure account is made.
Hosting in Azure is not without the occasional outage and, to keep customers abreast of issues, Microsoft provides a service “dashboard” you can view to see if your region is experiencing any type of outage.
One thing I see developers frequently struggle with when deciding if Azure is a fit for their needs is the terminology and pricing. The following link provides a good overview of the general computing concepts Microsoft is providing and the pricing they attach to these resources. The links on the left of the page below provide similar overviews of the other Azure components.
Azure Pricing Overview
Pricing in Azure is, in some aspects, very straightforward and in others, very confusing. The following link provides pricing information for all Azure features.
Rather than try to do all the pricing math yourself, you can use the provided Pricing Calculator to get a better understanding of how much a particular Azure configuration "might” cost per month. A lot of factors go into how much you ultimately pay as you are purchasing computing power and services on an as-needed basis but, using the calculator at the link below you can better estimate a particular configuration.
Red-Gate Data Tools for the Cloud
Red-Gate has always had a very broad suite of high-quality .NET and SQL tools and they have expanded their offerings to include a number of tools that are invaluable for SQL Azure developers (including a free backup tool). We use their backup tool daily for our Azure products.
Cerebrata Cloud Tools
Cerebrata’s Cloud Storage Studio and Diagnostics Manager tools are used by my team daily to manager our commercial Azure projects. I highly recommend their tools and, per the section above, Red-Gate has recently purchased Cerebrata and, I’m assuming, will be rolling these products into the Red-Gate family soon.
Sql Azure Performance Links
One of the things we found early on was that, however handy SQL Azure is, it’s a bit different than developing against and monitoring a local SQL 2008 instance. There are definite limitations to the tools support for SQL Azure that you have to get used to. The following link is to a blog post that includes a very nice collection of management queries that work against SQL Azure. These have been of great benefit to us and I wanted to share.
SQL Azure Limitations
Did I just say that SQL Azure has it’s limitations? It does and the link below provides some details on this. Does this mean I don’t like SQL Azure? Not at all, I’m a big fan and use it all the time. It’s just important to know the specifics of the tools you are using and what they are capable of and what they are not.
A friend passed this on to me as something to consider to make my product a more “elastic” infrastructure that scaled up or down based on a set of predefined rules that were automatically applied. I don’t have any first-hand experience using it but it’s worth knowing things like this exist.
Azure Membership and Session Providers
Here is a nice CodePlex project providing membership and session providers that are compatible with Windows/SQL Azure.
Using SQL Azure for Session State
A nice blog post on using SQL Azure for Session state. The solution described in this link is a bit older than the providers included in the CodePlex project above.
Pro SQL Azure (Book)
This is a great book I recently picked up that has helped give us a better understanding of the SQL Azure platform and it’s capabilities.