Home Labs are Great. The Cost of Living Crisis Makes AWS Better.
Now this one is a hot take…
Right. This one is from the perspective of a British habitual homelabber, and I have both home servers and VM’s up in public cloud. I’ve also tried Azure, Hetzner and AWS. Additionally, I’m talking both about hosting the services you want in the best way and learning the tech in the best way.
With enough qualifying statements, here we go.
Cloud Wars: Big Energy Strikes Back. #
28p a Kwh. 28 Great British pence sterling. Like many essential things in the last decade, energy has become much more expensive.
With most of the big cloud providers having a large financial cushion, and fixed term energy contracts, they’ve been able to survive a larger-than-usual rise in prices. While some hosting providers are indeed raising prices, things seem to have been quite rosy from an outsiders perspective for most.
In the UK, We’ve seen energy prices essentially double in just two years while public cloud prices have only gone down and performance has gone up.
Spotting The Cost #
You might look at AWS Pricing and think that unless you can afford the equivalent of a superyacht upfront every 3 years, you’re going to be paying a lot more with AWS than anyone else. However, there’s one often-ignored feature: Spot instances.
Spot instances is what makes AWS affordable for many more people. Achieving up to a 90% discount compared to on-demand, this is even better than the best savings plans you can get. That’s because Spot instances are effectively ‘spare’ capacity that AWS has, and can’t foresee demand reaching the supply it has. This does mean that some instance types will be hard/impossible to get reliably, but I personally haven’t faced any issues.
As you can see, it’s not the cheapest but definitely not the most expensive here. Considering the value AWS provides is in it’s API’s and other tooling, this is much better than I expected. Frankfurt is also one of the more expensive regions spot-wise. In N.Virginia, you can expect to pay around £7.30 , making it even more tempting. Other instances get even cheaper for the same resources, so I’d advise you do your own research for what you want to run.
Spot instances aren’t perfect. You have to do some research using the AWS Docs to figure out if Spot instances will work in your use case. However, this got me learning even more. In the application I wanted to use them with, it wouldn’t work because manual config was needed. That’s where I then got on an Ansible rabbit hole. I’ll let you know when I’m out of that one.
Out with the Old, In with the New #
Companies absolutely love to save money. Usually, that means keeping whatever old thing they have instead of replacing it with the new and shiny thing without realising that this is actually costing them more money.
However especially with enterprises, many are switching to the Cloud. Depending on who you ask, anywhere from 90-95% of larger businesses use the Cloud in some extent, and 60% have migrated their own workloads to the cloud.
As the people maintaining what our organizations are using, we’ve got to keep up. As a former old-hat myself, still running a TrueNAS box and a few on-prem VM’s, Public Cloud felt intimidating. It still does funnily enough, but for a much better way. There’s now so much more that has been opened up for me to learn that actually feels fun and rewarding, rather than just “Learn X linux distro, now learn Y linux distro.”
Learning & Career Paths #
My general opinion is that you have to learn how to be a good SysAdmin to be a good Cloud Engineer, while naturally the opposite doesn’t apply. Even if you never touch any cloud server OS’s directly, you still have to know so many overlapping principles that you’re not exactly losing out on learning more traditional skills.
I originally went into Cloud as a bit of an accident, joining a business that mainly needed a Linux engineer but also someone that could use AWS every now and then. Turns out the priorities were completely flipped so I ended up having to learn AWS fast. What I learned there as well, was that Cloud as a whole is getting so much better for careers than anyone could’ve imagined even 3 years ago.
Ignoring the fact that the game AWS Cloud Quest exists, Cloud concepts are getting easier and easier to learn. The question I hear most is “Which Cloud Provider do I certify with?” There’s two answers to this one I usually give out.
The first is “Try yourself!” which I acknowledge is a bit of a copout. However, the AWS Free Tier and Free Azure Services are absolutely brilliant for getting started.
The second is to see where your existing knowledge and aspirations are, and seeing what more closely aligns with that. In my role, I’ve found that both Linux deployments, and services in AWS closer to Orchestration and Dev/DevOps such as Elastic Kubernetes Services and Lambda are much better than the Azure equivalent. I only just found out that as of May 2022, AKS autoscaling only works if you have pending pods!
However, if you combine the fact that Windows VM’s on Azure are cheaper, perform better, and typically are much easier to manage, you might actually want to use Azure for those deployments. On top of that, while AWS’s documentation is thorough, it is pretty hard to read as a newbie. Only after getting my AWS Solutions Architect cert did I finally figure out how to navigate the documentation at a good pace.
Automation & Deployment #
As much as knowing manual configuration in and out is necessary still and will stay somewhat relevant, automation is the new keyword that’s evidently sticking. Ansible and Terraform are terms that I’ve personally heard much more in the last couple of years compared to any other time, and looking at Terraform’s GitHub getting over 32k stars , it’s getting much more popular.
Hashicorp Configuration Language (HCL) is tough for someone that has no programming experience, but only because of the lack of learning out there. In the book world, we’re not exactly seeing Pearson or Mike Meyers get stuck in. The two I’d recommend are Ned Bellavance’s Associate Prep Guide for studying the Terraform Associate cert, and Terraform Up and Running for a more broad look. Both are great for learning Terraform from the ground up.
Now, I don’t know much about Development Deployment models just yet. That’s for the coming months in my DevOps journey. However, what I can say is that it’s an absolute pain to lab CI/CD and pipelines in a self-hosted manner. Requiring a full tech stack for CI/CD is honestly a bit confusing to me. Hopefully someone who’s tried both self-hosted dev pipelines and something like Azure DevOps can show me the way here.