Azure - Web Hosting

Choosing a Web Site or a Virtual Machine to Host your site

Index

Azure cloud usage, subscriptions and content management
Choosing a Web Site or a Virtual Machine to Host your site

Introduction

There's 2 main options when choosing to host a site with Azure, you can elect to go with the web site platform or build a virtual machine up from scratch. What this site is going to be used for is probably the biggest determining factor.

Azure Web Sites

Creating an Azure website is incredibly fast and easy, you can have a site up and running literally in seconds by filling out a few fields. Each website is created with the prefix .azurewebsites.net and can be linked with an existing hosted database. There is also the option to publish from popular source control repositories (e.g. GitHub, Git (local), CodePlex, Bitbucket or TFS)

Flyout Menu for creating an Azure Website Create Website dialog in Azure

After a few seconds, you site will be created, ready for you code to be deployed

Azure creating website feedback

Scaling your site

Once the site is created, the most significant configuration is probably the scaling on the Scale menu. There are currently 3 different types, each having their own benefits and drawnbacks

Scaling your website within Azure

Free Website

Currently with your Azure subscription you can have up to 10 free websites. These sites are on a shared resource and have caps on the size, cpu, memory, data i/o (see below). It should be noted that these quota's a spread across all (up to 10) websites in the sub Region. They are probably best for prototyping solutions to a client who cannot access internally hosted sites (within the firewall). The performance of Free sites is adequate for developement, but thats about it. The sites are very slow to load in the first instance.

Usage quotas on an Azure Free website

Shared Website

Shared Websites have less restrictive quotas and better performance. The big difference with a Shared site is the ability to have your own domain, so instead of creatingwebsites.azurewebsites.net you can have creatingwebsites.com or creatingwebsites.com.au. Another advantage is the ability to scale out, up to 6 instances.

Usage quotas on an Azure Shared website

Standard Website

The Standard Website has no quota's (limited to the size of the instance small, medium or large) and up to 10gb storage. It has the ability to scale out up to 10 instances and utilise custom SSL certificates. Sites deployed to a standard instance are quick to load and perform well.

Usage quotas on an Azure Standard website

SSL Certificates

Azure allows SLL connections to to all sites within the .azurewebsites.net domain. With the site we have just created we can establish a connection over https

Secure connections with Azure websites

However for custom domains, only standard mode offers custom SSL certificates. I will walk through setting up custom domains and certificates in future posts.

SSL options available in Azure websites

Summary of Website features

Summarizing the above,

Feature Free Shared Standard
Number of sites 10 100 500
Scaling (instances) n/a 6 10
Custom Domain Name No Yes Yes
Custom SSL No No Yes
Quotas Enforced Yes Yes No
Price * Free ~$10/month ~$75 / month (small)

* At time of authoring

Provisioning a Virtual Machine

The other option is to provision a virtual machine within Azure. Although not quite as quick as creating one of the website options above, its still quicker than you'd expect (maybe a few minutes). Having a virtual machine host your site gives you ultimate control and allows you the freedom to install any 3rd party software you site may require. The downside is you are now responsible for maintaining (and updating) the server. There a many images available to choose from

Images available provisioning an Azure virtual machine Azure virtual machine setup

Once your Server is provisioned, you can remote onto it an configure as usual. There is a few Azure specific options that you need to be aware of, affinity groups and configuring endpoints which expose ports publicly. Building a virtual machine from scratch will be covered in future posts. The point I want to focus on here is the pricing and sizes available.

Type Extra Small Small Medium Large Extra Large
Virtual Machine (IAAS) ~$15/month ~$67/month ~$134/month ~$268/month ~$536/month
Website - 1 instance (PAAS) n/a ~$74/month ~$148/month ~$298/month n/a

With a virtual machine, you get the extra small option without losing any of the custom features (domain, certificates). This is a lot more cost effective for smaller sites. You can see there is a small difference in the pricing, this is the premium you pay for the PAAS option, where the platform is managed for you.

Summary

For getting something "out there" the website platform is ideal, if you have more time up your sleeve I would probably look into creating a virtual machine (especially for small site scenarios)