## Distributed Key-Value Store

### etcd

[Raft protocol illustration](http://thesecretlivesofdata.com/raft/)

### consul

A distributed Key value store is part of [consul.io](http://consul.io)

## Service Discovery

- [Sidekicks](https://coreos.com/docs/launching-containers/launching/launching-containers-fleet/#run-a-simple-sidekick) (CoreOS)
- [SkyDNS2](https://github.com/skynetservices/skydns2) (DNS sitting on top of etcd)
- [consul.io](http://consul.io) (not related to CoreOS)

## Dynamic Reverse Proxies

- [gogeta](https://github.com/nuxeo/gogeta)
- [vulcand](https://github.com/mailgun/vulcand) (written by Mailgun)
- [nginx + Lua](https://github.com/coreos/corelb/blob/master/nginx.conf) (talking to etcd, proof of concept)

## Semi-Dynamic Reverse Proxies

- Nginx + [confd](http://www.confd.io) - [blog post explaining it](brianketelsen.com/2014/02/25/using-nginx-confd-and-docker-for-zero-downtime-web-updates/)

## Alternatives

- [Project Atomic](http://www.projectatomic.io/)
- [Openshift](https://www.openshift.com)
- [Flynn](http://flynn.io/)
- [Dokku](https://github.com/progrium/dokku)
- [Deis](https://github.com/deis/deis)
- [Tsuru](http://tsuru.io)