SlideShare a Scribd company logo
1 of 50
Download to read offline
one-cloud
Система управления
датацентром в ОК
Олег Анастасьев
@m0nstermind
oa@ok.ru
2
4
ЦОД
500
Стоек
8000
Серверов
Железо в Одноклассниках
3
инженеры
сетевики
админы
разработчики

(функциональные команды )
4
Работает так
web frontend API music
app server
one-graph user-cache black-list
(микро) сервисы
• 1 сервер = 1 задача
• Это просто:
• В массовом управлении
• В диагностике и мониторинге
• 1 сервис = Х серверов
• Просто распределяется ресурс
• Специализированные конфигурации
• Это эффективно
5
Железо в Одноклассниках
6
Самое дорогое - это сервера
Самое дорогое - место в ДЦ
Утилизация стоек - 11 %
Нужно повышать утилизацию
• 1 сервер = Х задач
• Все сложно:
• Конфигурация
• Диагностика
• Нет изоляции 

7
Повышаем %% по-простому
• Конфигурация
• Образы ФС
• Многослойность, Таги, Реестр
• Изоляция
• память, ЦПУ
8
Контейнеризируем
• Размещение контейнеров на сервера
• Упаковка по ресурсам: ЦП, память, трафик
• Может быть сложным: стойки, залы
• На 8,000 вручную - не вариант
• Выделение ресурсов на проект
• Больше самостоятельности
• Сохраняя контроль
9
Другая часть проблем
Нужен управляющий слой
10
Три квадратика
docker daemon
one-cloud miniond
one-cloud masters
Linux Kernel
Распределение ресурсов
• Ресурс это:
• ЦПУ
• Память
• Трафик
• Диски ( место, тип, iops )

• Ресурсы конечны
• Нужно ограничивать
12
Распределение ресурсов
cpu = 1500
mem = 1.5 T
lan_in = 32 gbit

lan_out = 32 gbit
hdd = 20x15T
Q
Но на что поставить квоту?
13
Работает так
web frontend API music
app server
one-graph user-cache black-list
(микро) сервисы
14
front
web frontend API music
one-graph
user-cache
black-list
app server
cache
db
app server
photo-cache group-cache
musicweb
15
.
cachefront
web music
api …group1 group2
…
user-cache
Иерархия
Q
group1.web.front api.music.front user-cache.cache
• Имя
• Квота на ресурсы
• Права пользователей
• Отправка сервиса для dev
• Административные права для ops/admin
• Отправляем сервисы
• Выполняются в пределах квоты
16
Иерархическая очередь
group1.web.front
cpu = 1500 mem = 1.5 TQ ( )
Submit, Admin
• Сервис имеет:
• Полное имя
• Манифест 

( ресурсы, конфигурация, репликация, отказы )

• И экземпляры
17
Сервисы
ok-web.group1.web.front
1.ok-web.group1.web.front
…
2.ok-web.group1.web.front
42.ok-web.group1.web.front
ok-app.group1.web.front
Классы изоляции задач
19
Классы задач в ОК
• С малой задержкой : prod
• важна скорость ответа ( latency )
• Расчетные : batch
• важна пропускная способность ( throughput )
• Map Reduce, ML, DWH, etc.

• Фоновые : idle
• тесты, пересчеты, конвертации
• С малой задержкой
• важна скорость ответа

( latency )
• размещение резервированием
20
Классы задач в ОК : prod
t
cores
1
2
3
4
0
max
avg
alloc: cpu = 4 (max)
task 1 task 2 task 3 task 4
21
Классы задач в ОК : batch
t
avg
cores
1
2
3
4
0
min
• Расчетные
• важна пропускная способность

( throughput )
• Map Reduce, ML, DWH, etc.
alloc: cpu = [1, * )
22
prod + batch = love
t
cores
1
2
3
4
0
• С малой задержкой
• важна скорость ответа
• размещение резервированием
• Расчетные
• важна средняя скорость
• MapRed, ML, etc.

