I spend more than two weeks searching for answer and I read a lot but still I cannot understand the difference. I even talked with Microsoft agent for 15 minutes and he just made an excuse and ended the chat:) I have a long history with windows and network but not that much with IIS stuff. So can anyone tell me what is the difference between these two, in a really non technical way? I know one is Paas and one is IaaS but still don't get when we can install software on both, RDP to both, what is the difference? Someone said Cloud service is a layer above the VM so does it mean it saves the registry changes and files in a separate file same as differential backup or snapshots? can I install any third party software on Cloud service? I have a software that run on java and connects to SQL server can I install that on Cloud service?
Quick Answers is Azure Cloud Services are the old ASM version of VMs, Azure VM is the new ARM based service.
It's a long story and you have to look at how we started Azure. When we began, Azure was focused primarily on PaaS so we didn't have Azure VMs or IaaS we only had Cloud Services. Back then, the API for Azure was called Azure Service Management (ASM) (think of it as Azure v1). ASM had cloud services for web apps and SQL along with Storage and other services that Microsoft Managed as we thought that is what customers wanted. After feedback from customers we heard loud and clear that they wanted more control and many just were not ready to refactor their apps to PaaS, they wanted IaaS (VMs). In an effort to make that available for customers in ASM, we did what we could in ASM to deliver IaaS but we still needed to front-end those (now called "classic" vms) into cloud services.
Today Azure runs an updated API called Azure Resource Manger (ARM). Think of it as Azure 2.0 (I am calling it this that is not an official version). In ARM we added a new portal, RBAC, Resource Groups, JSON Templates and made Azure VMs a first class citizen. All ASM related services were renamed (classic) and we eventually decommissioned the old ASM portal. You can still see and manage classic resources in the new portal but we highly discourage customers from creating new classic resources. The management functionality is there just for legacy support.
A fuller, official write-up is here:
A simple way top look at it;
A cloud service is a service that can have 1 or more VMs included in it. Yes in the ASM (Classic) Azure world you MUST be part of a cloud service. The Cloud service allows you to do Networking NAT rule (Endpoints) and loadbalancer rules can be enable too.
A VM is a VM on instance.
I believe the confusion is the term is also/sometimes use to describe a configuration of ARM VMs sitting behind a loadbalancer that does a specific role. Since its behind a loadbalancer you can also configure Networking NAT rules (endpoints) and Loadbalancer rules.
Hope this helps clarify things.