Comparison: Azure App Services vs Cloud Services

By: mwatson
  |  May 1, 2023
Comparison: Azure App Services vs Cloud Services

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.

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 AppsCloud Services
Supported PlatformsSupport for ASP.NET, Node.js, Java, PHP, or PythonSupport for Java, Node.js, PHP, Python, .NET and Ruby
URL<AppName>.AzureWebSites.Net<CloudServiceName>.CloudApp.Net
DevOpsSupports 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 architectureYesYes
Swap build between staging and production environmentYes (free)Yes (additional cost)
Access to server desktopNo controlSome control
Webserver maintenanceNot required, Azure does OS patching and other activities.Not required, Azure does OS patching and other activities.
Visual studio integrationYesYes
Access to other services like storage, service busYesYes
Configure Start-Up tasksNo (must use WebJob)Yes
Deployment timeFastVery Slow
Multiple applications on same serversYesNo
Scale up without redeployYesNo
Auto-scalingYesYes

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.

Improve Your Code with Retrace APM

Stackify's APM tools are used by thousands of .NET, Java, PHP, Node.js, Python, & Ruby developers all over the world.
Explore Retrace's product features to learn more.

Learn More

Want to contribute to the Stackify blog?

If you would like to be a guest contributor to the Stackify blog please reach out to [email protected]