A current pet project runs on IIS, and having found too many restrictions with the IIS instance on my shared hosting accounts I needed to look for alternatives. Digital Ocean and Linode are great reasonably priced VPS services, but Linux only, and this project doesn’t yet warrant the cost of getting a dedicated box somewhere. My familiarity with Amazon Web Services meant that I have quickly been able to setup Amazon Web Services stack utilising Windows Server EC2 instances, Elastic Load Balancing, Auto Scaling, and Cloudfront…. the biggest downside to this approach is the ongoing management and maintenance of the Windows Updates that the VM’s will need, so I’ll probably loop back at some point to try out IIS on AWS Beanstalk. [update: feedback from some friends is that Beanstalk doesn’t automagically update the OS/IIS ]
I’ve had a few little looks at the Microsoft Azure offering, but have found the information on the Azure site difficult to navigate, however this felt like it should be the perfect opportunity to get to know Microsoft Azure better.
As I mentioned, the Azure Website is unfortunately the first barrier to entry… it’s very nice looking, but initially I struggled to easily find the information I was looking for:
On the services list, what do they mean by a ‘Website’?
Do I want a ‘website’ or a VM?
Does a ‘Website’ give me full IIS control, and if so what version?
Is there a free tier for a year (like with AWS) or developer environments – how much can I explore the offering before the cost becomes noticeable.
(Perhaps Microsoft should consider an “Introduction to Azure for AWS users…”)
My ideal would be more of maintained IIS in a PaaS fashion, rather than a VM running a full OS that I have to maintain and update…. I hoped this was what ‘Azure Websites’ was about, and I’m glad to have fond the following confirmation: https://azure.microsoft.com/en-us/services/web-sites/
Next step was to get some of my project tests files on to the instance. I’ll consider a Visual Studio based deployment workflow, but for now using FTP, so needing to: ‘Setup Deployment Credentials’
“Git and FTP cannot use your Windows account to authenticate, so this dialog lets you specify a user name and password that can be used when using those technologies.”
The interface displays details of the instances FTP and SFTP, but this bit puzzled me for a little while as I was getting errors trying to connect using Filezilla.
The solution was to ‘Download the publishing profile’, and to extract the details from there, the password appears to be a more complex and secure derivative, rather than the password I keyed in.
Files uploaded, and initial tests all looking good.
I’ll need to upgrade the instance to a basic or standard one in order to be able to enable auto-scaling, but for now, I’m going to point an AWS Cloudfront distribution at the Azure instance, and then CNAME that distribution to a subdomain on my project. (I’ll explore the Azure CDN offering at a later date.)
A few things to note about the ‘free’ tier:
* it does not support a custom domain – but appears to fine be doing this via a CNAME Cloudfront distro.
** “Free and Shared (Preview) tiers include 60 minutes and 240 minutes of CPU capacity per day, respectively.” (http://azure.microsoft.com/en-us/pricing/details/web-sites/). So I’ll have to be somewhat ‘measured’ about how I utilise the instance while on a Free or Shared Tier, which isn’t exactly helpful for the project development phase, where I’m likely to have some variability in the times when I am working on this pet project.