Встречайте 114-й выпуск подкаста! У меня в гостях Александр Кукушкин, database инженер в Zalando. Хотя, наверное, многие знают его как разработчика Patroni: A Template for PostgreSQL HA with ZooKeeper, etcd or Consul. Так что речь в этом выпуске пойдёт про PostgreSQL, кластеры, Patroni, облака, AWS, Kubernetes и даже про базы данных PostgreSQL в K8S :)
В начале выпуска Саша рассказал про переезд в Германию, насколько это было сложно и как прошло. Дальше Саша рассказал про компанию в целом, как давно он там работает и чем занимается.
Мы обсудили как устроена инфраструктура в компании в части баз данных, какие есть кластеры, их примерное количество и размеры. Саша рассказал про репликацию и резервирование данных внутри и между датацентрами.
Обсудили переезд сервисов и баз данных в облака: Саша рассказал как они переводили серверы баз данных в AWS, какие были потребности в отказоустойчивости и чем эти потребности закрывались. Именно тогда на свет появился Patroni.
Саша рассказал про устройство Patroni, как он работает и что умеет. Рассказал про его развитие, добавление новых фич, таких как управление конфигурацией PostgreSQL сервера, синхронизация конфигов. Рассказал про различные варианты использования DCS (distributed configuration store) и как он адаптировал Patroni для работы в кластере Kubernetes с минимальными накладными расходами.
Не могли мы пройти мимо темы облаков, контейнеризации и диспетчеризации контейнеров в целом. Так что подискутировали о том, какие выгоды даёт K8S и какие сложности приносит в разработку и сопровождение. Саша рассказал несколько интересных кейсов из опыта использования K8S в Zalando.
Ссылки на ресурсы по темам выпуска:
- Patroni: A Template for PostgreSQL HA with ZooKeeper, etcd or Consul
- Блог Афира про тестирование распределённых систем
- Kubernetes Failure Stories
- Kubernetes Janitor. Clean up (delete) Kubernetes resources after a configured TTL
Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon, звёздочками в iTunes, а так же ретвитом, постом и просто рассказом друзьям!