Penny Pinching for Hobbyist Developers

Posted by Phil on February 28, 2017

My friend and work colleague drew my attention to a recent Scott Hanselman blog post last week about "Penny Pinching in the Cloud", in which Scott looks at how best to economise on your Azure-hosted sites and which plans make the most sense for the applications / sites you run.

Scott points out that he has a lot (like, a lot) of sites that he's running under the S1 - Standard plan. For the roughly 20 different sites he's running, he's paying around USD $70.00 per month. If your data centre is based out of the US, then that's about bang on the Azure estimates. There are a couple of issues with that ballpark though:

  • It assumes pricing for US residents with US-centric data centres
  • It assumes a scale of operation that is typically well beyond the average hobby developer / personal site enthusiast

For example, if I look at that same service tier, but based out of Azure's Australia Southeast (since I'm in New Zealand and it makes more sense to locate my services closer to home) and change the currency to New Zealand Dollars, suddenly I'm looking at a monthly bill of around NZD $140.00 per month. That's a hell of a difference. And even if it was still $70, I'm not sure I can really justify that degree of outgoings on sites that often aren't intended to earn me much (or any) money.

My own personal site, for example, is run totally ad-free at my own expense. I have a couple of other things I'm working on as side projects. This site has quite a few images stored locally and of course I have a SQL Server database backing on to it. The other sites range from .net core sandbox sites to pro-bono community stuff and some education and engagement ideas. So the costs start to tick upwards quickly, depending on traffic.

Even dropping back to Azure's Basic - B1 tier, I'm still in the gun for around $80 - $100 NZD per month. I can drop back further to a Shared instance, which would ballpark my sites at around NZD $20 per month but that's a per site cost; not a total cost, so there's a break-even point at around 4 - 5 sites before I'm actually paying even more per month than I would be on one of the higher tiers.

Then there's the question of resources. At a Basic tier, I'll get 1.75Gb of RAM with 1 core and 10Gb of disk space to play with. That's nuts. That's all I get for $100 per month?! Insane. Unless I plan to somehow monetise one or more of my applications, this pricing just does not scale for my purposes. Azure is not the solution for me.

So what's my better option, then?

Azure is not the solution for me.

Well there are a few. I have reasonably cheap options with the likes of IX Web Hosting for example, which offers 3 dedicated IPs with unlimited shared hosting resources. At USD $4.50 per month that's a pretty good price! It does mean that I don't have full control over the framework versions and other back end options such as database types, but at that price it's a pretty reasonable trade-off.

But if I want full control over a web server so that I manage everything, Togglebox offer ridiculously competitive pricing for Virtual Private Server (VPS) options. Let's work out what I want using their calculator:

I want to host a handful of sites that expect low yield traffic - maybe around 50 - 100 visits per day. So I don't need a massively powerful machine. 2 cores should do it. I'll want a reasonable amount of RAM since I'm running a couple of resource-eager services, so I think 8Gb would be best. And finally, I'm going to need to install all my own services and frameworks, so disk space is important. I'll want to get at least 80Gb to start with, I think.

Based on those criteria, Togglebox's calculator estimates I'd be spending around USD $30 per month. That's about $40 in New Zealand dollars. That's perfect!

The bonus here is that I can secure my sites for free with Let's Encrypt, I can install PostgreSQL for my .net core applications, which again is free and I have full control over the .Net framework versions I'm running without having to pay for the additional stuff that adds no value for me. The downside is I have more manual configuration and management to take care of.

 

Everyone's circumstances and needs are obviously different. This is absolutely not some sort of "Azure sucks! Don't use it!" post, because that's ridiculous. Azure offers a superb suite of services and makes a very competitive story for businesses and organisations with the scale to operate at the price points it sets. But for people who are just dabbling or don't want to work at those scales, virtual private server or shared hosting options are still the better way to go.

Shopping around can save a lot of cost and provide the sort of autonomy that is its own reward.