SlideShare a Scribd company logo
1 of 26
Download to read offline
Docker в Badoo: 
от восторгов к внедрению 
Антон Турецкий 
@tyrchenok 
Илья Раудсепп 
@iraudsepp
Содержание 
• Восторг и ожидания 
• Подготовка инфраструктуры 
• Ключевые узлы Docker 
• Puppet: от прототипа до конвейра 
• Сборка образов Docker 
• Deploy сервиса с точки зрения эксплуатации 
• Docker: мониторинг (Илья Раудсепп) 
• “Грабли”: как без них? 
• Чего не хватает для счастья в Docker? 
• Заключение
Восторг и ожидания 
• Как всё круто в первом приближении 
• Очень хочется попробовать 
• С чего начать? 
• Ожидания 
• Реальность
Конcервативный SLES 
• Linux kernel version “3.8” or above != “3.0.101-0.40.1” 
• обновление util-linux, coreutils 
• обновление iptables, iproute2 
• Выбор “Storage Driver” 
• Device mapper + ext4 
• BTRFS 
• Изменение Partitioning Table
Docker Host
Docker Registry 
• Зачем он нужен? 
• Почему не DockerHub? 
• Немного подробностей
Puppet: от одного ко многим 
• +1 модуль: 
- ставим нужные пакеты (docker, kernel, e2fsprogs … ) 
- cgroup_enable=memory swapaccount=1 
- LVM changes, BTRFS 
• Docker: 
• base package, settings 
• init script (да, тут еще нет systemd) 
• вспомогательные скрипты
Сборка образов для Docker
Роль Puppet 
• Поддержка BUILD environment 
• Сборка образов и оповещение о результатах 
• Своевременный PUSH образа в Registry 
• Своевременный PULL образа на Docker Host 
• Поддержание чистоты и порядка на Docker Hosts 
• удаление ненужных образов/контейнеров 
• формирование команд для запуска контейнеров
“Плавный” перезапуск сервиса 
• Добавим балансировщик по вкусу 
• Используем key => value storage 
• confd: наполняем по 
шаблону 
• Не трогаем “внешнюю” сеть 
• не нужно трогать dns 
• не нужно трогать dhcp 
• …
Docker monitoring
Что хотели 
• Автоматический сбор метрик с нового контейнера/хоста с docker 
• Возможность гибко настраивать отображение получаемых метрик 
• Возможность просмотра статистики в “real time”
Что смотрели 
DataDogs 
Dockerana 
collectd + graphite 
Zabbix 
sFlow, Fluentd, Monit and etc 
https://www.google.ru/search?q=docker%20monitoring 
https://www.google.ru/search?q=docker%20statistics
Что смотрели 
DataDogs 
– отправляет данные в облако 
Dockerana 
collectd + graphite 
Zabbix
Что смотрели 
DataDogs 
Dockerana 
– необходимо перезапускать докер с -D 
– использует парсинг логов 
collectd + graphite 
Zabbix
Что смотрели 
DataDogs 
Dockerana 
collectd + graphite 
– не нашли готовых решений сбора статистики 
Zabbix
Что смотрели 
DataDogs 
Dockerana 
collectd + graphite 
Zabbix 
– нет возможно быстро и легко менять графики/дашборды
Что выбрали 
agent: cAdvisor (https://github.com/google/cadvisor) 
storage: Influxdb (https://github.com/influxdb/influxdb) 
draw: grafana (https://github.com/grafana/grafana)
Что выбрали 
Host OS 
Server 
Container A 
Container B 
cAdvisor 
Container 
Grafana 
Http/Https InfluxDB 
Host Container 
Cpu 䡄 䡄 
Mem 䡄 䡄 
Disk 
Network 䡄
Что выбрали 
Host OS 
Server 
Container A 
Container B 
cAdvisor 
Container 
Grafana 
Http/Https InfluxDB 
Host Container 
Cpu 䡄 䡄 
Mem 䡄 䡄 
Disk 䡄 䡄 
Network 䡄 䡄
“Грабли”: как без них? 
• NF conntrack 
• device mapper + ext4 as storage backend 
• VOLUME mapping
Чего не хватает для счастья? 
• Централизованный мониторинг Docker Hosts 
• Централизованного управления хостами/сервисами 
• Более тесной интеграции с 
• weave 
• Open VSwitch
Заключение 
• ”Уплотнили” количество сервисов в расчете на сервер 
• Построили избыточную карту сервисов 
• Построили систему сборки образов 
• Получили гарантию работы сервиса любой ранее работающей версии в 
любой момент времени

More Related Content

What's hot

Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Ruslan Sharipov
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker Andrey Markelov
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into BadooAnton Turetsky
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooBadoo Development
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революцияGetDev.NET
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Anton Turetsky
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Ontico
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерамиДмитрий Столяров
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон ТурецкийCodeFest
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Ontico
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядноFallenKain
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Ontico
 

What's hot (20)

Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into Badoo
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
 

Viewers also liked

Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Badoo Development
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix
 
Мониторь, автоматизируй Docker
Мониторь, автоматизируй DockerМониторь, автоматизируй Docker
Мониторь, автоматизируй DockerBadoo Development
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияBadoo Development
 
"Развитие ветки PHP-7"
"Развитие ветки PHP-7""Развитие ветки PHP-7"
"Развитие ветки PHP-7"Badoo Development
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to productionAnton Turetsky
 
Docker в виртуальной среде VMware
Docker в виртуальной среде VMwareDocker в виртуальной среде VMware
Docker в виртуальной среде VMwareAndrey Konovalov
 
VMware Solutions and Softline Services
VMware Solutions and Softline ServicesVMware Solutions and Softline Services
VMware Solutions and Softline ServicesPavel Novikov
 
Cehv7module03scanningnetworks 131208152747-phpapp02
Cehv7module03scanningnetworks 131208152747-phpapp02Cehv7module03scanningnetworks 131208152747-phpapp02
Cehv7module03scanningnetworks 131208152747-phpapp02Ayhan Gasanly
 
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Badoo Development
 
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik Naim Shafiev
 
Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...
Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...
Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...Максим Захаренко
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix
 
как работают яндекс.пробки
как работают яндекс.пробкикак работают яндекс.пробки
как работают яндекс.пробкиYandex
 
Yandex1
Yandex1Yandex1
Yandex1Yandex
 
Yandex20131017 ageev-2
Yandex20131017 ageev-2Yandex20131017 ageev-2
Yandex20131017 ageev-2Yandex
 
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...Badoo Development
 
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...Yandex
 
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...Badoo Development
 
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...Badoo Development
 

Viewers also liked (20)

Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
 
Мониторь, автоматизируй Docker
Мониторь, автоматизируй DockerМониторь, автоматизируй Docker
Мониторь, автоматизируй Docker
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрация
 
"Развитие ветки PHP-7"
"Развитие ветки PHP-7""Развитие ветки PHP-7"
"Развитие ветки PHP-7"
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
 
Docker в виртуальной среде VMware
Docker в виртуальной среде VMwareDocker в виртуальной среде VMware
Docker в виртуальной среде VMware
 
VMware Solutions and Softline Services
VMware Solutions and Softline ServicesVMware Solutions and Softline Services
VMware Solutions and Softline Services
 
Cehv7module03scanningnetworks 131208152747-phpapp02
Cehv7module03scanningnetworks 131208152747-phpapp02Cehv7module03scanningnetworks 131208152747-phpapp02
Cehv7module03scanningnetworks 131208152747-phpapp02
 
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
 
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
MUM Построение сети доступа на основе технологий DHCP + Radius на Mikrotik
 
Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...
Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...
Реальный кейс создания и сопровождения облачной ИТ-инфраструктуры компании ма...
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
 
как работают яндекс.пробки
как работают яндекс.пробкикак работают яндекс.пробки
как работают яндекс.пробки
 
Yandex1
Yandex1Yandex1
Yandex1
 
Yandex20131017 ageev-2
Yandex20131017 ageev-2Yandex20131017 ageev-2
Yandex20131017 ageev-2
 
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
 
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
 
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
 
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
 

Similar to Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup

Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Docker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутомDocker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутомAnton Turetsky
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годAnton Turetsky
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Ontico
 
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...corehard_by
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на DockerМихаил Бакулин
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorDevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorJetBrains Russia
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerAnton Maksimov
 
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)Badoo Development
 
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)Ontico
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииAlexander Kirillov
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиAndrey Markelov
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Yandex
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStackRussia
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practicesIgor Kurochkin
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovdrupalconf
 

Similar to Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup (20)

Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Docker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутомDocker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутом
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
Контроль окружения сборки C++ проектов с помощью Docker. Павел Филонов. CoreH...
 
Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System AdministratorDevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System Administrator
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
Dapper + QueryObject
Dapper + QueryObjectDapper + QueryObject
Dapper + QueryObject
 
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & Puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
 
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
Docker & puppet - как их скрестить и надо ли вам это, Антон Турецкий (Badoo)
 
Окружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризацииОкружение разработчика - от виртуализации к контейнеризации
Окружение разработчика - от виртуализации к контейнеризации
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practices
 
Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
 

More from Badoo Development

Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationViktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationBadoo Development
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальBadoo Development
 
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUГригорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUBadoo Development
 
Андрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.БраузерАндрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.БраузерBadoo Development
 
Филипп Уваров, Avito
Филипп Уваров, AvitoФилипп Уваров, Avito
Филипп Уваров, AvitoBadoo Development
 
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magicCocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magicBadoo Development
 
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature developmentCocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature developmentBadoo Development
 
Alex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High AvailabilityAlex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High AvailabilityBadoo Development
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхBadoo Development
 
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana LabsАлександр Зобнин, Grafana Labs
Александр Зобнин, Grafana LabsBadoo Development
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноBadoo Development
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruBadoo Development
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooBadoo Development
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma Badoo Development
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»  Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов» Badoo Development
 
Как мы готовим MySQL
 Как мы готовим MySQL  Как мы готовим MySQL
Как мы готовим MySQL Badoo Development
 
Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo Badoo Development
 
5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоадаBadoo Development
 

More from Badoo Development (20)

Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationViktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel Automation
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
 
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUГригорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RU
 
Андрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.БраузерАндрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.Браузер
 
Филипп Уваров, Avito
Филипп Уваров, AvitoФилипп Уваров, Avito
Филипп Уваров, Avito
 
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magicCocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
 
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature developmentCocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
 
Alex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High AvailabilityAlex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High Availability
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
 
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana LabsАлександр Зобнин, Grafana Labs
Александр Зобнин, Grafana Labs
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»  Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
 
Как мы готовим MySQL
 Как мы готовим MySQL  Как мы готовим MySQL
Как мы готовим MySQL
 
Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo
 
5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада
 
ChromeDriver Jailbreak
ChromeDriver JailbreakChromeDriver Jailbreak
ChromeDriver Jailbreak
 

Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup

  • 1. Docker в Badoo: от восторгов к внедрению Антон Турецкий @tyrchenok Илья Раудсепп @iraudsepp
  • 2. Содержание • Восторг и ожидания • Подготовка инфраструктуры • Ключевые узлы Docker • Puppet: от прототипа до конвейра • Сборка образов Docker • Deploy сервиса с точки зрения эксплуатации • Docker: мониторинг (Илья Раудсепп) • “Грабли”: как без них? • Чего не хватает для счастья в Docker? • Заключение
  • 3. Восторг и ожидания • Как всё круто в первом приближении • Очень хочется попробовать • С чего начать? • Ожидания • Реальность
  • 4. Конcервативный SLES • Linux kernel version “3.8” or above != “3.0.101-0.40.1” • обновление util-linux, coreutils • обновление iptables, iproute2 • Выбор “Storage Driver” • Device mapper + ext4 • BTRFS • Изменение Partitioning Table
  • 6. Docker Registry • Зачем он нужен? • Почему не DockerHub? • Немного подробностей
  • 7. Puppet: от одного ко многим • +1 модуль: - ставим нужные пакеты (docker, kernel, e2fsprogs … ) - cgroup_enable=memory swapaccount=1 - LVM changes, BTRFS • Docker: • base package, settings • init script (да, тут еще нет systemd) • вспомогательные скрипты
  • 9. Роль Puppet • Поддержка BUILD environment • Сборка образов и оповещение о результатах • Своевременный PUSH образа в Registry • Своевременный PULL образа на Docker Host • Поддержание чистоты и порядка на Docker Hosts • удаление ненужных образов/контейнеров • формирование команд для запуска контейнеров
  • 10. “Плавный” перезапуск сервиса • Добавим балансировщик по вкусу • Используем key => value storage • confd: наполняем по шаблону • Не трогаем “внешнюю” сеть • не нужно трогать dns • не нужно трогать dhcp • …
  • 12. Что хотели • Автоматический сбор метрик с нового контейнера/хоста с docker • Возможность гибко настраивать отображение получаемых метрик • Возможность просмотра статистики в “real time”
  • 13. Что смотрели DataDogs Dockerana collectd + graphite Zabbix sFlow, Fluentd, Monit and etc https://www.google.ru/search?q=docker%20monitoring https://www.google.ru/search?q=docker%20statistics
  • 14. Что смотрели DataDogs – отправляет данные в облако Dockerana collectd + graphite Zabbix
  • 15. Что смотрели DataDogs Dockerana – необходимо перезапускать докер с -D – использует парсинг логов collectd + graphite Zabbix
  • 16. Что смотрели DataDogs Dockerana collectd + graphite – не нашли готовых решений сбора статистики Zabbix
  • 17. Что смотрели DataDogs Dockerana collectd + graphite Zabbix – нет возможно быстро и легко менять графики/дашборды
  • 18. Что выбрали agent: cAdvisor (https://github.com/google/cadvisor) storage: Influxdb (https://github.com/influxdb/influxdb) draw: grafana (https://github.com/grafana/grafana)
  • 19. Что выбрали Host OS Server Container A Container B cAdvisor Container Grafana Http/Https InfluxDB Host Container Cpu 䡄 䡄 Mem 䡄 䡄 Disk Network 䡄
  • 20. Что выбрали Host OS Server Container A Container B cAdvisor Container Grafana Http/Https InfluxDB Host Container Cpu 䡄 䡄 Mem 䡄 䡄 Disk 䡄 䡄 Network 䡄 䡄
  • 21.
  • 22.
  • 23.
  • 24. “Грабли”: как без них? • NF conntrack • device mapper + ext4 as storage backend • VOLUME mapping
  • 25. Чего не хватает для счастья? • Централизованный мониторинг Docker Hosts • Централизованного управления хостами/сервисами • Более тесной интеграции с • weave • Open VSwitch
  • 26. Заключение • ”Уплотнили” количество сервисов в расчете на сервер • Построили избыточную карту сервисов • Построили систему сборки образов • Получили гарантию работы сервиса любой ранее работающей версии в любой момент времени