The third execution model provided by Windows Azure is Azure PaaS Cloud Services.
Using this execution model, we can deploy infinitely scalable, highly available and multi-tier cloud applications.
Cloud Services applications can be built using development frameworks such as .NET, Node.js, PHP, Java, Python, and Ruby. A Cloud Service application consists of one or more web roles and worker roles, and all the instances of a particular application run in the same cloud service. Communication between a web role and a worker role can be implemented using AppFabric Service Bus or Windows Azure Queues.
Advantage of Cloud Services execution model over Windows Azure Virtual machines execution model
As compared to Windows Azure Virtual machines, in Cloud Services, we need not create virtual machines. We can directly deploy cloud applications on Cloud Service execution model.
When we deploy an application through Windows Azure portal, we also submit the configuration files. Using these configuration files, the Fabric controller determines how many instances of Virtual Machines should be created for each role of an application and it creates them for us. This step is not required in the other execution models.
If your application is expected to receive a higher traffic, more VMs can be requested and Azure will create those instances. If the traffic decreases, you can close the instances and you will not be required to pay for them. This is how scaling up and down happens in Azure.
The Ideal situation for choosing Cloud Services execution model is when cloud applications need to support lots of simultaneous users, and at the same time don’t require much of administration.
When you choose a cloud service, Azure maintains the infrastructure for your application and performs maintenance tasks like applying patches to operating systems and other software.
In case of a failure, the Fabric Controller detects which web or worker role has failed and replaces them with the new instances.
After deploying cloud application, we will have to monitor the application. This can be done using Windows Azure Management Portal. As continuous monitoring can be difficult, alerts can be setup which will periodically inform you in real time about the status of the services. Microsoft has gone up a step further and announced a new feature called the Autoscale. This feature enables an application to scale up or down automatically, based on the demand.
Highly available refers to the fact that the application or data can be accessed 24 hours of a day 7 days a week from anywhere.
In the IT world, applications should be highly available for them to be successful.
The cloud technology is designed to provide highly available services to its customers.
Multi-tier cloud applications
Three-tier cloud application is similar in design principle to a windows three-tier application which we have discussed in detail in the ERP books listed on the home page. What constitutes in terms of technology is different. A three-tier cloud application consists of Presentation-Tier, Business-Tier and Data-Tier.
The Presentation-Tier essentially consists of load balancer and web roles. The Business-Tier consists of worker roles and Communication between the Presentation-Tier and Business-Tier is through the Queue service.
Do not confuse this queue service with the AppFabric Queue service, which is more capable.
If you want to know the difference in detail, you can always contact.
Applying patches to OS
Microsoft releases what it calls service packs which is a combination of bug fixes and minor upgrades. Patches are what they imply, piece of software which will rectify the OS. Appying patches is a regular feature for a OS. You might have experience this if you are a long term user of computers. The responsibility of applying patches is with the IT professional. In Azure cloud services execution model, Fabric controller takes the responsibility of applying patches.
See More Questions and Answers on - "Azure Cloud Services"