Hey all!
It's been awhile since I wrote here, so it's time for a little update.
First of all, I apologize the domain is down, site should be up again any day now.
Now that we got that out of the way, let me tell you a little story. As you know, I have operated ScryptPool for quite some time, about two years!
It has been quite a journey and a lot of things learned. Which is why this latest maintenance has been going on for a long time as well.
I decided to take everything down with a notice of 3-6 months downtime, so that I could reorganize my infrastructure and allow it to scale in all directions.
This was not an easy task, and it involved quite a bit of research, trial and error and hardware investments. Those were some very long days.
Lessons learned:1.)
Things breakEverything from software to hardware, and when things break, they become unavailable and other problems start to happen as a result.
2.)
Power failureAs a hobbyist, I'm not able to give the pool power redundancy at this point. (*)
3.)
Software failureWallets crashes, hangs or lags terribly. What if I could spawn a new instance, and aid that wallet, seamlessly. (*)
4.)
Scheduled tasksEven though crontab is quite a powerful scheduler, it simply isn't enough for a system like this, where a lot of things are going on at the same time. (*)
5.)
ManagementA system like this is very complex, it consist of many small tasks that can stop or break. I spent several hours night after night fixing tasks that had failed. (*)
* The solution *Micro cloud. Now what the heck is a micro cloud ? Perhaps it's not the correct term. *shrugs*
To me it's a stack of microcomputers that are providing CPU and RAM in favor to a cluster.
What the heck man ? I know right..
Research begun, and after a few months it was time to take theory to practice.
I took 4x raspberry pi2's and arranged them in a small cluster (depicted in the link below).
RBPi's:
https://twitter.com/sioghi/status/777919980163723264Although not very pretty it was fully functional.
At this stage the total resources was 4 CPU's (16cores) and 4 GB of RAM across 4 nodes.
The cluster technology was still unstable and depended on 3rd party modules and very hard to configure and expand.
A few more months passed, spending night after night doing research and test deploying a couple of wallets in the test-cluster and messing around with scheduling and isolation (Shit's gotta be secure!). The containerizing software matured and the features from the 3rd party modules became native.. It was finally time to notch it up a bit.
I ripped the test-cluster apart and ordered new parts...
Now we wait... and wait... some parts arrive and I jump with joy, not really, because I still had to wait on more parts, screws, cables, etc. and wait, and wait some more and finally...
I had enough parts to start putting them together:
https://twitter.com/sioghi/status/792047122682155008Those are 12 compute-nodes, all raspberry pi3's with a total of 12 CPU's (48 cores) and 12 GB of RAM. Each also have a 16 GB class10 micro sdcard to host the OS and node-agent.
Having that said, there are still more things to be done.
You can follow me on twitter
@sioghiI tweet about all kinds of cool cloud computing related stuff.
All the best.
/Bejjan