We're proud to announce that etcd 3 has passed our criteria for leaving beta and moving into full production use with etcd 3.2.7 on Compose. This also marks the start of phasing out the beta etcd 2.
The update to etcd 3 was quite a change for etcd users, bringing new concepts and new protocols to the consensus-driven distributed database. Since etcd 3's introduction on Compose in July, we've had users exercising the gRPC-based protocol, the freshly flattened keyspace, transactions, leases, watches and other new features. Those new elements have delivered and have given a more reliable and scalable database.
That's why etcd 3 is now moving to the top table at Compose and join our other production services: MongoDB, Elasticsearch, PostgreSQL, Redis, RethinkDB and Scylla databases and RabbitMQ messaging.
With etcd, the Compose database lineup gains a database that was designed with a very particular purpose - configuration management. That's where you have numerous systems working together and you need to ensure they are able to rely on a source-of-truth; a database where the query results come from a consensus of servers working together. In etcd's case, that means it's built on the Raft Consensus Algorithm so it can also gracefully handle nodes failing and leader re-elections.
That's why, for example, you'll find etcd 3 at the backend of Kubernetes systems enabling service discovery, storing state and managing configuration data for the container orchestration platform.
With Compose etcd, you can rely on our platform to deliver that source-of-truth database so you can get on with orchestrating your applications and services.
What of etcd 2?
A brief word about etcd 2 and the v2 API. We began our etcd betas back at the end of 2015 with etcd 2 and the v2 API, and they will not be leaving beta. Despite pioneering the ideas which led to etcd 3, etcd 2's end of life is due early next year and we aren't going to take it out of beta to retire it within months. We are encouraging our etcd 2 users to migrate to etcd 3 and the etcd v3 API as soon as possible. In November, we'll stop allowing new etcd 2 deployments and completely cease etcd 2 support in February 2018.
Getting ready for etcd 3
If you're new to etcd and want to know more, then check out this Compose Article, Utilizing Etcd3 with Go which will give you a taste of how to use the key/value store and some of its attributes. Compose Help is also there with information on connecting to etcd 3, using etcd 3 features from the command line and how to use Compose features.
If you are coming from etcd 2, then we've previously looked at the differences between the two APIs, etcd v2 and v3. The short version is that between etcd 2 and etcd 3, a completely new API was introduced; the older API is referred to as the etcd v2 API, the new and current API is etcd v3. By changing the API from v2's HTTP/REST-based system to v3's gRPC-based system, the etcd developers opened the way to a more expressive, scalable and powerful system.
Waiting for changes which previously ate up connections into the database are superseded by a multiplexed watcher system. Individual time to live settings are superseded by a sharable lease system and the atomic compare-and-swap operations are replaced with a much more expressing mini-transaction system.
If you've used etcd v2 and want to know what changes need to be made, check out our application migration guide which covers these and other changes.
At Compose, we'll be looking at the ways we can enhance the etcd experience for our users. We'll also be continuing to build up our library of resources to support developers using etcd. We're tracking etcd libraries so we'll have new tutorials and example code developed for them to make adopting etcd easier.
Read more articles about Compose databases - use our Curated Collections Guide for articles on each database type. If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at firstname.lastname@example.org. We're happy to hear from you.
attribution Mike Wilson