Why I Chose Microsoft Azure VM Over Azure Website And Azure Cloud Services To Host My Websites
This article is not about Why I chose Azure, First choice from the day I started exploring cloud computing naturally for some one like me, a Microsoft enthusiast was to go explore Microsoft Azure. I did try other 3rd party providers for a very short period before deciding to go exclusive with Microsoft Azure, This articls Its about choosing between Azure VM IIS , Azure Website & Azure Cloud Services.
Microsoft Azure provides several ways to host your web sites and web applications. Virtual Machine's, Cloud Service's & Azure Website's.
For over last 15 years I had been using shared hosting to host most of my websites as well as for my clients. This year I decided to move my hosting to Microsoft Azure considering the fact that its on cloud, The cost benefits associated with Hosting on cloud as well as the non tangible benefits of letting my client know that their website is hosted on a Virtual Machine on a cloud. Cant deny the fact that cloud computing is a buzz world around the world and every one want to be on the cloud. With Microsoft a barnd name trusted around the world clients were more then happy that we where moving their hosting to cloud managed by Microsoft.
The choice could have been any of the three, all have their own advantages. In my case I decided to go with using Microsoft Azure VM and IIS. Lets build the case study with my requirements and justify why I choose to use Azure VM. My requirent is I have over 70 domains which require hosting, many of them are websites with just html pages, very few of them are web applications & even fewer requires a database. We have already discussed in the introductory topics on Why cloud hosting so in this article we will compare the three options with respect to my requirement and this would give you an Idea on how you could arrive at choosing which hosting option on microsoft Azure is best for you.
Yes you are right my 4Beginner blogs ( mvc4beginner.com, 80864beginner.com, code4beginner.com, microsoftazure4beginner.com etc) are also included in the case study we are disscussing. Reason I decided to metnion about my blogs was I thaught I would give you guys a tip on the easiest way to design a highly scalable architecture, Its not ideal for all cases, but perfectly fits the like the 4beginner blogs. I choose to render sites to html where there is no change or no frequent change of content like my blog into simple html page and let Windows Server & IIS or Azure take care of the load balancing rather then to worry about writing an application where I have to deisgn an architecure which require me to worry about balancing the load across several machines. I do use a custom engine for my blogs I build over 10 years back then I could not find an engine which fit my requirement so I decided to write my own.
Couple of factors needs to be discussed before we build up the case justify my choice Virual Machine.
Core factors I consider at work with any cloud projects are
- Capacity Planning
- Scalability Requirement ( Load Balancing / Auto Scaling )
- Disk Space Requirement
- Memory Requirement
Since I have already decided to go with Azure server selection parameters like Availability, Relaiability need not even be discussed, as Microsoft Azure provides the best up time and is highly reliable.
Capacity or the amount or number of compute instance required is the one of the key factors when you architect solutions for cloud. The above pic is snapshot of my blog from google showing the traffic graph for a period of 11 months from jan 1st to nov 30 2014. From this snaptop I understand there are no unpredictable spkes in the number of visitors. So this site falls into the category for predictable bursing. The traffic is lowest on weends and peeks during weekdays in a predictable fashion. Max no of visistors/day at 4453 last year which is roughly 190 users / hour or around might be max of 3 - 20 user per minute which can easily be handled by a single VM or a Website or Cloud Service with no scaling requirement.
Scalability Requirement ( Load Balancing / Auto Scaling )
From the above graph I can figure out that only one VM is required and no load balancing or auto scaling feature is required.
Disk Space Requirement
VM's the Basic tire provides from 20GB - 240GB of disk space and Standard tire provides 20GB - 605GB. My requirement I need only less than 10GB of space. So I am free to choose any of the VM's.
Azure Websitee free tire provides around 1GB In my case free tire is ruled. Basic and standard provides 10GB & 50B respectively.
Cloud Serivce for General Purpose there is 19GB to 2039 GB, for Memory Intensive from 489GB to 2039 GB. Compute Intensive from 1777 - 1777 GB and there is also an SSD option from 50 GB to 800 GB.
With My Limited requirment of less than 10GB I need only the basic any of the three offering.
There are no memory intensive processing that happens on any the sites hosted. So I would choose an instance that offers 1.75GB - 3.5 GB. I tried with both the instances and it seem to work find and performance seems to be good.
Considering the limited memory, scalablity, disk space requirement I could choose from Basic Tire in VM or Basic Tire in Azure Website or General Purose Tire in Cloud Services. Below displayed the basic service instance offering's of all the three.
NOTE : PRICING IN INR DEC 2014
Below are the cost details of Azure VM Basic Instance<><>. For my requirement I have tried with the lowest cost A0 Instane, But I decided to go with A2 Instance condering the fact that there is a good 3.5 GB Memory for the applications that are hosted on the VM
Below image explains the different service offerings , free can be ruled out as it does not provide option to point domains to the hosting and there are severe limitations on bandwith, diskspace, etc.
from below info A2 would be my choice with 3.5 GB ram and good amount of disk space.
Below fig is for the Cloud service's . General purpose A2 would again be my choice considering my requirement.
Finally I Chose VM & IIS
Finally after considering the different options available to me I decided to go with Azure VM & IIS to host my websites. From the above chart's we can figure out that costs are very much similar, but a VM with iis allows me to host any number of domains and It gives me more power and control.