23
Как это сделать в docker run
prod, cpu = 4
batch, cpu = [1, * )
—cpuset = 1-4
—cpuquota = 400 000
—cpuperiod = 100 000
?
24
Как это сделать в docker run
prod, cpu = 4
batch, cpu = [1, * )
—cpuquota = 400 000
—cpuperiod = 100 000
—cpushares = 1 024
batch, cpu = [2, * )
—cpushares = 2 048
• SCHED_OTHER
• обычный в Linux
• SCHED_BATCH
• ресурсоемкий; штраф за активацию
• SCHED_IDLE
• фоновый < nice -19
25
Linux CPU scheduler policies
*man sched_setschedulergithub.com/odnoklassniki/one-nio
26
Как это сделать в docker run
prod, cpu = 4
batch, cpu = [1, * )
—cpuquota = 400 000 —cpuperiod = 100 000
—cpushares = 1 024 [ —cap-add = SYS_NICE ]
+ SCHED_OTHER
+ SCHED_BATCH
+ SCHED_IDLE
idle, cpu = [2, * )
—cpushares = 2 048 [ —cap-add = SYS_NICE ]
27
Трафик
t
mbps
500
0
prod: lan = 500mbps
batch: lan = [100, *)
• prod приоритетнее batch
• batch > idle ( по avg )

• на исходящий трафик
• и на входящий

Как это сделать в docker run ?
Никак не сделать в docker run…
28
Linux QoS
• Traffic Control ( tc )
• Hierarchical Fair Service Curve ( hfsc )
• 2 класса: prod; batch/idle
• modprobe ifb
• для QoS входящего трафика
• регулируемая полоса для batch/idle
• это пришлось дописать
http://lartc.org
29
ok-web.group1.web.front.prod
catalog-manager.music.batch
transformer.music.idle
prod batch idle
…front
web music
music

transformer
music

catalog
… …
• Трафик
• внутренняя очередь сетевой карты
• только TCP
• ~ + 10 % к задержке
• CPU интенсивный batch
• ~ нет влияния на prod

• Память
• вымывается кэш CPU
• ~ + 10% к задержке
30
Полная изоляция невозможна
Отказоустойчивость
• Изоляция
• квота на ресурсы
• нет влияния на других

• Политики рестарта
• ALWAYS, ON_FAILURE
• NONE
32
Отказ контейнера
• Переносим!
• Нужен Service Discovery
• ( даже для ip-per-container )
• Удобно
• Много решений
• +Баланcировщик
• Нужен ли Service Discovery ?
• Балансировок уже много
• Критическая система + Точка Отказа
• Много переделывать. Очень много. Местами невозможно.
33
Отказ миньона
• IP статичны
• закрепляются при создании сервиса
• max( replicas )
• следуют за контейнером по сети

• DNS
• живые и мертвые IP ( клиенты отфильтруют )

• Критичные сервисы - без DNS
34
Жизнь ( почти ) без Service Discovery
1.1.1.1
1.1.1.2
…
ok-web.group1.web.front.prod
= 1.1.1.1
1.ok-web.group1.web.front.prod
35
Сеть
M
route reflector
1.ok-web
eBGP
1.1.1.1
bird
36
Сеть
M route reflector
1.ok-web
eBGP
Multi Exit Discriminator
1.1.1.1
1.ok-web
1.1.1.1
M
bird
37
Сеть
M route reflector
1.ok-web
eBGP
1.1.1.1 : 1,000,000
1.ok-web
1.1.1.11.1.1.1 : 999,999
Multi Exit Discriminator
M
Аварии
• Отказ множества машин
• Массовые миграции контейнеров
• Нехватка ресурсов
• Отказ управляющего слоя

• Взлет количества алертов
• Тормоза/Шум в мониторинге
39
Авария - это:
40
prod batch idle
cachefront
web music
music

transformer
music

catalog
… …
1 2
• Приоритет размещения
• Выше приоритет - быстрее мигрирует
• Применяется иерархически
0
10
Массовые миграции
0
1
41
prod batch idle
cachefront
web music
music

