54
Docker в Badoo: ПМЖ или временная регистрация Антон Турецкий

Docker в Badoo: ПМЖ или временная регистрация

Embed Size (px)

Citation preview

Page 1: Docker в Badoo: ПМЖ или временная регистрация

Docker в Badoo:ПМЖ или временная регистрация

Антон Турецкий

Page 2: Docker в Badoo: ПМЖ или временная регистрация

Our Infrastructure~ 3000 servers

C/Go9%

PHP32%

Other22%

Photos15%

MySQL22%

Page 3: Docker в Badoo: ПМЖ или временная регистрация

Всё просто,понятно иочевидно где подвох?

Page 4: Docker в Badoo: ПМЖ или временная регистрация

Docker✦ 2013 год

Page 5: Docker в Badoo: ПМЖ или временная регистрация

Docker✦ 2013 год

✦ “Наброс” коллеги…

Page 6: Docker в Badoo: ПМЖ или временная регистрация

Docker✦ 2013 год

✦ “Наброс” коллеги…

✦ У нас проблемы?

Page 7: Docker в Badoo: ПМЖ или временная регистрация

SetupMonitoring

Support

Servers Network

Our Main Tasks

Page 8: Docker в Badoo: ПМЖ или временная регистрация

Our tools

✦ xCAT: Servers installation

✦ GLPI: Infrastructure inventory

✦ Puppet: Support infrastructure

Page 9: Docker в Badoo: ПМЖ или временная регистрация

Почему и зачеммне “набросили”про Docker? ну давай посмотрим…

Page 10: Docker в Badoo: ПМЖ или временная регистрация

What is that?

Reminder: 2013 year

Page 11: Docker в Badoo: ПМЖ или временная регистрация

Фигня какая-то…

Выводы

Page 12: Docker в Badoo: ПМЖ или временная регистрация

Фигня какая-то…

У меня много задач и нет времени на развлечения

Выводы

Page 13: Docker в Badoo: ПМЖ или временная регистрация

Фигня какая-то…

У меня много задач и нет времени на развлечения

“Потом” посмотрю… попозже

Выводы

Page 14: Docker в Badoo: ПМЖ или временная регистрация

Время быстро пролетело и “потом” настало

Page 15: Docker в Badoo: ПМЖ или временная регистрация

Where is the right place for Docker?

C/Go9%

PHP32%

Other22%

Photos15%

MySQL22%

Page 16: Docker в Badoo: ПМЖ или временная регистрация

Where is the right place for Docker?

C/Go9%

PHP32%

Other22%

Photos15%

MySQL22%

Page 17: Docker в Badoo: ПМЖ или временная регистрация

Что мы хотели?

✦ Одинаковое окружение для сервиса

Page 18: Docker в Badoo: ПМЖ или временная регистрация

Что мы хотели?

✦ Одинаковое окружение для сервиса

✦ Упрощение процедур:деплой, обновление, откат

Page 19: Docker в Badoo: ПМЖ или временная регистрация

Что мы хотели?

✦ Одинаковое окружение для сервиса

✦ Упрощение процедур: деплой, обновление, откат

✦ Сохранение обратной совместимости

Page 20: Docker в Badoo: ПМЖ или временная регистрация

Поехали!

Page 21: Docker в Badoo: ПМЖ или временная регистрация

Подготовка инфраструктуры

✦ “Старое” ядро на SLE-11

Page 22: Docker в Badoo: ПМЖ или временная регистрация

Подготовка инфраструктуры

✦ “Старое” ядро на SLE-11

✦ Выбор storage driver для Docker

Page 23: Docker в Badoo: ПМЖ или временная регистрация

Подготовка инфраструктуры

✦ “Старое” ядро на SLE-11

✦ Выбор storage driver для Docker

✦ Сеть в Docker

Page 24: Docker в Badoo: ПМЖ или временная регистрация

Первый блин комом как стать знаменитым внутри компании

Page 25: Docker в Badoo: ПМЖ или временная регистрация

Devicemapper / LVM

Downtime “по-взрослому”

Page 26: Docker в Badoo: ПМЖ или временная регистрация

Devicemapper / LVM

Network: nf_conntrack

Downtime “по-взрослому”

Page 27: Docker в Badoo: ПМЖ или временная регистрация

Devicemapper / LVM

Network: nf_conntrack

