47
votes

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?

7
MS recommends not to use Cloud Services at azure.microsoft.com/en-us/documentation/articles/… and in their book "Fundamentals of Azure". Probably they're going to discontinue it?Artyom
@Artyom There is no longer any mention of that on the linked page.Max Leske
@MaxLeske Looks like they removed it as it was in 2019 at all and now they use "cloud services" to mean different things.Artyom

7 Answers

26
votes

Azure offers several ways to host web sites:

enter image description here

The same idea but in abstract vision:

enter image description here

Source: http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx

10
votes

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/

5
votes

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).

5
votes

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.

3
votes
  • 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 control

The 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

2
votes

"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.

1
votes

Use a Web App for web portal, public API and WCF services (xx.azurewebsites.net)

On the other hand, consider using cloud services (xx.cloudapp.net) when you have a long running background job. Its like developing a windows service with OnStart() and OnStop() events and host it inside a virtual machine. But here on azure, you can do that without the hassle of managing a virtual machine.

Hope the above is clear.