My staking pool journey from AWS to Home setup

Hi

I start my pool [RICE] about 6 months ago, it started out hosted on AWS, and in the last month I switch it to my home network instead, just want to share my journey hope to help other wanting to start one.

When I first started, I compare Home vs AWS setup, and estimate that it would be about 1 time $1500 to $2000 home setup, versus AWS $200 a month on-going cost. I picked AWS, thinking I can stop it anytime, also a good learning experience for myself on AWS. It has many benefit over home setup, such as easily scale up or scale out, many level of redundancy, multi location networking, up-time, etc.

I then created the pool with 4 virtual machine (1 block, 2 relays, and 1 bastion), it was working fine, but the cost end up over $300 Canadian a month (other cost I didn’t foresee in the beginning). I want to save some cost, and there is something call Reserve Instance on AWS. For example, for a t3.large instance (2 cpu, 8GB ram), which is what I used, the normal on-demand cost is $0.0928 per hour. But if you get Reserve Instance, you commit to a 1 year term, they charge you once a month, and it equals to about $0.059 per hour, that’s 36% saving, which is pretty big. So I sign up for that for 1 year. It was ok at the time, because I give myself budget for 1 year of AWS hosting regardless if I can make any blocks, just want to have fun and learn about Cardano.

But then Cardano release 1.29, and I start having problem with the nodes. It end up being not enough RAM, and the nodes halt from time to time. I end up increase the instance to the next level (4 cpu, 16GB Ram), which double the cost, and I lose the use of the Reserve Instance, so I am paying triple the normal cost. Reserve Instance, you buy it as the instance type (t3.large in my example). So if I change the instance type to something else, those cost saving cannot apply. You can try to sell those Reserve Instance, so far I am able to sell 1. Still need to pay the 6 more months of what I signed up for the 1 year term.

I had that running for a few weeks, and it’s not sustainable for my situation, specially I don’t have huge amount of staking, no blocks are being made (which I expected). I had to come up with something quick or my money is going out quick.

So I decied to switch to my Home network. Bought a business grade firewall, so I can do all sort of VLAN and security measure I needed to. Bought 3 x Dell Optiplex 3050, used. Added more ram and a new SSD, so they are 20GB Ram and 250GB SSD. Also bought a Raspberry Pi, treat it as the Bastion host to SSH to my other nodes for security. All of this cost me about $1300 CAD, which is still lower compare to keep going on with AWS with the larger instance type (probably be $500+ a month).

I might be wrong on this, but from what I can see, Cardano’s future release will need to support more functions, more features, and the system requirements will just keep increasing. It used to be 4GB Ram, now seems 8GB is no enough, who know if it will be 16GB as minimal in the near future.

So in summary, here is my thought:

AWS (or any cloud base) - great infrastructure, you can do so much with it that you cannot do at home. Go for this if money isn’t an issue for you, or you already has millions of ADA (or friends with millions of ADA), so that you have a base number of block produced a month to cover you cost. Other wise, if you are like me, the increasing system requirement will drive the AWS hosting cost higher and higher, and not ok for someone to start small.

Home - Great if you already has hardware hanging around, or buy used hardware like I did. Make sure you have a stable and fast Internet. Get an above consumer grade firewall, or else your nodes setup won’t be secure. At least something that can do VLAN and create firewall policy around them, to separate the nodes. If your ISP can provide you with static IP, that’s great, if not, you can try doing dynamic DNS, while setting your relay node’s address as domain name, not IP base, so you can update your IP anytime.

Raspberry Pi - base on the potential increasing RAM requirement, I am not sure if Raspberry Pi, currently at 8GB max, can be futureproof. From what I read not everyone has issue with 1.29/1.30 with 8GB Ram, there are optimization you can do, but there are no gurantee that Cardano won’t exceed the 8GB minimum requirement. Also I don’t think Raspberry Pi will release a 16GB Ram version, heavy duty stuff is not what Pi designed for. I hope they will release one, which would be great for Raspberry Pi pool.

Now I got my pool finalized, I will try to create more contents on my website, hopefully someone will stake in my pool. And since I am hosting it at home, I don’t have much ongoing cost, beside may be getting more nodes, or upgrade the nodes, which is minmal cost. Base on that, I will keep my pool forever, probably small hope to make blocks, but being part of the decentralization is worth it.

Thanks for reading my first long post.
Below is the link to my pool if you are interested, I kept the Architecture page for both AWS and Home setup, in case anyone interested

Website : https://stakeyrice.io

Home Architecture : https://www.stakeyrice.io/architecture/

AWS Architecture : https://www.stakeyrice.io/architecture_old/

On ADA Pool : https://adapools.org/pool/af45f11f3d01368445343a62055de8b51893239bc3eb496e3f2321ce

2 Likes

Interesting post, don’t forget to buy UPS and probably you need backup internet connection too, if you don’t have it.

3 Likes

Very insightful post, thank you, i thinking about doing a cardano stake pool too, i will take your experience in consideration. Btw, i saw in your sys architecture page that you use a Dell Optiplex Mini, which version it is?

Thanks AshDev, I wrote this wrong, it’s a Dell Optiplex Micro 3050, i3-7100T, 4GB Ram 128GB SSD. It has 2 Ram slot, I added a 16GB ram to make it 20GB, and didn’t use the 128GB SSD as I don’t know how used it was, and got a new 250GB SSD (they are cheap anyway).

I pick the Micro because of power saving. The bigger optiplex use at least twice the power in terms of CPU.

You can find those on eBay too. I also considered Lenovo Tiny, or HP ProDesk mini.

One thing to watchout is, for some older or lower end model, they might have a max RAM limit, some are 8GB, some are 16GB. In my case it’s 32GB, so I should be good.

2 Likes

Nice work RICE!

I run KAKIS pool and have made a similar switch lately, albeit a more hybrid approach (mix of cloud and on premise setup). Will look to transition completely off cloud once we can secure location with reliable power and network!

It is interesting to see fellow SPO going thru the same journey. Had problem after 1.29.1 upgrade, coming to the realization that running on cloud is not that feasible and finally taking the leap to hosting the nodes on our own.

All the best!

2 Likes

Hi HenryBee, same to you, nice to see SPO in similar situation, congrats to you on making blocks! Good luck to you.

Good write up. I am also running baremetal. I have been successfully running my stake pool on used SFF servers, which I recently upgraded to 16bg of ram given the Alonzo upgrade. At 100w to run the servers of power my monthly overhead is very low.

Overall, this kind of hardward is well within the reach of anyone. It is the delegation aspect that is hard.

I hope your pool grows!

1 Like