1

Context: Building new multi-tenant application using Azure SQL, Azure Table Storage, EF, Web API, MVC, Azure Cache, Possibly Worker Roles -- all the usual suspects:

Please see prior question asked/answered a while back (Jun '12): What is the difference between an Azure Web Site and an Azure Web Role

Side Note: I'm leaning towards Web Role/Worker Role for Web API and Web Site for MVC/CMS frameworks (i.e., DotNetNuke)

I understand Web Sites are out of beta and have closed the gap with the Web Role in some respects.

Question: I'm looking for an updated answer to the following: What are the material differences between the new Azure Web Sites and the traditional Azure Web Roles for an ASP.NET MVC and an ASP.NET Web API application? What reason would I choose a "web site" over a "web role" or vice versa?

Community
  • 1
  • 1
Aaron
  • 3,068
  • 2
  • 21
  • 44
  • Thanks for the responses so far.I have decided to go Cloud Services based on the fact that I have a multi-tiered architecture: Data Access (config, ef, context) dll, Entities (Pocos) dll >> Repos (repos, uow) dll >> Business Services (business logic tying together underlying layers) dll >> the Business Services logic is consumed by both the Web API (at this point just a facade) and a ASP.net MVC with app.I am deploying the entire project to source control then with with a connected Web Role (Continuous Delivery). – Aaron Sep 09 '13 at 03:20

1 Answers1

1

Nowadays you have the following execution models:

-Web Sites

-Cloud Services (Worker Role / Web Role)

-Mobile Services

-Virtual Machines

What are the differences between Cloud Services and Web Sites.

-Cloud Services: You could integrate with Team Foundation Services and allow it to publish to Azure. (Continuous Delivery). With Cloud Services (Web Role), you have two environments in Azure, staging and production. You can use Staging to validate, and with one click (swap option), apply the new deployment package to production environment.

-Web Sites: Web Sites is the right option when you want to create a simple web site. It is also a good choice for creating a low-administration web application, even one that must be quite scalable, or moving an existing IIS web app to the public cloud.

Cloud Services, which was the initial execution model provided by Windows Azure, is an explicitly PaaS approach. While the line between PaaS and web hosting is blurry, Cloud Services differs in some important ways from Web Sites, including the following:

Unlike Web Sites, Cloud Services gives you administrative access to your application’s VMs. This lets you install arbitrary software that your application needs, something that’s not possible with Web Sites. Because Cloud Services offers both web roles and worker roles, it’s a better choice than Web Sites for multi-tier applications that need separate VMs for their business logic. Cloud Services provides separate staging and production environments, making application updates somewhat smoother than Web Sites. Unlike Web Sites, you can use networking technologies such as Windows Azure Virtual Network and Windows Azure Connect to hook on-premises computers to Cloud Services applications. Cloud Services lets you use Remote Desktop to connect directly to an application’s VMs, something that’s not possible with Web Sites.

http://www.windowsazure.com/en-us/manage/windows/fundamentals/compute/

More info:

http://www.windowsazure.com/en-us/manage/services/cloud-services/how-to-create-and-deploy-a-cloud-service/

Thiago Custodio
  • 17,332
  • 6
  • 45
  • 90
  • 2
    To me it boils down to a convergance of features. Cloud Services are more "enterprisey" with a lot of features. Web Sites have less "enterprise" features and are really geared for startups (i.e. easy to get running, easy to scale, GitHub publishing etc.). If you ever plan to use "ALL" of the Azure cloud stack, then I would seriously consider Cloud Serivces because adding a virtual network for example is only possible in Cloud Services. I think both will evolve features in that way.."Cloud Services" for production/more comples; "Web Sites" trying the cloud out/startup – Bart Czernicki Aug 29 '13 at 20:15
  • If I have a startup I would use Cloud Services because I'll have different environments to deploy. – Thiago Custodio Aug 30 '13 at 12:47