Series Introduction
I’ve been playing with Windows Azure for a couple months now and I am really pleased with what I’ve been seeing. I’m also studying for the certification exam (MS 70-583) – PRO: Designing and Developing Windows Azure Applications. As such, I thought it pertinent to share my experiences with others who may be thinking about doing the same thing. The goals for this series of posts is pretty simple: explain why Azure interests me, share resources I’m using to learn about Azure, and discuss the various scenarios where Azure is a good solution to an existing IT problem. I may add goals to this list as I go along, but that’s the basic premise for now.
Why Windows Azure?
Training Material
The first thing I’m really excited about is the amount of resources Microsoft has put into creating really excellent training materials for Windows Azure. The main website, http://www.windowsazure.com, is well organized and provides a very friendly path to getting into the platform. Once a new user is familiar with what Windows Azure is, they are led to things like the Windows Azure Training Course, which provides hands on labs, presentations, and scenarios for working with the platform. Yes, most new Microsoft platforms come with this same kind of stuff. But, it often gets lost in shuffle as the product is adopted and new features are added. Finally, I’ve not seen this level of effort put into learning materials from other cloud vendors, which make them a bit more difficult to get started with.
Infrastructure as a Service
The second thing I like about Azure is the infrastructure hosting platform. Microsoft has created an Infrastructure as a Service (IaaS) platform that gives you access to the host OSes if you need it, but takes care to keep things up to date if you don’t. When you create a service, you specify what you need it for (web hosting, service hosting, etc), and it automatically adds the needed OS pieces for you. In general, the options that are chosen fit most needs and most people won’t have to mess with them again. This makes me happy because I’ve seen too many environments that were not properly taken care of that led to security breaches.
Integration with Visual Studio (and others)
And finally, the icing on the cake for me is the integration with the Visual Studio IDE. Working with Azure through Visual Studio is a wonderful experience. Getting started with a new Windows Azure project is easy and intuitive for the most part. And migrating existing projects is also well thought out and easy. I especially like the ability to take an existing project (such as a DB project), flip it over to Azure in the project configuration, and have all the potential problems I might run into show up as warnings or errors immediately. And while I haven’t looked into it, there is also integration with Java, PHP, and others.
Wrap Up
There are many other great things about Azure, but these are the three that got me seriously looking at it as a platform for developing real solutions. It is hard to sell cloud solutions because people are afraid of losing control over their environments and applications. But, Azure helps by addressing these issues up front with good training material and by not changing the development environment people are used to working with too much.