SlideShare ist ein Scribd-Unternehmen logo
1 von 198
Downloaden Sie, um offline zu lesen
Миграция поискового
движка в Docker
Дмитрий Кузьменков
www.aviasales.ru
aviasales.ru
++ 1 500 000 поисков в день
aviasales.ru
++ 1 500 000 поисков в день
++ 1 000 поисков в минуту в пики
aviasales.ru
++ 1 500 000 поисков в день
++ Поиск – опрос 200 партнеров в realtime
++ 1 000 поисков в минуту в пики
aviasales.ru
++ 1 500 000 поисков в день
++ 15 000 предложений в одном ответе
++ Поиск – опрос 200 партнеров в realtime
++ 1 000 поисков в минуту в пики
aviasales.ru
++ 1 500 000 поисков в день
++ 15 000 предложений в одном ответе
++ Поиск – опрос 200 партнеров в realtime
++ 1 минута на отдачу билетов
++ 1 000 поисков в минуту в пики
aviasales.ru
Yasen – что за зверь?
Yasen – что за зверь?
++ Yet Another Search ENgine
Yasen – что за зверь?
++ Yet Another Search ENgine
++ Python 3.4 & Tornado 4.2
Yasen – что за зверь?
++ Yet Another Search ENgine
++ 8 серверов
++ Python 3.4 & Tornado 4.2
Yasen – что за зверь?
++ Yet Another Search ENgine
++ 8 серверов
++ Python 3.4 & Tornado 4.2
++ Первый ответ за 200 ms
Как оно работает
Как оно работает
HAProxy
Как оно работает
HAProxy
bee.0
bee.1
bee.2
bee.3
Как оно работает
HAProxy
bee.0
bee.1
bee.2
bee.3
queue
Как оно работает
HAProxy
bee.0
bee.1
bee.2
bee.3
ant.0
ant.1
queue
Как оно работает
HAProxy
bee.0
bee.1
bee.2
bee.3
ant.0
ant.1
Redis
queue
Как оно работает
HAProxy
bee.0
bee.1
bee.2
bee.3
MySQL

Postgres

Redis

RabbitMQ
ant.0
ant.1
Redis
queue
Как оно работает
HAProxy
bee.0
bee.1
bee.2
bee.3
MySQL

Postgres

Redis

