While the goal of Windows Azure is to provide a platform for development of cloud-based applications, Windows Azure is all about choices. At each layer of the application, developers have numerous options available.
How and where will an Azure application be executed? There are three options:
Virtual Machines - Windows Azure allows you to create a virtual machine on demand from either standard images, or your own custom image. While this places the full administration of that machine in your hands, it also gives you complete flexibility. You specify the VM's size, and have the ability to pay by the hour, only for when that VM is running. This is referred to as Infrastructure as a Service (IaaS).
Web Sites - Windows Azure offers a managed web environment using IIS. Add or remove instances dynamically to scale to your needs. In addition to .NET, it supports PHP, Node.js, SQL Database, MySQL, WordPress, Joomla and Drupal.
Cloud Services - When you need to create a cloud application that is completely reliable, and don't wish the full responsibility of VM administration, Windows Azure provides Cloud Services, also known as Platform as a Service (PaaS).