Continuous Integration of Mobile Apps with Docker and Appium
Docker integration into Badoo
-
Upload
anton-turetsky -
Category
Engineering
-
view
135 -
download
0
Transcript of Docker integration into Badoo
Docker в Badoo:ПМЖ или временная регистрация
Антон Турецкий
Our Infrastructure~ 3000 servers
C/Go9%
PHP32%
Other22%
Photos15%
MySQL22%
Всё просто,понятно иочевидно где подвох?
Docker✦ 2013 год
Docker✦ 2013 год
✦ “Наброс” коллеги…
Docker✦ 2013 год
✦ “Наброс” коллеги…
✦ У нас проблемы?
SetupMonitoring
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/Go9%
PHP32%
Other22%
Photos15%
MySQL22%
Where is the right place for Docker?
C/Go9%
PHP32%
Other22%
Photos15%
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 insidecontainers
s6small
supervision suite
Logs collectioninteresting 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/Go9%
PHP32%
Other22%
Photos15%
MySQL22%
2016
C/Go9%
PHP32%
Other22%
Photos15%
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
Спасибо!Антон Турецкий
@tyrchenok
@BadooDevhttp://habrahabr.ru/company/badoo/
https://tech.badoo.com/
предыдущие доклады про Docker: https://goo.gl/KcIhwG