RabbitMQ
ant.0
ant.1
Redis
watcher configs
queue
Пчела (bee)
Пчела (bee)
++ Обслуживает HTTP-запросы на поиск
Пчела (bee)
++ Обслуживает HTTP-запросы на поиск
++ Асинхронная на Tornado
Пчела (bee)
++ Обслуживает HTTP-запросы на поиск
++ Асинхронная на Tornado
++ Цикл жизни 30 минут
Пчела (bee)
++ Обслуживает HTTP-запросы на поиск
++ Асинхронная на Tornado
++ Цикл жизни 30 минут
++ 16 пчел на одной ноде
Наблюдатель (watcher)
Наблюдатель (watcher)
++ 1 процесс на одну ноду
Наблюдатель (watcher)
++ 1 процесс на одну ноду
++ Следит за изменениями файлов настроек
Наблюдатель (watcher)
++ 1 процесс на одну ноду
++ Следит за изменениями файлов настроек
++ Обновляет настройки пчел в runtime
Муравей (ant)
Муравей (ant)
++ Приоритеты: low, normal, high
Муравей (ant)
++ Приоритеты: low, normal, high
++ Шлёт информацию о найденных билетах в Redis
Муравей (ant)
++ Приоритеты: low, normal, high
++ Шлёт информацию о найденных билетах в Redis
++ Сохраняет статистику в разные базы данных
Муравей (ant)
++ Приоритеты: low, normal, high
++ Шлёт информацию о найденных билетах в Redis
++ Сохраняет статистику в разные базы данных
++ Stateless
Очередь (burlesque)
Очередь (burlesque)
++ 1 процесс на одну ноду
Очередь (burlesque)
++ 1 процесс на одну ноду
++ Go + leveldb
Очередь (burlesque)
++ 1 процесс на одну ноду
++ Go + leveldb
++ Умеет 3000+ rps concurrent read/write
Очередь (burlesque)
++ 1 процесс на одну ноду
++ Go + leveldb
++ Умеет 3000+ rps concurrent read/write
++ Простой HTTP-интерфейс для работы
Очередь (burlesque)
++ 1 процесс на одну ноду
++ Go + leveldb
++ Умеет 3000+ rps concurrent read/write
++ Простой HTTP-интерфейс для работы
++ Opensource: https://github.com/KosyanMedia/burlesque
Что же не так?
Что же не так?
++ Время на подъем сервиса для разработки
Что же не так?
++ 2 часа на деплой всей системы
++ Время на подъем сервиса для разработки
Что же не так?
++ 2 часа на деплой всей системы
++ Monit – тупит на большом количестве процессов
++ Время на подъем сервиса для разработки
Что же не так?
++ 2 часа на деплой всей системы
++ Chef – настройка серверов
++ Monit – тупит на большом количестве процессов
++ Время на подъем сервиса для разработки
Контейнеризация?
Зачем?
Зачем?
++ Единое окружение везде
Зачем?
++ Единое окружение везде
++ Сборка образа где угодно
Зачем?
++ Единое окружение везде
++ Ориентирован на DevOps
++ Сборка образа где угодно
Зачем?
++ Единое окружение везде
++ Ориентирован на DevOps
++ Никаких правок на горячую в коде production
++ Сборка образа где угодно
Зачем?
++ Единое окружение везде
++ Ориентирован на DevOps
++ Никаких правок на горячую в коде production
++ Простота отката
++ Сборка образа где угодно
Оркестрация?
++ Kubernetes
Оркестрация?
++ Kubernetes
++ Rancher
Оркестрация?
++ Kubernetes
++ Rancher
++ Swarm
Оркестрация?
Kubernetes
Kubernetes
++ By Google
Kubernetes
++ By Google
++ Хорош для большого количества хостов
Kubernetes
++ By Google
++ Хорош для большого количества хостов
++ Сложность
Rancher
Rancher
++ Функциональный web-интерфейс
Rancher
++ Функциональный web-интерфейс
++ Работает с другими оркестрациями
Rancher
++ Функциональный web-интерфейс
++ Работает с другими оркестрациями
++ Относительно молодой
Swarm
Swarm
++ Идет в комплекте с Docker
Swarm
++ Идет в комплекте с Docker
++ Самый легкий из всех альтернатив
Swarm
++ Идет в комплекте с Docker
++ Самый легкий из всех альтернатив
++ Прост в использовании
В поисках серебряной пули
В поисках серебряной пули
++ Хочется прозрачности
В поисках серебряной пули
++ Хочется прозрачности
++ Простые вещи дешевле поддерживать
В поисках серебряной пули
++ Хочется прозрачности
++ Простые вещи дешевле поддерживать
++ Ещё одна технологическая прослойка
В поисках серебряной пули
++ Хочется прозрачности
++ Простые вещи дешевле поддерживать
++ Ещё одна технологическая прослойка
++ Вероятность вернуться к прошлой инфраструктуре
В поисках серебряной пули
++ Хочется прозрачности
++ Простые вещи дешевле поддерживать
++ Ещё одна технологическая прослойка
++ Вероятность вернуться к прошлой инфраструктуре
++ Время, время, время…
Docker – это же просто!
Docker – это же просто!
++ docker build
Docker – это же просто!
++ docker build
++ docker-compose
Docker – это же просто!
++ docker build
++ docker-compose
++ BASH объединяет <3
Docker – это же просто!
++ docker build
++ docker-compose
++ profit!
++ BASH объединяет <3
Dockerfile – сердце контейнера
Dockerfile – сердце контейнера
++ Простой набор команд
Dockerfile – сердце контейнера
++ Простой набор команд
++ RUN
Dockerfile – сердце контейнера
++ Простой набор команд
++ RUN
++ COPY
Dockerfile – сердце контейнера
++ Простой набор команд
++ RUN
++ COPY
++ ENV
Dockerfile – сердце контейнера
++ Простой набор команд
++ RUN
++ COPY
++ ENV
++ To be continued...
Проблемы? Конечно!
Проблемы? Конечно!
++ Root по умолчанию
Проблемы? Конечно!
++ Root по умолчанию
++ Наследуется от одного образа
Проблемы? Конечно!
++ Root по умолчанию
++ Наследуется от одного образа
++ Слишком толсто – если плодить слои
Проблемы? Конечно!
++ Root по умолчанию
++ Наследуется от одного образа
++ Слишком толсто – если плодить слои
++ COPY всегда root
Проблемы? Конечно!
++ Root по умолчанию
++ Наследуется от одного образа
++ Слишком толсто – если плодить слои
++ COPY всегда root
++ COPY в конце или “прощай, кэш”
Контейнерный root
Контейнерный root
++ Root в контейнере = root на host-машине
++ Создаваемые файлы тоже root
Контейнерный root
++ Root в контейнере = root на host-машине
++ Создаваемые файлы тоже root
Контейнерный root
++ Root в контейнере = root на host-машине
++ Процесс может не встать из-под root
++ Создаваемые файлы тоже root
Контейнерный root
++ Root в контейнере = root на host-машине
++ Процесс может не встать из-под root
++ Non-root – наш выбор
Linux capabilities по умолчанию
Linux capabilities по умолчанию
++ chown
++ dac_override
++ fowner
++ fsetid
++ kill
++ setgid
++ setuid
++ setpcap
++ net_bind_service
++ net_raw
++ sys_chroot
++ mknod
++ audit_write
++ setfcap
++ man capabilities(7)
Добавляя безопасности
Добавляя безопасности
++ --cap-add & --cap-drop для управления
Добавляя безопасности
++ --cap-add & --cap-drop для управления
++ --cap-drop=all, когда это возможно
Добавляя безопасности
++ --cap-add & --cap-drop для управления
++ --cap-drop=all, когда это возможно
++ Никаких --privileged
А как же stateful?
А как же stateful?
++ Проблем нет только у stateless
А как же stateful?
++ Проблем нет только у stateless
++ Простой путь – общие папки
А как же stateful?
++ Проблем нет только у stateless
++ Простой путь – общие папки
++ Более сложный – etcd, consul, redis
А как же stateful?
++ Проблем нет только у stateless
++ Простой путь – общие папки
++ Более сложный – etcd, consul, redis
++ Комбо – забираем состояние с мастер-ноды
Разделяй и используй
Разделяй и используй
++ Общие папки на host-машине
Разделяй и используй
++ Общие папки на host-машине
++ VOLUME внутри контейнера
Проблема записи
Проблема записи
++ Неразбериха с правами на файлы
Проблема записи
++ Неразбериха с правами на файлы
++ ARG USER_ID=1000 for the rescue
Проблема записи
++ Неразбериха с правами на файлы
++ ARG USER_ID=1000 for the rescue
++ docker build --build-arg USER_ID="$(id -u)"
User namespaces
User namespaces
++ Появились с версией 1.10
User namespaces
++ Появились с версией 1.10
++ Root контейнера = non uid-0 на host-машине
User namespaces
++ Появились с версией 1.10
++ Root контейнера = non uid-0 на host-машине
++ По умолчанию отключено
User namespaces
++ Появились с версией 1.10
++ Root контейнера = non uid-0 на host-машине
++ По умолчанию отключено
++ --userns-remap в опциях запуска демона
А сети такие разные
А сети такие разные
++ Bridge
А сети такие разные
++ Bridge
++ Host
А сети такие разные
++ Bridge
++ Host
++ Overlay
А сети такие разные
++ Bridge
++ Host
++ Overlay
++ Macvlan
А сети такие разные
++ Bridge
++ Host
++ Overlay
++ Macvlan
++ None
Network mode: bridge
Network mode: bridge
++ На самом деле NAT
Network mode: bridge
++ На самом деле NAT
++ Отдельный локальный IP для контейнера
Network mode: bridge
++ На самом деле NAT
++ Отдельный локальный IP для контейнера
++ Изоляция порта внутри контейнера
Network mode: bridge
++ На самом деле NAT
++ Отдельный локальный IP для контейнера
++ Изоляция порта внутри контейнера
++ Суёт свой хвост в iptables – админы недовольны
Network mode: host
Network mode: host
++ Сеть хост-машины как есть в контейнере
Network mode: host
++ Сеть хост-машины как есть в контейнере
++ Host port = container port
Network mode: host
++ Сеть хост-машины как есть в контейнере
++ Host port = container port
++ Свобода iptables от вмешательств Docker
Network mode: host
++ Сеть хост-машины как есть в контейнере
++ Host port = container port
++ Свобода iptables от вмешательств Docker
++ Наш выбор!
Network mode: overlay
Network mode: overlay
++ Multi-host сеть прямо из коробки
Network mode: overlay
++ Multi-host сеть прямо из коробки
++ Swarm mode (1.12+) или кастомная настройка кластера
Network mode: overlay
++ Multi-host сеть прямо из коробки
++ Swarm mode (1.12+) или кастомная настройка кластера
++ Пока что всё ещё сыроват
Network mode: macvlan
Network mode: macvlan
++ Свежачок с 1.12, kernel v3.9–3.19 and 4.0+
Network mode: macvlan
++ Свежачок с 1.12, kernel v3.9–3.19 and 4.0+
++ Только одна сеть на сетевой интерфейс
Network mode: macvlan
++ Свежачок с 1.12, kernel v3.9–3.19 and 4.0+
++ Только одна сеть на сетевой интерфейс
++ Каждому контейнеру уникальный MAC
Network mode: macvlan
++ Свежачок с 1.12, kernel v3.9–3.19 and 4.0+
++ Только одна сеть на сетевой интерфейс
++ Каждому контейнеру уникальный MAC
++ Прямой доступ к другим контейнерам, минуя gateway
Network mode: macvlan
++ Свежачок с 1.12, kernel v3.9–3.19 and 4.0+
++ Только одна сеть на сетевой интерфейс
++ Нет доступа из контейнера к хост-машине по IP
++ Каждому контейнеру уникальный MAC
++ Прямой доступ к другим контейнерам, минуя gateway
Network mode: none
Network mode: none
++ Нет сети – нет проблем!
Network mode: none
++ Нет сети – нет проблем!
++ Лучший вариант – если сеть не нужна
Limit everything
Limit everything
++ CPU: --cpu-shares, --cpuset-cpus
Limit everything
++ CPU: --cpu-shares, --cpuset-cpus
++ Memory: --memory, --memory-reservation
Limit everything
++ CPU: --cpu-shares, --cpuset-cpus
++ Memory: --memory, --memory-reservation
++ Swap: --memory-swap, --memory-swappiness
Limit everything
++ CPU: --cpu-shares, --cpuset-cpus
++ Memory: --memory, --memory-reservation
++ Swap: --memory-swap, --memory-swappiness
++ Storage: --device-read-bps, --device-write-bps
Limit everything
++ CPU: --cpu-shares, --cpuset-cpus
++ Memory: --memory, --memory-reservation
++ Swap: --memory-swap, --memory-swappiness
++ Storage: --device-read-bps, --device-write-bps
++ И это далеко не всё
Собираем всё вместе
Собираем всё вместе
++ Динамический docker-compose.yml
Собираем всё вместе
++ Динамический docker-compose.yml
++ Одна сущность контейнера – один YAML template
Собираем всё вместе
++ Динамический docker-compose.yml
++ Одна сущность контейнера – один YAML template
++ Множим контейнеры через генератор конфига
Собираем всё вместе
++ Динамический docker-compose.yml
++ Одна сущность контейнера – один YAML template
++ Множим контейнеры через генератор конфига
++ scale bee=10 ant=1 goqueue=1
Шаблонизируем
Шаблонизируем
++ Секция docker-compose как шаблон
Шаблонизируем
++ Секция docker-compose как шаблон
++ Есть %ЗАМЕНЯЕМЫЕ% значения
Шаблонизируем
++ Секция docker-compose как шаблон
++ Есть %ЗАМЕНЯЕМЫЕ% значения
++ А ещё переменные окружения
Шаблонизируем
++ Секция docker-compose как шаблон
++ Есть %ЗАМЕНЯЕМЫЕ% значения
++ А ещё переменные окружения
++ Все константы и настройки – env.sh
Шаблонизируем
++ Секция docker-compose как шаблон
++ Есть %ЗАМЕНЯЕМЫЕ% значения
++ А ещё переменные окружения
++ Все константы и настройки – env.sh
++ Сборка всех шаблонов в один на чистом BASH
Шаблон муравья
Шаблон муравья
++ %SEQUENCE% – номер контейнера
Шаблон муравья
++ %SEQUENCE% – номер контейнера
++ ${VAR} – окружение из env.sh
Шаблон муравья
++ %SEQUENCE% – номер контейнера
++ ${VAR} – окружение из env.sh
++ export BEE_PORT=${BEE_PORT:-7089}
Деплой на сервер
Деплой на сервер
++ Забираем свежий код из git
Деплой на сервер
++ Забираем свежий код из git
++ Генерируем docker-compose.yml по окружению
Деплой на сервер
++ Забираем свежий код из git
++ Генерируем docker-compose.yml по окружению
++ Собираем все образы
Деплой на сервер
++ Забираем свежий код из git
++ Генерируем docker-compose.yml по окружению
++ Собираем все образы
++ Запускаем контейнеры – docker-compose --no-build up
А если несколько?
А если несколько?
++ Сервера, окружения, scale – cluster.yml
А если несколько?
++ Сервера, окружения, scale – cluster.yml
Выкатка на ферму
Выкатка на ферму
++ grep production cluster.yml | cut -d: -f1
Выкатка на ферму
++ grep production cluster.yml | cut -d: -f1
++ Запуск deploy-скрипта на всех выбранных нодах
Выкатка на ферму
++ grep production cluster.yml | cut -d: -f1
++ Запуск deploy-скрипта на всех выбранных нодах
++ И всё это одновременно на всех нодах
Выкатка на ферму
++ grep production cluster.yml | cut -d: -f1
++ Запуск deploy-скрипта на всех выбранных нодах
++ И всё это одновременно на всех нодах
++ Снова BASH: background processes & wait
Выкатка на ферму
++ grep production cluster.yml | cut -d: -f1
++ Запуск deploy-скрипта на всех выбранных нодах
++ И всё это одновременно на всех нодах
++ Снова BASH: background processes & wait
++ Success or fail? Шлем в slack
Выкатка на ферму
++ grep production cluster.yml | cut -d: -f1
++ Запуск deploy-скрипта на всех выбранных нодах
++ И всё это одновременно на всех нодах
++ Снова BASH: background processes & wait
++ Success or fail? Шлем в slack
В сухом остатке
В сухом остатке
++ 50 человеко-часов на написание системы
В сухом остатке
++ Полная миграция за 150 человеко-часов
++ 50 человеко-часов на написание системы
В сухом остатке
++ Полная миграция за 150 человеко-часов
++ 500 строк BASH'а в 5-ти файлах на управление
++ 50 человеко-часов на написание системы
В сухом остатке
++ Полная миграция за 150 человеко-часов
++ 500 строк BASH'а в 5-ти файлах на управление
++ Масштабирование в одном месте
++ 50 человеко-часов на написание системы
В сухом остатке
++ Полная миграция за 150 человеко-часов
++ 500 строк BASH'а в 5-ти файлах на управление
++ Масштабирование в одном месте
++ Автоматизация настройки dev-окружения
++ 50 человеко-часов на написание системы
Было Стало
++ 8 мощных серверов ++ 24 дешевые машинки
Было Стало
++ 8 мощных серверов ++ 24 дешевые машинки
++ Chef, monit, Centos 6 ++ Ubuntu 16 LTS (4.4) <3 Docker
Было Стало
++ 8 мощных серверов ++ 24 дешевые машинки
++ Chef, monit, Centos 6 ++ Ubuntu 16 LTS (4.4) <3 Docker
++ 2 часа боли при деплое ++ 10 минут радости при деплое
Было Стало
++ 8 мощных серверов ++ 24 дешевые машинки
++ Chef, monit, Centos 6 ++ Ubuntu 16 LTS (4.4) <3 Docker
++ 2 часа боли при деплое ++ 10 минут радости при деплое
++ DevOps настраивают окружение ++ Developers управляют окружением
Было Стало
++ 8 мощных серверов ++ 24 дешевые машинки
++ Chef, monit, Centos 6 ++ Ubuntu 16 LTS (4.4) <3 Docker
++ 2 часа боли при деплое ++ 10 минут радости при деплое
++ DevOps настраивают окружение ++ Developers управляют окружением
++ Ручной scale процессов ++ Scale по необходимости деплоем
Было Стало
dmitrii@kuzmenkov.me
dmitrykuzmenkov
Вопросы?
dmitrii@kuzmenkov.me
dmitrykuzmenkov

