Over the last few months the extent of community involvement and adoption of etcd has surpassed all our expectations. We wanted to take this opportunity to share with the wider community our plan for the ongoing development of etcd.
We want etcd to be a stable base for you to build distributed systems that are resilient to failures. Users of etcd should find things consistent and predictable, and client libraries should not need to be updated for years. In short, we need to get to 1.0, and this is clearly not where etcd is today.
We want to release etcd 1.0 later this year. This will require some significant changes which we have anticipated but, until now, specifically resisted the temptation to implement, so that we could maintain focus on working through complex, bigger picture problems.
Now that etcd has been baking in many production environments for some time, we’re ready to start forging ahead towards our 1.0 goal. At CoreOS, we ramped up the development team dedicated to the project. In the coming releases we will be focusing on:
- Efficiency - reduce CPU, memory, and network usage
- Scalability - run an arbitrary number of nodes in a cluster so nodes not participating in consensus can take over for downed peers
- Reliability - we want etcd to run in many different types of environments while maintaining its guarantees
- Testing - there is more to do here in terms of simulating network failures and fuzzing our system.
Next step: 0.4
Our upcoming release, etcd 0.4, adds a new feature, standby mode. It is an important first step in allowing etcd clusters to grow beyond just the peers that participate in consensus. This feature still needs work but we need your help testing it today. Additionally, we have bug fixes and other features that have landed. More details on this release when it ships soon.
If you have any questions, concerns, or want to participate in the roadmap of etcd 1.0, please get involved on github and join the mailing list where we will be posting regular, detailed updates.
The etcd team @ CoreOS