PGCon2017 - 20180510

PGCon 2017
The PostgreSQL Conference

Alexander Kukushkin
Day Talks - Day 2 - 2017-05-26
Room DMS 1110
Start time 10:00
Duration 00:45
ID 1063
Event type Lecture
Track DBA
Language used for presentation English

PostgreSQL HA in the clouds with Docker, Spilo and Patroni.

Automatic Failover and new nodes provisioning made easy.

Zalando, Europe’s leading online fashion platform, trusts PostgreSQL to manage more than 15TB of data in total. While PostgreSQL is rock-solid and robust, it doesn't have built-in failover capabilities. In order to rapidly deploy and reliably run hundreds PostgreSQL clusters on Amazon cloud we've developed Patroni, a daemon to manage PostgreSQL.

Unlike the majority of existing solutions for automatic failover it requires minimal efforts to configure the HA PostgreSQL cluster and supports new nodes autodiscovery. Patroni uses Distributed Configuration Store (Etcd, Zookeeper or Consul) to keep information about the current cluster state and to reliably detect master failure. I will explain how Patroni works, how we use it at the core of Zalando’s cloud-based PostgreSQL-as-a-Service infrastructure. I will describe the process of moving our infrastructure from plain AWS deployment to a Kubernetes cluster running on top of AWS and live-demo the creation of a new high-availability cluster Spilo - our docker based deployment.

Patroni is a Python open-source daemon developed by Zalando in cooperation with other contributors on GitHub: