Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to deploy a WebApi at Windows Azure: as Website or as Cloud Service?

I'm developing a Web API and will host it at Windows Azure. What should I take into consideration to decide where to deploy it? As far as I know it can be deployed as a Website or as a Cloud Service. Would love to know the pros and cons you guys see.

Thanks!

like image 715
Joao de Araujo Avatar asked Jan 31 '13 19:01

Joao de Araujo


People also ask

How do I deploy a web service in Azure?

To deploy to any Azure App service (Web app for Windows, Linux, container, Function app or web jobs), use the Azure App Service Deploy task. This task is automatically added to the release pipeline when you select one of the prebuilt deployment templates for Azure App Service deployment.

Can I deploy my website in Azure?

Web apps in Azure allow you to publish and manage your website easily without having to work with the underlying servers, storage, or network assets.

Can we host web services on Azure?

Azure App Service enables you to build and host web applications in the programming language of your choice without managing infrastructure. Learn how to create a website through the hosted web app platform in Azure App Service.


1 Answers

Both Cloud Services and Windows Azure Web Sites are fine hosts for an ASP.NET Web API.

I agree with @SLaks - depends on how much control you want.

Use Cloud Service for maximum control (including control over performance characteristics and (for APIs that need this) ability to scale out). Web Sites for speed of deployment (seconds rather than minutes) and cost (might be free, depending on your scaling needs).

  • With a Web Site, your largest VM size is Large. With a Cloud Service, it can go to XL (twice the specs of a Large).
  • With a Web Site, you can have up to three VM instances in Reserved Mode. With a Cloud Service, there is no hard limit (though you may need to call support to exceed 20 cores in a standard account).
  • With a Web Site, you have no control over IIS. With a Cloud Service, you do, so you can do things like use the Warm-up Module in IIS and tweak the recycle settings (these both help improve latency in certain scenarios).

More on Scaling Web Sites: http://www.windowsazure.com/en-us/manage/services/web-sites/how-to-scale-websites/

In summary, from least-to-most control, you really have: Web Sites Shared Instances (high density mode, little control, limited scale, free) => Reserved Mode (little control, better scale, more predictable (b/c no tenants you don't know about), costs money, low knowledge) => Cloud Service (max control over IIS, costs money, more knowledge needed around Cloud Services).

like image 74
codingoutloud Avatar answered Sep 18 '22 15:09

codingoutloud