Ether Cattle Initiative
The Ether Cattle Initiative is a project to reduce the operational complexity of managing Ethereum clients at the scale required of a dApp with lots of moving parts (specifically OpenRelay).
We started with Technical Design Documentation, applying the age-old database concepts of streaming replication to Ethereum clients.
Then we built a fork of Geth which includes this streaming replication capability, as well as a replica service that can be scaled to meet the highest demands of a dApp. It is also possible to quickly replace a failed master with an already synced replica server in just a few minutes, while recovering from even a day-old backup can take hours of syncing from the Ethereum network.
Subsequently, wrote documentation for how to run an Ether Cattle cluster on your own infrastructure.
Finally, we have developed a CloudFormation stack and corresponding documentation that will deploy an Ether Cattle Cluster in AWS with relatively minimal human interaction.
Do you plan to keep this up-to-date with upstream Geth?
Yes. We periodically merge Geth's release tags back into our fork. We don't try to keep up with the master branch, as we've found it sometimes gets a bit unstable. Sometimes we might be one or two point releases behind, but we're in this for the long haul, and eventually we'll need to add support for a new hard fork, and we don't want to be too far behind when that happens. We only touch the core codebase in a few places, so these merges are usually pretty straightforward.
Do you plan to merge your changes back into Geth?
We're definitely open to the idea. The changes we've made are bigger than a typical Geth pull request, so we'd need to work closely with the Geth team to work out a plan.