My colleague Andrew Coates is a developer evangelist in Australia who loves Windows Azure. I recently sat through a training session with him, where he showed us all how to create a Windows Azure trial account, and deploy our first cloud-based application (if you're a regular reader, I have to agree with you – I didn't realise I had the skills to do that either Smile)

One of the things he's great at is simplifying the complex possibilities of cloud services , and summarising what bits of the cloud are good for what purposes. I thought I'd share one of his key messages about Windows Azure, which gives his perspective on three key parts of Azure, and what kind of things they are good for. This might be a bit geeky for some of you, but sometime in the future you might just pop back here when you're thinking about reducing the number of servers running in your network, and popping some of your IT capabilities into the cloud, because you need to be able to scale a service up quickly, or reduce your need for servers in your own network.

Azure Web Sites are especially interesting, as they allow you to very quickly setup a website, or series of websites, using standard content management systems like WordPress or Joomla! This would be useful for curriculum projects, where students have a need to setup and manage a website for a term, or where a teacher has a project that requires web servers for a large number of students. And you can easily set up 10 free websites under a 90-day trial subscription – which can be extended free for up to 12 months if you are using other Azure services (see the web page for details)

Here's Andrew's view on when you'd use Windows Azure Web Sites, when you’d use Windows Azure Cloud Services, and when you’d use Windows Azure Virtual Machines.

Windows Azure Web Sites are ideal for:

  • Modern web apps
    Perfect if your app consists of client side markup and scripting, server side scripting and a database. Powerful capability to scale out and up as needed.
  • Continuous development
    Deploy directly from your source code repository, using Git or Team Foundation Service.
  • Popular open source apps
    Launch a professional looking site with a few clicks using apps like WordPress, Joomla!, Drupal, DotNetNuke and Umbraco

Windows Azure Cloud Services (Web Role) are ideal for:

  • Multi-tier applications
    Cloud-based applications that separate application logic into multiple tiers (i.e. caching middle tier, asynchronous background processes like order processing) using both Web and Worker Roles  
  • Apps that require advanced administration
    Cloud-based applications that require admin access, remote desktop access or elevated permissions
  • Apps that require advanced networking
    Cloud-based applications that require network isolation for use with Windows Azure Connect or Windows Azure Virtual Network

Windows Azure Virtual Machines are ideal for:

    • Enterprise server applications
      Run your existing enterprise applications in the cloud, such as SQL Server, SharePoint Server or Active Directory.
    • Porting existing line of business apps
      Choose an image from the library or upload your own VHD.
    • Windows or Linux operating system
      Support for Windows Server, along with community and commercial versions of Linux. Connect virtual machines with cloud services to take full advantage of PaaS services.

If you understand this, then you should probably make a point of reading Andrew's blog

And if you're an MSDN subscriber, then hopefully you already know that you get up to $3,700 in annual Windows Azure benefits as part of your subscription?