SlideShare a Scribd company logo
Docker в Badoo:

ПМЖ или временная регистрация
Антон Турецкий
Our Infrastructure
~ 3000 servers
C/Go
9%
PHP32%
Other22%
Photos
15%
MySQL22%
Всё просто,

понятно и

очевидно
где подвох?
Docker
✦ 2013 год
Docker
✦ 2013 год
✦ “Наброс” коллеги…
Docker
✦ 2013 год
✦ “Наброс” коллеги…
✦ У нас проблемы?
Setup

Monitoring

Support
Servers Network
Our Main Tasks
Our tools
✦ xCAT: Servers installation
✦ GLPI: Infrastructure inventory
✦ Puppet: Support infrastructure
Почему и зачем

мне “набросили”

про Docker?
ну давай посмотрим…
What is that?
Reminder: 2013 year
Фигня какая-то…
Выводы
Фигня какая-то…
У меня много
задач и нет
времени на
развлечения
Выводы
Фигня какая-то…
У меня много
задач и нет
времени на
развлечения
“Потом”
посмотрю…
попозже
Выводы
Время быстро пролетело и
“потом” настало
Where is the right place for Docker?
C/Go
9%
PHP32%
Other22%
Photos
15%
MySQL22%
Where is the right place for Docker?
C/Go
9%
PHP32%
Other22%
Photos
15%
MySQL22%
Что мы хотели?
✦ Одинаковое окружение для сервиса
Что мы хотели?
✦ Одинаковое окружение для сервиса
✦ Упрощение процедур:

деплой, обновление, откат
Что мы хотели?
✦ Одинаковое окружение для сервиса
✦ Упрощение процедур:

деплой, обновление, откат
✦ Сохранение обратной совместимости
Поехали!
Подготовка инфраструктуры
✦ “Старое” ядро на SLE-11
Подготовка инфраструктуры
✦ “Старое” ядро на SLE-11
✦ Выбор storage driver для Docker
Подготовка инфраструктуры
✦ “Старое” ядро на SLE-11
✦ Выбор storage driver для Docker
✦ Сеть в Docker
Первый
блин комом
как стать знаменитым внутри компании
Devicemapper / LVM
Downtime “по-взрослому”
Devicemapper / LVM
Network:
nf_conntrack
Downtime “по-взрослому”
Devicemapper / LVM
Network:
nf_conntrack
Во всех бедах
виноват Docker
Downtime “по-взрослому”
Отступать – не наш метод.

Делаем выводы.
First conclusions
✦ BTRFS as storage driver
First conclusions
✦ BTRFS as storage driver
✦ Disable connection tracking:

use “--net=host”
First conclusions
✦ BTRFS as storage driver
✦ Disable connection tracking:

use “--net=host”
✦ We need it in our infrastructure
Мы начали переносить свои сервисы в
Docker, с парадигмой 

“один сервис – один контейнер”
Нам нужно >1 службы в
контейнере

(исторически сложилось).
“Костылим” entrypoint.
Second checkpoint
✦ We need “init system” inside our containers
Second checkpoint
✦ We need “init system” inside our containers
✦ We need to send services’s logs outside our
containers
Init inside

containers
s6

small 

supervision 

suite
Logs collection
interesting quest with syslog
Что я там про

“обратную совместимость”
говорил?
Puppet
Badoo Port Map
Badoo Services Map
Управление инфрастуктурой
Наши дни
Latest Stable
✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)
Latest Stable
✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)
✦ OverlayFS as storage driver (BTRFS)
Latest Stable
✦ SLE-12 + kernel 4.4.0 (SLE-11 + kernel 3.16)
✦ OverlayFS as storage driver (BTRFS)
✦ “--net=host” for network
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
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
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
2013
C/Go
9%
PHP32%
Other22%
Photos
15%
MySQL22%
2016
C/Go
9%
PHP32%
Other22%
Photos
15%
MySQL22%
Планы на ближайшее будущее
Our Future
✦ All services in containers
Our Future
✦ All services in containers
✦ baDocker improvements
Our Future
✦ All services in containers
✦ baDocker improvements
✦ Dynamic configs for services
The original, largest and leading
dating network
Спасибо!
Антон Турецкий