Weitere ähnliche Inhalte

Was ist angesagt?

Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав БахмутовCodeFest
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Ontico
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Ontico
 
Андрей Ситник
Андрей СитникАндрей Ситник
Андрей СитникCodeFest
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Ontico
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into BadooAnton Turetsky
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Ontico
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерамиДмитрий Столяров
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Ontico
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Ontico
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Anton Turetsky
 
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
 

Was ist angesagt? (19)

Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав Бахмутов
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
 
Андрей Ситник
Андрей СитникАндрей Ситник
Андрей Ситник
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into Badoo
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
 

Andere mochten auch

Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
 
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...Ontico
 
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...Ontico
 
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Ontico
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)Ontico
 
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...Ontico
 
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Ontico
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Ontico
 
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)Ontico
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Ontico
 
Побеждаем мейнфрейм / Андрей Николаенко (IBS)
Побеждаем мейнфрейм / Андрей Николаенко (IBS)Побеждаем мейнфрейм / Андрей Николаенко (IBS)
Побеждаем мейнфрейм / Андрей Николаенко (IBS)Ontico
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Ontico
 
Опыт построения СХД на базе Windows Server для использования в публичном обла...
Опыт построения СХД на базе Windows Server для использования в публичном обла...Опыт построения СХД на базе Windows Server для использования в публичном обла...
Опыт построения СХД на базе Windows Server для использования в публичном обла...Ontico
 
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Ontico
 
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Ontico
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
 
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)Ontico
 
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Ontico
 
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Ontico
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 