transformer
music

catalog
… …
• Приоритет вытеснения задачи
• Вытесняет ( останавливает ) задачу с миньона
• Часть задач остается неразмещенными
Нехватка ресурсов
2
10
10
00
Тотальное разрушение
• Стихия



• Человеческий фактор

• Баги
43
Авария ДЦ целиком : причины
https://habrahabr.ru/company/dataline/blog/333578/
Это НЕ редкость !
#окживи
• 1 one-cloud = max( 1 ДЦ )
• Потеря облака = потеря 1 ДЦ
• Готовность приложений к потере ДЦ
• Политика резервирования
• Отказоустойчивые БД
• Тестирование отказа/Учения

• 4 ДЦ = 4 one-cloud
• Изолированы друг от друга
44
Изолировать !
• При потенциально опасных командах
• Массовый останов
• При “странных” командах
• Уменьшение реплик, смена имени образа сервиса
45
Проверка адекватности оператора
• Иерархия сервисов, видимость
• prod + batch = плотная утилизация
• docker —cpu* + sched_setscheduler/chrt
• cpuset
• Изоляция, отказы, изолента
• Аварии, а также
• приоритеты и их польза в иерархии
• ops неадекват страшнее стихии
46
45 плотно упакованных слайдов
2 ЧАВО
• prod vs batch/idle
• = разные политики размещения
• Иерархические очереди
• С приоритетами, правами, квотами
• Статические IP per container
• Нужна интеграция с сетевой инфраструктурой, управление BGP MED
• Управление пулами IP на очередях
• Простота
• Простые и понятные имена контейнеров
• Не нужны сложные pods
49
Почему не M*, K*, X
50
Потребление памяти

More Related Content

What's hot

10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...Ontico
 
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...Ontico
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Ontico
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Ontico
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Ontico
 
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахБалансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахOntico
 
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Ontico
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)Ontico
 
Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...
Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...
Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...Ontico
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015Alex Chistyakov
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)Ontico
 
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Ontico
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Ontico
 
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Николай Лавлинский
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Ontico
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Ontico
 

What's hot (20)

RootConf 2015
RootConf 2015RootConf 2015
RootConf 2015
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
 
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
 
Балансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в ОдноклассникахБалансировка нагрузки и отказоустойчивость в Одноклассниках
Балансировка нагрузки и отказоустойчивость в Одноклассниках
 
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
 
Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...
Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...
Пишем свою платформу для управления данными. Это очень просто / Суханов Васил...
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
 
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
 
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
 

Viewers also liked

маркетинговая стратегия. презентация для клиента
маркетинговая стратегия. презентация для клиентамаркетинговая стратегия. презентация для клиента
маркетинговая стратегия. презентация для клиентаSe_Grey
 
Go funplaces Маркетинг-план
Go funplaces Маркетинг-планGo funplaces Маркетинг-план
Go funplaces Маркетинг-планTokole
 
Бизнес и Маркетинг "Evolline Group".
Бизнес и Маркетинг "Evolline Group".Бизнес и Маркетинг "Evolline Group".
Бизнес и Маркетинг "Evolline Group".Лана Антошенко
 
hse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаев
hse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаевhse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаев
hse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий КалаевBusiness incubator HSE
 
Как составить маркетинг-план
Как составить маркетинг-планКак составить маркетинг-план
Как составить маркетинг-планAndreas Schwarzkopf
 
От стратегических целей к системе KPI. Как оценить качество медиа присутствия?
От стратегических целей к системе KPI. Как оценить качество медиа присутствия?От стратегических целей к системе KPI. Как оценить качество медиа присутствия?
От стратегических целей к системе KPI. Как оценить качество медиа присутствия?PR News
 
ADCONSULT | Детский маркетинг | Бесплатный мастер-класс
ADCONSULT | Детский маркетинг | Бесплатный мастер-классADCONSULT | Детский маркетинг | Бесплатный мастер-класс
ADCONSULT | Детский маркетинг | Бесплатный мастер-классADCONSULT
 
Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...
Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...
Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...montydoyle
 
