В 2018 году Авито стал активно переходить от монолита к микросервисной архитектуре. Это повлекло за собой рост не только числа микросервисов, но и количества баз данных в соответствии с паттернами микросервисной архитектуры database per sevice и polyglot persistence. Такой переход сделал «самую большую нешардированную инсталляцию PostgreSQL в Европе» невостребованной. Вместо этого понадобилось много небольших инсталляций баз данных, и не только PostgreSQL.
Чтобы справиться с возрастающим спросом на создание и эксплуатацию баз данных, мы решили прибегнуть к ультимативной автоматизации. Несмотря на бытовавшее мнение, что kubernetes плохо подходит для эксплуатации баз данных, ответ нашли именно в нём.
В рамках доклада поделимся паттернами, которые мы выработали для запуска и эксплуатации баз данных в kubernetes. И даже больше: расскажем, как организовать их согласованную и надёжную работу, когда реплики разнесены по разным дата-центрам и kubernetes-кластерам. В конце покажем на примерах, каких результатов удалось достичь, и как они повлияли на процессы разработки в компании.