In this chapter, we got familiar with the concept of consensus and discovery service. We understood that they play an essential role in orchestration clusters, as they provide services such as fault-tolerance and safe configurations. We analyzed a consensus algorithm, such as Raft in detail, before looking to two concrete Raft discovery services implementations, Etcd and Consul, putting things in practice and re-architecting basic examples with them. In the next chapter we're now going to start exploring SwarmKit and Swarm that use the embedded Etcd library.