Часть 1. Изменение поведения и покупок потребителей.
Часть 1. Изменение поведения и покупок потребителей.Часть 1. Изменение поведения и покупок потребителей.
Часть 1. Изменение поведения и покупок потребителей.Svetlana Tkacheva
 
Развитие бренда и маркетинговая стратегия
Развитие бренда и маркетинговая стратегияРазвитие бренда и маркетинговая стратегия
Развитие бренда и маркетинговая стратегияPR News
 
Kpi в коммуникациях и pr. Бенчмаркинг по рынку.
Kpi в коммуникациях и pr. Бенчмаркинг по рынку.Kpi в коммуникациях и pr. Бенчмаркинг по рынку.
Kpi в коммуникациях и pr. Бенчмаркинг по рынку.PR News
 
дети и потребительское
дети и потребительскоедети и потребительское
дети и потребительскоеMary KoySin
 
Маркетинг план Serenigy (русский)
Маркетинг план Serenigy (русский)Маркетинг план Serenigy (русский)
Маркетинг план Serenigy (русский)nermeda
 
Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...
Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...
Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...Ontico
 
Инвесторы и институты развития – где взять деньги на проект
Инвесторы и институты развития – где взять деньги на проектИнвесторы и институты развития – где взять деньги на проект
Инвесторы и институты развития – где взять деньги на проектdkalaev
 
Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)
Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)
Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)Ontico
 
Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)
Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)
Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)Ontico
 
Тестирование идей
Тестирование идейТестирование идей
Тестирование идейDmitriy Provotorov
 
Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)
Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)
Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)Ontico
 

Viewers also liked (20)

маркетинговая стратегия. презентация для клиента
маркетинговая стратегия. презентация для клиентамаркетинговая стратегия. презентация для клиента
маркетинговая стратегия. презентация для клиента
 
Go funplaces Маркетинг-план
Go funplaces Маркетинг-планGo funplaces Маркетинг-план
Go funplaces Маркетинг-план
 
Бизнес и Маркетинг "Evolline Group".
Бизнес и Маркетинг "Evolline Group".Бизнес и Маркетинг "Evolline Group".
Бизнес и Маркетинг "Evolline Group".
 
hse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаев
hse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаевhse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаев
hse{sun} Специфика работы с проектами в сфере ИТ и интернет, Дмитрий Калаев
 
Как составить маркетинг-план
Как составить маркетинг-планКак составить маркетинг-план
Как составить маркетинг-план
 
От стратегических целей к системе KPI. Как оценить качество медиа присутствия?
От стратегических целей к системе KPI. Как оценить качество медиа присутствия?От стратегических целей к системе KPI. Как оценить качество медиа присутствия?
От стратегических целей к системе KPI. Как оценить качество медиа присутствия?
 
Маркетинг план
Маркетинг планМаркетинг план
Маркетинг план
 
ADCONSULT | Детский маркетинг | Бесплатный мастер-класс
ADCONSULT | Детский маркетинг | Бесплатный мастер-классADCONSULT | Детский маркетинг | Бесплатный мастер-класс
ADCONSULT | Детский маркетинг | Бесплатный мастер-класс
 
Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...
Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...
Франшиза, млм-компания или бизнес "с нуля"? Плюсы и минусы различных форм биз...
 
Часть 1. Изменение поведения и покупок потребителей.
Часть 1. Изменение поведения и покупок потребителей.Часть 1. Изменение поведения и покупок потребителей.
Часть 1. Изменение поведения и покупок потребителей.
 
Развитие бренда и маркетинговая стратегия
Развитие бренда и маркетинговая стратегияРазвитие бренда и маркетинговая стратегия
Развитие бренда и маркетинговая стратегия
 
Kpi в коммуникациях и pr. Бенчмаркинг по рынку.
Kpi в коммуникациях и pr. Бенчмаркинг по рынку.Kpi в коммуникациях и pr. Бенчмаркинг по рынку.
Kpi в коммуникациях и pr. Бенчмаркинг по рынку.
 