Во всех бедах виноват Docker

Downtime “по-взрослому”

Page 28: Docker в Badoo: ПМЖ или временная регистрация

Отступать – не наш метод.Делаем выводы.

Page 29: Docker в Badoo: ПМЖ или временная регистрация

First conclusions

✦ BTRFS as storage driver

Page 30: Docker в Badoo: ПМЖ или временная регистрация

First conclusions

✦ BTRFS as storage driver

✦ Disable connection tracking:use “--net=host”

Page 31: Docker в Badoo: ПМЖ или временная регистрация

First conclusions

✦ BTRFS as storage driver

✦ Disable connection tracking:use “--net=host”

✦ We need it in our infrastructure

Page 32: Docker в Badoo: ПМЖ или временная регистрация

Мы начали переносить свои сервисы в Docker, с парадигмой

“один сервис – один контейнер”

Page 33: Docker в Badoo: ПМЖ или временная регистрация

Нам нужно >1 службы в контейнере

(исторически сложилось). “Костылим” entrypoint.

Page 34: Docker в Badoo: ПМЖ или временная регистрация

Second checkpoint

✦ We need “init system” inside our containers

Page 35: Docker в Badoo: ПМЖ или временная регистрация

Second checkpoint

✦ We need “init system” inside our containers

✦ We need to send services’s logs outside our containers

Page 36: Docker в Badoo: ПМЖ или временная регистрация

Init insidecontainers

s6small

supervision suite

Page 37: Docker в Badoo: ПМЖ или временная регистрация

Logs collectioninteresting quest with syslog

Page 38: Docker в Badoo: ПМЖ или временная регистрация

Что я там про“обратную совместимость”

говорил?

Page 39: Docker в Badoo: ПМЖ или временная регистрация

Puppet

Badoo Port Map

Badoo Services Map

Управление инфрастуктурой

Page 40: Docker в Badoo: ПМЖ или временная регистрация

Наши дни

Page 41: Docker в Badoo: ПМЖ или временная регистрация

Latest Stable

✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)

Page 42: Docker в Badoo: ПМЖ или временная регистрация

Latest Stable

✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)

✦ OverlayFS as storage driver (BTRFS)

Page 43: Docker в Badoo: ПМЖ или временная регистрация

Latest Stable

✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)

✦ OverlayFS as storage driver (BTRFS)

✦ “--net=host” for network

Page 44: Docker в Badoo: ПМЖ или временная регистрация

Latest Stable

✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)

✦ OverlayFS as storage driver (BTRFS)

✦ “--net=host” for network

✦ Puppet for build Docker Images

Page 45: Docker в Badoo: ПМЖ или временная регистрация

Latest Stable

✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)

✦ OverlayFS as storage driver (BTRFS)

✦ “--net=host” for network

✦ Puppet for build Docker Images

✦ baDocker for orchestration

Page 46: Docker в Badoo: ПМЖ или временная регистрация

Latest Stable

✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)

✦ OverlayFS as storage driver (BTRFS)

✦ “--net=host” for network

✦ Puppet for build Docker Images

✦ baDocker for orchestration

✦ Our own tool for monitoring containers

Page 47: Docker в Badoo: ПМЖ или временная регистрация

2013

C/Go9%

PHP32%

Other22%

Photos15%

MySQL22%

Page 48: Docker в Badoo: ПМЖ или временная регистрация

2016

C/Go9%

PHP32%

Other22%

Photos15%

MySQL22%

Page 49: Docker в Badoo: ПМЖ или временная регистрация

Планы на ближайшее будущее

Page 50: Docker в Badoo: ПМЖ или временная регистрация

Our Future✦ All services in containers

Page 51: Docker в Badoo: ПМЖ или временная регистрация

Our Future✦ All services in containers

✦ baDocker improvements

Page 52: Docker в Badoo: ПМЖ или временная регистрация

Our Future✦ All services in containers

✦ baDocker improvements

✦ Dynamic configs for services

Page 53: Docker в Badoo: ПМЖ или временная регистрация

The original, largest and leading dating network

Page 54: Docker в Badoo: ПМЖ или временная регистрация

Спасибо!Антон Турецкий

[email protected]

@tyrchenok

@BadooDevhttp://habrahabr.ru/company/badoo/

https://tech.badoo.com/

предыдущие доклады про Docker: https://goo.gl/KcIhwG