Monday, 10 December 2012

Azure : VM Role and Virtual Machine

 
When talking to folks working on Azure , I have found many of the developers(junior as well as senior developers ) getting confused between Windows Azure VM role and Windows Azure Virtual Machine.


So, I thought of writing a small article to tell that these two features are not same  , although they sound same.








1. VM Role ; is PaaS (Platform as a Service)
    VM         ; is IaaS (Infrastructure as a Service)

Platform as a service (PaaS) is a category of cloud computing services that provide a computing platform and a solution stack as a service.it is a service model of cloud computing. In this model, the consumer creates the software using tools and/or libraries from the provider. The consumer also controls software deployment and configuration settings. The provider provides the networks, servers, storage and other services.
Infrastructure as a Service(IaaS) is the model where the user provides physical virtual machines and other  resources. The VMs run on hypervisor , Xen, kvm etc.


2. VM Role ; is stateless
    VM          ; is stateful

When I say stateless , I mean if the Azure fabric decides to start your VM role in some other host than the local file system will be lost. But in case of a Virtual Machine they are almost like your on-premise VMs , its just that they are running on Microsoft Data Center.
 
For this reason at time Azure Virtual Machines are also called as Persistent VM Roles.


3. VM Role : Maintains OS automatically
    VM          : You are responsible for maintain your VM



When you are using a VM Role no need for you to think about updating patches and software updates , the system take care of those automatically for you. But when you use a VM Role , you are responsible for managing and maintaining your machine.



4.  If you have an existing Linux machine and want to deploy it as a VM Role you cannot, but you can deploy it as a VM , that is allowed.








Conclusion:

Use a VM Role if you want to have a greater control over your provisioned application, use a VM if you want to take your on-premise OS(Microsoft/non-Microsoft OS) to Azure.





No comments:

Post a Comment