дети и потребительское
дети и потребительскоедети и потребительское
дети и потребительское
 
Маркетинг план Serenigy (русский)
Маркетинг план Serenigy (русский)Маркетинг план Serenigy (русский)
Маркетинг план Serenigy (русский)
 
Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...
Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...
Выход на новые рынки, так ли это сложно организовать / Павел Шинкаренко (Sola...
 
Инвесторы и институты развития – где взять деньги на проект
Инвесторы и институты развития – где взять деньги на проектИнвесторы и институты развития – где взять деньги на проект
Инвесторы и институты развития – где взять деньги на проект
 
Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)
Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)
Мифы, которые мешают бизнесу расти / Дмитрий Калаев (ФРИИ)
 
Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)
Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)
Почему бизнес-процессы — это не страшно / Александр Богданов (AGIMA)
 
Тестирование идей
Тестирование идейТестирование идей
Тестирование идей
 
Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)
Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)
Опыт международных продаж видеостримера Flussonic / Максим Лапшин (Erlyvideo)
 

Similar to One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасьев (Одноклассники)

Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStackYandex
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with JavaAndrei Pangin
 
Жизнь проекта на production
Жизнь проекта на productionЖизнь проекта на production
Жизнь проекта на productionNikolay Sivko
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_drupalconf
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014InterSystems
 
Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)
Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)
Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)Ontico
 
Итак, оно тормозит
Итак, оно тормозитИтак, оно тормозит
Итак, оно тормозитVsevolod Polyakov
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeIosif Itkin
 
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Ontico
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Andrey Smirnov
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Ontico
 
SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...
SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...
SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...Ontico
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Ontico
 
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting Yandex
 
Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»e-Legion
 
YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011CodeCamp
 
SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!Ivan Kruglov
 
GRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network InitiativeGRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network InitiativeARCCN
 
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...Ontico
 
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Badoo Development
 

Similar to One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасьев (Одноклассники) (20)

Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with Java
 
Жизнь проекта на production
Жизнь проекта на productionЖизнь проекта на production
Жизнь проекта на production
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
 
Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)
Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)
Эксплуатация container-based-инфраструктур / Николай Сивко (okmeter.io)
 
Итак, оно тормозит
Итак, оно тормозитИтак, оно тормозит
Итак, оно тормозит
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...
SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...
SOA: послать запрос на сервер? Что может быть проще?! / Иван Круглов (Booking...
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
 
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
 
Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»
 
YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011YuryByyanov (e-legion) @ CodeCamp2011
YuryByyanov (e-legion) @ CodeCamp2011
 
SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!
 
GRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network InitiativeGRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network Initiative
 
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
 
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
Облако в Badoo год спустя - работа над ошибками, Юрий Насретдинов (Badoo)
 

More from Ontico

Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)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
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Ontico
 
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Ontico
 