a.turetsky@corp.badoo.com
@tyrchenok
@BadooDev

http://habrahabr.ru/company/badoo/
https://tech.badoo.com/
предыдущие доклады про Docker: https://goo.gl/KcIhwG

More Related Content

PDF
Мониторь, автоматизируй Docker
PDF
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
PDF
Проникновение в Docker с примерами
PDF
Docker networking
PDF
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
ODP
My talk on Docker, Youcon 2015
PDF
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
PDF
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Мониторь, автоматизируй Docker
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Проникновение в Docker с примерами
Docker networking
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
My talk on Docker, Youcon 2015
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup

What's hot (19)

PDF
On Docker
PPTX
Процесс разработки и тестирования с Docker + gitlab ci
ODP
Teach your dockers to use CRanes
PDF
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
PPTX
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
PDF
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
PPTX
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
PDF
Kirill A Korinskiy Rit2010 No Sql Storage
PDF
pgconf.ru 2015 avito postgresql
PDF
My talk on Hadoop stack operations engineering at OSPCon
PDF
Docker & Puppet: как их скрестить и надо ли вам это?
PDF
Артём Ерошенко «Рецепт приготовления облачных тестингов»
PDF
Непрерывная интеграция Python-проектов в Яндексе
ODP
The Great Migration by Baruch Sadogursky
PDF
Алексей Фомкин, Практическое применение Web Workers
PDF
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
PPT
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
PDF
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
PDF
Andrey Borodin "Architecture of online backup for various DBMS"
On Docker
Процесс разработки и тестирования с Docker + gitlab ci
Teach your dockers to use CRanes
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Kirill A Korinskiy Rit2010 No Sql Storage
pgconf.ru 2015 avito postgresql
My talk on Hadoop stack operations engineering at OSPCon
Docker & Puppet: как их скрестить и надо ли вам это?
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Непрерывная интеграция Python-проектов в Яндексе
The Great Migration by Baruch Sadogursky
Алексей Фомкин, Практическое применение Web Workers
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
Andrey Borodin "Architecture of online backup for various DBMS"
Ad

Similar to Docker integration into Badoo (20)

PPTX
Docker в работе: взгляд на использование в Badoo через год
PPTX
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
PPTX
Docker в работе: взгляд на использование в Badoo через год
PDF
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
PDF
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
PPTX
Docker & Badoo: 
никогда не останавливайся на достигнутом
PPTX
Антон Турецкий
PDF
Эволюционный дизайн. Joker Students Day 2016
PDF
How to cook a blockchain and not get burned
PDF
My talk on HBase ops engineering at TBD Jun 2016
PDF
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
PDF
Тестирование серверной конфигурации
PDF
Про асинхронное сетевое программирование
PDF
Docker for JS people
PPSX
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
PDF
Мой маленький уютный PaaS / Илья Беда (bro.agency)
PDF
SaltStack vs Chef, HappyDev 2013
PDF
Андрей Сибирёв "Ваше собственное облако — война за независимость"
PDF
Netty jprof 2019_pdf
PDF
GitLab, Prometheus и Grafana с Kubernetes
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на использование в Badoo через год
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Badoo: 
никогда не останавливайся на достигнутом
Антон Турецкий
Эволюционный дизайн. Joker Students Day 2016
How to cook a blockchain and not get burned
My talk on HBase ops engineering at TBD Jun 2016
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
Тестирование серверной конфигурации
Про асинхронное сетевое программирование
Docker for JS people
CodeFest 2014. Круглов И. — События на каждом углу. Путешествие в мир системн...
Мой маленький уютный PaaS / Илья Беда (bro.agency)
SaltStack vs Chef, HappyDev 2013
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Netty jprof 2019_pdf
GitLab, Prometheus и Grafana с Kubernetes
Ad

Docker integration into Badoo