Azure cloud usage, subscriptions and content management
Choosing a Web Site or a Virtual Machine to Host your site
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.
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)
After a few seconds, you site will be created, ready for you code to be deployed
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
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.
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.
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.
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
However for custom domains, only standard mode offers custom SSL certificates. I will walk through setting up custom domains and certificates in future posts.
Summarizing the above,
|Number of sites||10||100||500|
|Custom Domain Name||No||Yes||Yes|
|Price *||Free||~$10/month||~$75 / month (small)|
* At time of authoring
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
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.
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)