Andere mochten auch (20)

Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
 
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
 
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
Сайт под управлением ERP или ERP под управлением сайта / Станислав Гоц (Lamod...
 
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
 
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
Evaluation of High Availability Performance of Kubernetes and Docker Swarm on...
 
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
 
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
Особенности архитектуры распределённого хранилища в Dropbox / Слава Бахмутов ...
 
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
 
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
 
Побеждаем мейнфрейм / Андрей Николаенко (IBS)
Побеждаем мейнфрейм / Андрей Николаенко (IBS)Побеждаем мейнфрейм / Андрей Николаенко (IBS)
Побеждаем мейнфрейм / Андрей Николаенко (IBS)
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
 
Опыт построения СХД на базе Windows Server для использования в публичном обла...
Опыт построения СХД на базе Windows Server для использования в публичном обла...Опыт построения СХД на базе Windows Server для использования в публичном обла...
Опыт построения СХД на базе Windows Server для использования в публичном обла...
 
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
 
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
 
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
Измеряем энергопотребление с помощью Arduino / Алексей Лавренюк (Яндекс)
 
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
 
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулов...
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 

Ähnlich wie Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)

Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годAnton Turetsky
 
Docker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутомDocker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутомAnton Turetsky
 
Docker. Зачем он нам?
Docker. Зачем он нам?Docker. Зачем он нам?
Docker. Зачем он нам?Andrey Gerasimov
 
