Recently, I switched this websites web-hosting from Azure to MyASP.NET. In this article, I will discuss the reasons why I did this. This guide will compare the benefits of hosting a site for a smaller website using Azure to normal shared hosting. If you are building a Umbraco website and are struggling to decide how best to host your website then this article will hopefully help you make an informed decision.
Hosting Umbraco With Azure
The first thing that you will need to understand in order to make an informed decision about your web hosting is the traffic. As Azure is consumption-based the more traffic a website has, the more expensive it will be to host it. This website started out as a portfolio project to help me win contract work. It was built in WordPress and I occasionally published a new post once every few months. Traffic started off low, maybe a few hundred people per month. I had two issues with using WordPress. First, the page load speeds were really slow. The slowness was a combination of the plugins and the theme that I was using at the time, however, it was taking 5-10 seconds per page load. Second, the site was using shared hosting (that cost $10 a month), however, my website would be offline for 5-10 hours every month due to the hosting company either doing 'maintenance' or my site being hacked 😛
As I work with Umbraco, updating this site to use Umbraco was an obvious choice. When I first converted this site from WordPress to Umbraco I originally hosted it within Azure. At the time, the site was getting around 15 thousand unique visitors per month, with total page requests ranging from 50,000-80,000 page views. Having the option to scale and grow infrastructure seemed like a good idea. After the site launched, my hosting cost jumped from around $10 a month to around £150 a month. This seemed steep! On the plus side, my page load speeds were ranked 89% from GTMatrix, the new design looked better and the number of visitors increased. All in all a successful upgrade!!
After a few months, I realized I could scale down some of my Azure services and my hosting costs dropped to about £50 a month. To run Umbraco in Azure you will probably get away with using the Azure shared hosting web application plan. You will also need to host the Umbraco database. The free database hosting option that Azure offers is pretty unusable with Umbraco. Page load times took over 20 seconds. I found the only way to get a page load under two seconds was to use the standard tier, which came to about £40 a month.
Making the site run over HTTPS was something I always wanted to do. Not only do you get SEO brownie points, but a site that runs over HTTPS looks more professional. At the time I was using MailChimp with my WordPress site to manage my newsletter subscriptions, however, I wanted to switch to using MailerLite as it was cheaper. One condition that MailerLite requires of its users is that any site that embeds its widgets runs over HTTPS. Unfortunately, Azure does not support SSL on the basic host plan. You can only run SSL with the standard tier hosting option, which is a big jump in price.
The Azure basic-tier cost is around £5 a month. To install an SSL certificate you need the standard hosting plan. The stand tier price is £55 a month. Paying an extra £540 per year on hosting just for HTTPS was not worth it. So I looked at other options.
Hosting Umbraco With MyAsp.Net
After some research MyAsp.Net looked like a good option. They support .NET 4.7.2 so you can run Umbraco V8. The hosting charges came to $5 a month, which would save me over £500 a year on hosting. They supported SSL for an additional £40 for 2 years. In terms of price, it's a good solid option to consider for Umbraco so I decided to try it out for 3 months.
The control panel within MyAsp.Net is definitely isn't as nice as Azure. It is not as feature-rich, however, for the difference in price it has pretty much everything you need to run a brochureware website. My Asp.net supports web deployments, so I can push code directly from Visual Studio. It also hooked my deployments up within Azure DevOps so I can confirm you can get a nice CI/CD pipeline working with MyAspNet. My only big issue moving the site over was permissions. I had a few issues getting permissions correct and this took me about an hour to figure out.
At the time of writing, I've been using MyAsp.Net for 3 months. My initial page loads are definitely slower compared to the more expensive Azure hosting, however, with caching the overall site speed in Page Insights is the same. One massive issue I encountered is that My AspNet got hacked and my site was down for 24 hours!!!!! Apparently, it has never happened before but as someone new to their service my vote is still out.
UPDATE: This is Jon 2 years in the future, the site is still hosted with MyAsp.Net and I have never encountered a hack since that day!
How Should I Host My Website?
If cost is a factor in your hosting decision, then I recommend MyAsp.Net, or, Umbraco Cloud. If you want to run your site over HTTPS then there will be a big price increase within Azure. Avoiding Azure will save you some money. Using HTTPS will mean you have expensive Azure servers that you do not need.
Running with Azure I had no outages in 2 years and the site ran slightly faster. Over 10 years, the change in hosting will save me £5,000 in fees. Personally, this saving is worth the trade-off of a fractionally slower site (few milliseconds). If you run a big e-commerce site or a site that generates income, I would use Azure. If you want to run a hobby project, or, brochureware site for a client where money is an important consideration then Azure is nice but there are cheaper options available to you.