Container Firm CoreOS Releases etcd3 Datacenter Management Tool
The company's flagship container infrastructure software was developed with close integration with Google's own container management software.
- By John K. Waters
Container software vendor CoreOS announced the first stable release of etcd v3.0.0, the latest version of its distributed key value store, at the recent Red Hat Summit. etcd3 includes a new data model and API features designed to make upgrades easier, implements new flexibility features such as transactional memory and distributed coordination primitives and supports a wider range of container-based applications.
One of the key changes in the etcd3 release is its use of gRPC, the high performance RPC framework Google released to open source last year, instead of JSON, for increased efficiency. Support for JSON endpoints is maintained through a gRPC gateway, the company explained in a blog post.
CoreOS bills itself as a maker of tools to help organizations run their servers the way Google does it -- the so-called Google Infrastructure For Everyone Else, or GIFEE, model -- and etcd has emerged as a key enabling technology of that model.
Well, not exactly emerged. In fact, etcd (pronounced "et-CD") is something of a secret sauce in Google's Kubernetes, Red Hat's OpenShift, Pivotal's Cloud Foundry, and a growing list of systems and solutions. It was originally designed to coordinate updates of the company's namesake Linux OS for containers, said CoreOS CTO Brandon Philips, and is now used for distributed networking, discovery, configuration data, scheduling, and load balancing services. It eventually evolved into a key value store with JSON endpoints, watchers on continuous key updates, and time-to-live (TTL) keys.
"Over the past two and a half years, etcd has grown beyond its original purpose of coordinating reboots on Linux operating systems to become a foundational piece of software for containers," Philips told me.
That etcd is integrated tightly with Google's Kubernetes open source cluster container management software is no surprise if you know about Chubby, a distributed lock service described in a Google white paper published in 2006 ("The Chubby Lock Service for Loosely-Coupled Distributed Systems," by Mike Burrows).
"One of the hard problems that Google solved early on inside their infrastructure is this concept of distributed consensus," Philips explained. "If I have, say, five machines in my datacenter, they need to agree about the state of something before they can make a decision about it -- there must be a 'consensus.' Google created Chubby, which uses a consensus algorithm. We created etcd, which implements as an open source project what Google describes in their Chubby white paper. Then, as the Google cloud was coming along, they decided to open source one of their technologies and used our implementation of their white paper as the basis for their new project."
Philips believes that the container revolution is having a mostly positive impact on the datacenter.
"There's a common pattern you see in datacenters," he said, "where you install the software and then you don't want to touch it, because you never want to cause downtime. But because software is never perfect, the install-it-and-leave-it methodology is not healthy. With containers you don't rely on any individual machine staying up in order for the apps to continue working. Operators are actually free now to manage their datacenters so that updates become a natural part of their day-to-day work. And with these smarter that use on consensus, like etcd, you can manage the workloads across your entire datacenter more effectively."
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].