Консольные приложения на Go
Консольные приложения на GoКонсольные приложения на Go
Консольные приложения на GoAndrey Smirnov
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструментыRoman Dvornov
 
Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"Fwdays
 
PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...Arvids Godjuks
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Ontico
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Ontico
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияBadoo Development
 
Triggermesh - FaaS платформа на Kubernetes
Triggermesh - FaaS платформа на KubernetesTriggermesh - FaaS платформа на Kubernetes
Triggermesh - FaaS платформа на KubernetesMad Devs
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюринpgdayrussia
 
Андрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кодаАндрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кодаSergey Platonov
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр КолесеньIT Share
 
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Badoo Development
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 

Ähnlich wie Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales) (20)

Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Docker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутомDocker & Badoo: 
никогда не останавливайся на достигнутом
Docker & Badoo: 
никогда не останавливайся на достигнутом
 
Docker. Зачем он нам?
Docker. Зачем он нам?Docker. Зачем он нам?
Docker. Зачем он нам?
 
Консольные приложения на Go
Консольные приложения на GoКонсольные приложения на Go
Консольные приложения на Go
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 
Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"Andrew Aksyonoff "Архитектура вокруг поиска"
Andrew Aksyonoff "Архитектура вокруг поиска"
 
PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...
 
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
Производительность Unity3D: подводные камни / Алексей Чубарь (BIT.GAMES)
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрация
 
Triggermesh - FaaS платформа на Kubernetes
Triggermesh - FaaS платформа на KubernetesTriggermesh - FaaS платформа на Kubernetes
Triggermesh - FaaS платформа на Kubernetes
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
 
php frameworks
php frameworksphp frameworks
php frameworks
 
Андрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кодаАндрей Карпов, Приватные байки от разработчиков анализатора кода
Андрей Карпов, Приватные байки от разработчиков анализатора кода
 
Приручаем linux-консоль
Приручаем linux-консольПриручаем linux-консоль
Приручаем linux-консоль
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень
 
Масштабируемый DevOps
Масштабируемый DevOpsМасштабируемый DevOps
Масштабируемый DevOps
 
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 

Mehr von Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

Mehr von Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)