Windows Azure - When do I use What?
At this week’s Azure Dev Camp in Sydney, I showed a slide with suggestions as to 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. I pinched the slide from Yochay Kiriaty and Craig Kitterman’s TechEd US Session “Windows Azure Websites: Under The Hood (AZR305)”, which is well worth a watch by the way.
I’ve had a few questions and a couple of requests to post the slide, so here it is (reformatted for the blog format)
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.