Comparison: Azure App Services vs Cloud Services

Comparison: Azure App Services vs Cloud Services

Matt Watson Developer Tips, Tricks & Resources, Live Queue Leave a Comment

Microsoft Azure provides multiple ways to deploy your applications to the Azure cloud. Azure App Services and Cloud Services are the two most popular, and easiest, ways to deploy your applications. They both support web applications and background service type applications. In this article, we will provide a comparison of Azure App services versus Cloud Services, along with a quick overview of each.

No worries, no SPAM. Opt-out anytime.

App Services

Microsoft Azure App Services are a platform as a service (PaaS) offering. Azure runs App Services on a fully managed set of virtual machines in either a dedicated or shared mode, based on your App Service Plan. There are 4 types of App Services:

  1. Web App – used for hosting websites and web applications (previously Azure Websites)
  2. API App – used for hosting the RESTful APIs
  3. Logic App – used for business process automation, system integration and sharing data across clouds
  4. Mobile App – used for hosting mobile app back ends (previously delivered by Azure Mobile services)

Pros

  • Very easy to deploy to, deploys much faster than Cloud Services
  • Deployment slots are free
  • Built-in A/B testing features
  • Can combine multiple applications together to save money
  • Extendable with Site Extensions

Cons

  • No server access
  • Cannot use all monitoring tools because you can’t install an agent
  • Limited Windows performance counters
  • Limited VM sizes and specs to pick from

App Services WebJobs

Azure WebJobs provide an easy way to run background processes. These can be configured to run on a schedule, on demand or continuously. For example, Stackify’s Azure monitoring agent runs continuously in the background for every Azure App Service instance that you have. There is no additional cost associated with running WebJobs. You may have to scale your App Service Plan up or out a little to handle the extra resources utilized by the WebJobs.

Pros

  • Easy to deploy
  • No cost beyond App Service Plan costs
  • Easy way to setup scheduled tasks

Cons

  • Apps must work in a limited permission sandboxed environment

Cloud Services: Web & Worker Roles

Cloud services were the very first Microsoft Azure Platform as a service (PaaS) offering. They provide the ability to deploy web apps (web roles) and background services (worker roles) onto Azure virtual machines. Azure handles all of the initialization of the servers, deployment to them, Windows Updates, etc.

Web Roles are used to host web applications. Worker Roles are used to host background services, similar to Windows Services.

Pros

  • Can pick from several VM sizes
  • Full server administrator access
  • Can install a wide array of software on the server itself
  • Full access to Windows performance counters and ETW

Cons

  • Very slow to deploy to
  • Staging slots cost money to use
  • Can’t easily combine multiple apps together
  • Can’t change the VM instance size without redeploying

Comparison Table

The table below compares common App Services and Cloud Services features:

Azure Web Apps Cloud Services
Supported Platforms Support for ASP.NET, Node.js, Java, PHP, or Python Support for Java, Node.js, PHP, Python, .NET and Ruby
URL <AppName>.AzureWebSites.Net <CloudServiceName>.CloudApp.Net
DevOps Supports CI, CD using Visual Studio Team Services, GitHub or BitBucket. Supports CI, CD using Visual Studio Team Services, GitHub or BitBucket.
Support for Multi-Tier architecture Yes Yes
Swap build between staging and production environment Yes (free) Yes (additional cost)
Access to server desktop No control Some control
Webserver maintenance Not required, Azure does OS patching and other activities. Not required, Azure does OS patching and other activities.
Visual studio integration Yes Yes
Access to other services like storage, service bus Yes Yes
Configure Start-Up tasks No (must use WebJob) Yes
Deployment time Fast Very Slow
Multiple applications on same servers Yes No
Scale up without redeploy Yes No
Auto-scaling Yes Yes

Conclusion

Both App Services and Cloud Services provide a lot of good features and are a simple way to deploy your applications to the Microsoft Azure cloud.  They are definitely much easier than setting up your own virtual machines! The primary differentiating factor is Cloud Services offers access to the underlying Azure VMs, and App Services do not.

In my opinion, I prefer App Services for these specific reasons:

  • Combine multiple applications together to save money
  • Free deployment slots
  • Faster deployments

Stackify Retrace works perfectly for monitoring App Services and Cloud Services. 

Special thanks to Sanjeev Assudani who helped contribute to this article.

About Matt Watson

Matt is the Founder & CEO of Stackify. He has been a developer/hacker for over 15 years and loves solving hard problems with code. While working in IT management he realized how much of his time was wasted trying to put out production fires without the right tools. He founded Stackify in 2012 to create an easy to use set of tools for developers.
What's in the ultimate Dev Toolbox? Find out now!