Now on Compose: etcd 3


TL;DR: etcd 3 is now available on Compose, alongside etcd 2, with an API built for scale.

We are proud to announce the immediate availability of etcd 3 on Compose. You are now able to select etcd v3.2.1 as a deployment option when you create an etcd database on Compose. etcd is the database that helps orchestrate applications and cloud infrastructure by providing a source of truth to all. It's a fundamental building brick in the modern cloud stack. We've seen great things being done with etcd 2 on Compose; now it's time for the latest version to take to the Compose platform.

etcd is one of the specialized databases at Compose that we are proud to support. Built to provide a stable, reliable, ultra-consistent key/value store for application configuration, etcd has become regarded as the leader in configuration data management. The distributed database, which we run at Compose with three data nodes, is kept in perfect synchronization by use of the RAFT consensus algorithm. Configuration data and service states could be stored in the key/value store with a very high confidence and an ability to verify changes through a sequential index.

What's new with etcd 3

As always, though, with popularity comes challenges. With etcd 2, the HTTP request-based API is very accessible. As people put etcd into ever larger, more challenging environments, it became clear to the developers that the simple HTTP request came with too many trade-offs and limited scale. They needed a better API layer to support their future plans.

That's why etcd 3 has a whole new gRPC based API which uses HTTP/2 based bi-directional streaming and protobuf request encoding. The result is a more efficient and more scalable etcd which any application architect or cloud orchestrator would be pleased to have providing the data layer to their infrastructure.

It's best explained by comparison. In etcd 2, watching a key for changes could eat up a whole network connection, but in etcd 3, it packs all watched key notifications into one efficient channel. Where setting up TTL's for multiple associated keys was an intricate task in etcd 2, with etcd 3's leases it becomes easy to keep those keys in sync, expiring together. And finally, where etcd 2 had powerful ACID compare-and-swap operations, etcd3 doubles up the power with flexible transactions able to test many things and apply many changes all in one operation. We've written more about this in etcd 2 to 3: new APIs and new possibilities.

This major API change, combined with multiple internal refinements of the server means this really is the best etcd to date. And now you can have it on Compose. We've also brought our high-resolution auto-scaling, previously only available on Redis, to etcd to make it more responsive to increasing resource usage.

Getting etcd 3

If you want to dive in and read more about etcd3 on Compose, we have documentation which covers everything from the database's capabilities, working with the database via command line and API and more.

We'll talk about how existing etcd 2 users can upgrade in an article soon as there's a number of steps to doing this successfully.

For a new deployment, as with all databases on Compose, just go to Create Deployment in your Compose Account. There you can select etcd in the list of databases on the left, select a name, location, version (3.2.1) and initial capacity. Then click Create Deployment and within a few minutes, you'll have etcd 3 at your fingertips.

If you don't have a Compose account, sign up now for a thirty-day free trial where you can use etcd or any other Compose databases and see which will be the foundations you build your data layer on.

If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at We're happy to hear from you.

attribution Ronald Yang

Dj Walker-Morgan
Dj Walker-Morgan was Compose's resident Content Curator, and has been both a developer and writer since Apples came in II flavors and Commodores had Pets. Love this article? Head over to Dj Walker-Morgan’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.