More from Ontico (20)

Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в 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...
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
 
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
 

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасьев (Одноклассники)

  • 1. one-cloud Система управления датацентром в ОК Олег Анастасьев @m0nstermind oa@ok.ru
  • 4. 4 Работает так web frontend API music app server one-graph user-cache black-list (микро) сервисы
  • 5. • 1 сервер = 1 задача • Это просто: • В массовом управлении • В диагностике и мониторинге • 1 сервис = Х серверов • Просто распределяется ресурс • Специализированные конфигурации • Это эффективно 5 Железо в Одноклассниках
  • 6. 6 Самое дорогое - это сервера Самое дорогое - место в ДЦ Утилизация стоек - 11 % Нужно повышать утилизацию
  • 7. • 1 сервер = Х задач • Все сложно: • Конфигурация • Диагностика • Нет изоляции 
 7 Повышаем %% по-простому
  • 8. • Конфигурация • Образы ФС • Многослойность, Таги, Реестр • Изоляция • память, ЦПУ 8 Контейнеризируем
  • 9. • Размещение контейнеров на сервера • Упаковка по ресурсам: ЦП, память, трафик • Может быть сложным: стойки, залы • На 8,000 вручную - не вариант • Выделение ресурсов на проект • Больше самостоятельности • Сохраняя контроль 9 Другая часть проблем Нужен управляющий слой
  • 10. 10 Три квадратика docker daemon one-cloud miniond one-cloud masters Linux Kernel
  • 12. • Ресурс это: • ЦПУ • Память • Трафик • Диски ( место, тип, iops )
 • Ресурсы конечны • Нужно ограничивать 12 Распределение ресурсов cpu = 1500 mem = 1.5 T lan_in = 32 gbit
 lan_out = 32 gbit hdd = 20x15T Q Но на что поставить квоту?
  • 13. 13 Работает так web frontend API music app server one-graph user-cache black-list (микро) сервисы
  • 14. 14 front web frontend API music one-graph user-cache black-list app server cache db app server photo-cache group-cache musicweb
  • 15. 15 . cachefront web music api …group1 group2 … user-cache Иерархия Q group1.web.front api.music.front user-cache.cache
  • 16. • Имя • Квота на ресурсы • Права пользователей • Отправка сервиса для dev • Административные права для ops/admin • Отправляем сервисы • Выполняются в пределах квоты 16 Иерархическая очередь group1.web.front cpu = 1500 mem = 1.5 TQ ( ) Submit, Admin
  • 17. • Сервис имеет: • Полное имя • Манифест 
 ( ресурсы, конфигурация, репликация, отказы )
 • И экземпляры 17 Сервисы ok-web.group1.web.front 1.ok-web.group1.web.front … 2.ok-web.group1.web.front 42.ok-web.group1.web.front ok-app.group1.web.front
  • 19. 19 Классы задач в ОК • С малой задержкой : prod • важна скорость ответа ( latency ) • Расчетные : batch • важна пропускная способность ( throughput ) • Map Reduce, ML, DWH, etc.
 • Фоновые : idle • тесты, пересчеты, конвертации
  • 20. • С малой задержкой • важна скорость ответа
 ( latency ) • размещение резервированием 20 Классы задач в ОК : prod t cores 1 2 3 4 0 max avg alloc: cpu = 4 (max) task 1 task 2 task 3 task 4
  • 21. 21 Классы задач в ОК : batch t avg cores 1 2 3 4 0 min • Расчетные • важна пропускная способность
 ( throughput ) • Map Reduce, ML, DWH, etc. alloc: cpu = [1, * )
  • 22. 22 prod + batch = love t cores 1 2 3 4 0 • С малой задержкой • важна скорость ответа • размещение резервированием • Расчетные • важна средняя скорость • MapRed, ML, etc.

  • 23. 23 Как это сделать в docker run prod, cpu = 4 batch, cpu = [1, * ) —cpuset = 1-4 —cpuquota = 400 000 —cpuperiod = 100 000 ?
  • 24. 24 Как это сделать в docker run prod, cpu = 4 batch, cpu = [1, * ) —cpuquota = 400 000 —cpuperiod = 100 000 —cpushares = 1 024 batch, cpu = [2, * ) —cpushares = 2 048
  • 25. • SCHED_OTHER • обычный в Linux • SCHED_BATCH • ресурсоемкий; штраф за активацию • SCHED_IDLE • фоновый < nice -19 25 Linux CPU scheduler policies *man sched_setschedulergithub.com/odnoklassniki/one-nio
  • 26. 26 Как это сделать в docker run prod, cpu = 4 batch, cpu = [1, * ) —cpuquota = 400 000 —cpuperiod = 100 000 —cpushares = 1 024 [ —cap-add = SYS_NICE ] + SCHED_OTHER + SCHED_BATCH + SCHED_IDLE idle, cpu = [2, * ) —cpushares = 2 048 [ —cap-add = SYS_NICE ]
  • 27. 27 Трафик t mbps 500 0 prod: lan = 500mbps batch: lan = [100, *) • prod приоритетнее batch • batch > idle ( по avg )
 • на исходящий трафик • и на входящий
 Как это сделать в docker run ? Никак не сделать в docker run…
  • 28. 28 Linux QoS • Traffic Control ( tc ) • Hierarchical Fair Service Curve ( hfsc ) • 2 класса: prod; batch/idle • modprobe ifb • для QoS входящего трафика • регулируемая полоса для batch/idle • это пришлось дописать http://lartc.org
  • 30. • Трафик • внутренняя очередь сетевой карты • только TCP • ~ + 10 % к задержке • CPU интенсивный batch • ~ нет влияния на prod
 • Память • вымывается кэш CPU • ~ + 10% к задержке 30 Полная изоляция невозможна
  • 32. • Изоляция • квота на ресурсы • нет влияния на других
 • Политики рестарта • ALWAYS, ON_FAILURE • NONE 32 Отказ контейнера
  • 33. • Переносим! • Нужен Service Discovery • ( даже для ip-per-container ) • Удобно • Много решений • +Баланcировщик • Нужен ли Service Discovery ? • Балансировок уже много • Критическая система + Точка Отказа • Много переделывать. Очень много. Местами невозможно. 33 Отказ миньона
  • 34. • IP статичны • закрепляются при создании сервиса • max( replicas ) • следуют за контейнером по сети
 • DNS • живые и мертвые IP ( клиенты отфильтруют )
 • Критичные сервисы - без DNS 34 Жизнь ( почти ) без Service Discovery 1.1.1.1 1.1.1.2 … ok-web.group1.web.front.prod = 1.1.1.1 1.ok-web.group1.web.front.prod
  • 36. 36 Сеть M route reflector 1.ok-web eBGP Multi Exit Discriminator 1.1.1.1 1.ok-web 1.1.1.1 M bird
  • 37. 37 Сеть M route reflector 1.ok-web eBGP 1.1.1.1 : 1,000,000 1.ok-web 1.1.1.11.1.1.1 : 999,999 Multi Exit Discriminator M
  • 39. • Отказ множества машин • Массовые миграции контейнеров • Нехватка ресурсов • Отказ управляющего слоя
 • Взлет количества алертов • Тормоза/Шум в мониторинге 39 Авария - это:
  • 40. 40 prod batch idle cachefront web music music
 transformer music
 catalog … … 1 2 • Приоритет размещения • Выше приоритет - быстрее мигрирует • Применяется иерархически 0 10 Массовые миграции 0 1
  • 41. 41 prod batch idle cachefront web music music
 transformer music
 catalog … … • Приоритет вытеснения задачи • Вытесняет ( останавливает ) задачу с миньона • Часть задач остается неразмещенными Нехватка ресурсов 2 10 10 00
  • 43. • Стихия
 
 • Человеческий фактор
 • Баги 43 Авария ДЦ целиком : причины https://habrahabr.ru/company/dataline/blog/333578/ Это НЕ редкость ! #окживи
  • 44. • 1 one-cloud = max( 1 ДЦ ) • Потеря облака = потеря 1 ДЦ • Готовность приложений к потере ДЦ • Политика резервирования • Отказоустойчивые БД • Тестирование отказа/Учения
 • 4 ДЦ = 4 one-cloud • Изолированы друг от друга 44 Изолировать !
  • 45. • При потенциально опасных командах • Массовый останов • При “странных” командах • Уменьшение реплик, смена имени образа сервиса 45 Проверка адекватности оператора
  • 46. • Иерархия сервисов, видимость • prod + batch = плотная утилизация • docker —cpu* + sched_setscheduler/chrt • cpuset • Изоляция, отказы, изолента • Аварии, а также • приоритеты и их польза в иерархии • ops неадекват страшнее стихии 46 45 плотно упакованных слайдов
  • 47.
  • 49. • prod vs batch/idle • = разные политики размещения • Иерархические очереди • С приоритетами, правами, квотами • Статические IP per container • Нужна интеграция с сетевой инфраструктурой, управление BGP MED • Управление пулами IP на очередях • Простота • Простые и понятные имена контейнеров • Не нужны сложные pods 49 Почему не M*, K*, X