I've started learning about Microsoft Azure last year and one of the services provided was the Cloud Services. The way I understand Cloud Services is that it is a service meant to allow one to build N-tier apps. So it is possible to set, for instance, a Web Role hosting one ASP.NET Web API project and some Worker Roles for background processing and so on. There was also the Web Sites service.
Now at Build 2015 it was presented Azure App Services which basically is made of
- Web Apps
- API Apps
- Logic Apps
- Mobile Apps
Now I don't get when one should use Cloud Services and when one should use App Services. I mean, I got the impression that Web Apps together with API Apps and Logic Apps is the same as Cloud Services, but I'm not sure.
So, what is the difference between Cloud Services and App Services and when one should be chosen instead of the other?
There has been a bit of movement in the last month :). Web Sites have become Web Apps. Same thing with Mobile Apps.
Now to answer your question on the contrast between the two, each serves their own goal. Cloud Services was your PaaS related for a VM. On the other hand, App Services speaks to "resourcing groups."
With regards to the App Services, you are able to condense a lot more applications within instances of a VM, without much effort. However, the biggest seller that the App Services have over Cloud Services is the ability to compose business processes with the App Logic, much like BizTalk does the external connecting to other processes.
The resourcing groups is the next phase on how to approach DevOps. IMHO, the next move that Azure would 'promise' is the notion that your applications are deployed as microservices on the Microsoft Service Fabric. (It was just announced last week).
"Cloud Services is similar to Service Fabric in degree of control versus ease of use, but it’s now a legacy service and Service Fabric is recommended for new development."
as mentioned here.
App Service
lets you deploy the application. But no control on infrastructure (no RDP)Cloud Service
(PaaS) let you deploy the application and gives some control(RDP) . Eg: Web role, Worker role (a bit old now)Virtual Machine
(bonus) (IaaS) let you deploy and gives full controlThe awkward thing is App service + VM lets us deploy with GIT but Cloud service does not.
One more awkwardness is that the App Service is very similar to Service Fabric but SF does allow RDP! Moreover SF does not do OS update but App service does OS update for you! All comparisons here
Microsoft describes differences between App Services and Cloud services like this: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/
Practically Cloud Services are less stateless and you need do more networking/DR/HA yourself and App services are more stateless and you may use networking/DR/HA out of the box.
Azure offers several ways to host web sites:
The same idea but in abstract vision:
Source: http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx
I also had a confusion about their differences, until I read the following blog. Hope this helps.
http://cloudacademy.com/blog/microsoft-azure-app-service-virtual-machines/