Starting a Homelab
# TL;DR
- I recently build my own homelab using a Dell T7910.
- Compared to a similar AWS setup, it cost me less to purchase than a single AWS monthly bill.
- AWS is raking in the profits, if you have to use AWS for large compute, upgrade instance type as much as possible.
- I intend to try and power my server using 100% home generated solar, will try to post projects at homelab.solar domain.
# Cloud VS Homelab
I've built computers since I was 13, and working as a software developer, I've enjoyed keeping upto date about PC/server hardware.
For the past 8 years I've built small and large software systems solely on one of the major cloud providers. Back in 2014, there were regular announcements of price cuts to EC2 and other foundational services, making The Cloud™ more and more appealing.
Then at some point around 2018, I noticed that for the instances I had been mostly using (M3/4 & R3/4) at the time, a long time had passed since any price drops.
New instance types were regularly coming out, which were more cost-effective, but the older generations stayed at the same price.
After some looking, I recently found "Zoran's Blog" post (opens new window) with some historic pricing comparison for the m3/r3 instances. While the r3/m3 instances are older, they are still available to use via the "On-Demand" pricing that has remained the same for the past 5 years.
I decided to expand on Zoran's table of pricing a bit.
VM | Monthly Cost (On Demand) July 2017 | April 2019 | December 2022 |
---|---|---|---|
m3.medium | ~$68 | ~$68 | ~$68 |
r3.large | $146 | $146 | $146 |
r3.2xlarge | ~$583 | ~$583 | ~$583 |
r3.4xlarge | ~$1,165 | ~$1,165 | ~$1,165 |
r3.8xlarge | ~$2,330 | ~$2,330 | ~$2,330 |
m4.4xlarge | ? | ? | ~$730 |
m4.10xlarge | ? | ? | ~$1,825 |
m5.4xlarge | ? | ? | ~$700 |
m6a.4xlarge | ~$630 |
From the table above you can see prices for instances are staying the same overtime, and looking at the last 3 rows, value is added by offering newer instance types at similar or less cost.
The m4.4xlarge is an interesting case. This is an instance that was released in 2015 using the Intel Xeon Haswell processors.
I bring this up as for my new homelab system I bought an older Dell Precision T7910 Xeon E5 system with 64GB of ram for $595 AUD ($405 USD) delivered. I replaced the 6 core CPU with a 14 core E5-2680 v4 for $94 AUD ($64 USD) giving me similar specs to the m4.4xlarge.
This gives me a 14 core/64gb RAM with 1TB NVME (via PCI Express adpater) system for significantly less than running the M4.4xlarge for a single month.
While the E5 series Haswell chips are likely half the speed per core/clock as the latest AMD Epyc or Intel server CPU, they are still extremely capable.
There are likely many customers on AWS that still are using these generation of machines that are paying through the nose, well beyond their running costs while AWS rakes in the profits.
AWS Operating Profits have skyrocketed since 2017 becoming 74% of Amazon's total profits in 2021, netting Amazon more than $18B (opens new window).
AWS offers a lot more than just raw compute, but with insanely high egress costs, it really pays off to look around and think about what kind of workload you will be running.
# My Homelab.solar
I decided to set up my own homelab as I wanted to have a dedicated linux machine I can use to experiment with business ideas and run my own services on like Mastodon and others, without having in the back of my mind the ever-increasing cloud bill.
My Dell T7910 uses about 105w mostly idle, so it will still cost me ~$200 AUD per year in electricity. One way to reduce this is to use my home solar generation to power the server, but like all solar power, you need to capture and store that energy for later use.
But I like the idea of using a home battery to not only provide my server with a UPS, but to power the setup using only power from the sun 🌞.
I'm looking into getting something like an EcoFlow Delta Pro which I can automate to only charge when my home solar is produces more than my house needs, to run my server at night.
These batteries are quite expensive, but hopefully I can use it to not only show an interesting set-up others might be interested in reading about, but also get others to think twice when it comes to defaulting to use AWS or one of the other large cloud providers when it comes to needing larger compute resources. Yes, it is convenient for sporadic workloads, but as we are heading into likely tough economical times, I think others will also be interested in reducing either their own or companies large (well understood) cloud compute costs.
Portable Lithium Iron Phosphate (LFP) batteries are nowhere near economical, but others are starting to be with growing energy costs, they are getting more attractive as time goes on.
To have some fun with it, I picked up the domain homelab.solar
and will look at starting to collect stats for solar energy consumption to show on a site.
I have a fibre connection at home which is more than enough for my current hosting needs, and intend to use this machine to host my experiments as I iterate on new business ideas overtime.
# Future improvements
Below is a few things I hope to add to the server in the coming year.
- 4xGPUs for computer vision experiments
- Additional E5-2680 v4
- 2.5" bay addon with additional drives
- Additional 256GB of memory
All up I hope to get the above for less than 3 months of the same m4.4xlarge would cost me giving me amount of compute power of something like a p2.8xlarge, at around 2 weeks of its monthly on-demand price of $5300 USD.