Reducing cost
April 5, 2023
Austerity measures
According to Revolut, I spent 3,475.92 EUR on Self Hosting in 2022, or 289.66 EUR per month. That equated to 9% of my total expenditure, again referring to Revolut numbers. I only started using Revolut as my full time account a few months into 2022, so while there is not a complete picture in terms of data, the result is probably the same. Huge costs, spent monthly on a hobby that apart from knowledge, does not really turn a profit.
I don’t think hobbies should turn a profit financially, the profit is the fun you have!! While I do have plans to offset the monthly cost in my self hosting life, one of the other things I elected to start doing is reducing the overall expenditure. For a hobby with the name “Self” in it, there was a lot of hosting I was not doing myself at home. Through 2021, my predominate expenditure was on a bare metal server with OVHcloud. I cancelled that subscription at the end of its term due to over provisioning and not liking the commitment. Plus, I feel that OVHcloud has a bit more to do in terms of becoming a real player in the cloud market and I did not think they were ready for prime time at the time of usage. Yes, I’m not exactly a huge enterprise, but there should be a joyful experience in the usage of the product irrespective of customer.
So, AWS began to gain the lion share of my monthly expenditure. Predominately the two things that I was running there in terms of compute was:
- My monitoring stack
- CI runners
For monitoring, my approach to doing this on cloud was that if it was monitoring things at home, then it should be external to home. If something goes wrong at home then my monitoring itself would go down which would not be optimal. In the end though, the wallet talks. There was three tools, each deployed to a T3.Small instance. That’s a dual core, 2GB RAM instance so a total of six cores and 6GB of RAM. When I relocated each tool to an Intel NUC at home, the total memory footprint was 900MB of RAM. Talk about overkill!
For CI runners, I touched on this in my ‘defaulting on my technical debt’ post. But I was running VMs for GitLab as a middle ground after I stopped self hosting GitLab itself. It was fine, but I quickly found that my usage patterns were exceeding the same, T3.Small instances I had provisioned. The issue I faced was that Terraform plans seemed to be consuming all the memory of the instance and locking the machine. After scaling the machines up to the T3.Medium size, the problem resolved but I knew I should not sustain that cost. After some soul searching and financial forecasting, I elected to return to GitHub and go back into the Actions ecosystem, using managed runners.
In the end for my AWS bill specifically, I reduced monthly costs by 80%. I still have some footprint, that I put on an annual upfront savings plan as versus a monthly no upfront plan. Currently I now have about 40-50 EUR a month being spent on cloud, which when I do the yearly math it works out to just shy of an 86% reduction? Ironically I think my cloud cost started to spiral when I took offline my very basic, cloud cost monitoring service. Definitely an item on the to do list to rebuild and redeploy that service!
In the end the main action taken, involved just moving services back home to local compute. I will probably spend more money on local hardware, but I think saving for that hardware and realising it’s cost is spread out over, three to five years most likely, is a more healthy approach. I took a new view to my self hosting efforts and have done a lot more planning into what I want this hobby to be for me. It’s a 2.0 approach so to speak, which I am looking forward to talking about in the coming weeks. In short, actually planning projects and actually finishing projects, is my main aim going forward. Trying to reduce the stack of started but never finished ideas!
Thank you!
You could of consumed content on any website, but you went ahead and consumed my content, so I'm very grateful! If you liked this, then you might like this other piece of content I worked on.
That cloud cost API I forgot aboutPhotographer
I've no real claim to fame when it comes to good photos, so it's why the header photo for this post was shot by Taylor Vick . You can find some more photos from them on Unsplash. Unsplash is a great place to source photos for your website, presentation and more! But it wouldn't be anything without the photographers who put in the work.
Find Them On UnsplashSupport what I do
I write for the love and passion I have for technology. Just reading and sharing my articles is more than enough. But if you want to offer more direct support, then you can support the running costs of my website by donating via Stripe. Only do so if you feel I have truly delivered value, but as I said, your readership is more than enough already. Thank you :)
Support My Work