Контейнерная виртуализация. Золушка в облаках

86
Контейнерная виртуализация Золушка в облаках Юрий Устинов Русоникс 18+

Upload: rusonyx

Post on 16-Jun-2015

675 views

Category:

Technology


0 download

DESCRIPTION

Слайды доклада с конференции Российские Интернет Технологии 2013 http://ritconf.ru Для обеспечения работы крупных веб-проектов как правило реализуются два сценария: железный и облачный. Классический железный сценарий предполагает решение задачи в лоб и чреват серьезными осложнениями в дальнейшем. Более модный облачный вариант выбирают все чаще. В этом случае речь идет о построении инфраструктурного облака с использованием гипервизора: полной виртуализации (как правило, VMware), либо паравиртуализации (как правило, XEN). В докладе предлагается третий сценарий развития веб-проектов: построение облака с использованием контейнерной виртуализации Parallels Virtuozzo Containers (виртуализация на базе операционной системы) на примере Русоникса. Опыт Русоникса - это тысячи виртуальных серверов для тысяч разноплановых веб-проектов с заведомо непредсказуемым поведением на базе контейнерной виртуализации и типового железа. Контейнеры обеспечивают невероятную плотность и эффективность использования физических ресурсов. Технология используется, например, в Google для выполнения важнейших задач, таких как вывод результатов поиска и показ контекстных объявлений. Однако, несмотря на все преимущества, контейнерная виртуализация остается в тени и на практике известна не так широко, как VMware в корпоративном мире или XEN в облачно-амазонном.

TRANSCRIPT

Page 1: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация Золушка в облаках

Юрий Устинов Русоникс

18+

Page 2: Контейнерная виртуализация. Золушка в облаках

Золушка в облаках

Контейнерная виртуализация

18+

Page 3: Контейнерная виртуализация. Золушка в облаках

тысячи веб-проектов

Схема Русоникса

Page 4: Контейнерная виртуализация. Золушка в облаках

тысячи веб-проектов

тысячи виртуальных серверов

Схема Русоникса

Page 5: Контейнерная виртуализация. Золушка в облаках

тысячи веб-проектов

тысячи виртуальных серверов

Схема Русоникса

Page 6: Контейнерная виртуализация. Золушка в облаках
Page 7: Контейнерная виртуализация. Золушка в облаках
Page 8: Контейнерная виртуализация. Золушка в облаках
Page 9: Контейнерная виртуализация. Золушка в облаках
Page 10: Контейнерная виртуализация. Золушка в облаках
Page 11: Контейнерная виртуализация. Золушка в облаках
Page 12: Контейнерная виртуализация. Золушка в облаках
Page 13: Контейнерная виртуализация. Золушка в облаках
Page 14: Контейнерная виртуализация. Золушка в облаках
Page 15: Контейнерная виртуализация. Золушка в облаках
Page 16: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 17: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 18: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 19: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 20: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 21: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 22: Контейнерная виртуализация. Золушка в облаках

Железный сценарий

Page 23: Контейнерная виртуализация. Золушка в облаках

!@#$%^&

Железный сценарий

Page 24: Контейнерная виртуализация. Золушка в облаках
Page 25: Контейнерная виртуализация. Золушка в облаках

Нет: распределения нагрузки; масштабирования;

гибкости.

Есть: простой ресурсов; медленный старт.

Железный сценарий

Page 26: Контейнерная виртуализация. Золушка в облаках
Page 27: Контейнерная виртуализация. Золушка в облаках
Page 28: Контейнерная виртуализация. Золушка в облаках
Page 29: Контейнерная виртуализация. Золушка в облаках
Page 30: Контейнерная виртуализация. Золушка в облаках
Page 31: Контейнерная виртуализация. Золушка в облаках
Page 32: Контейнерная виртуализация. Золушка в облаках
Page 33: Контейнерная виртуализация. Золушка в облаках
Page 34: Контейнерная виртуализация. Золушка в облаках
Page 35: Контейнерная виртуализация. Золушка в облаках

Облачный сценарий

Page 36: Контейнерная виртуализация. Золушка в облаках

Облачный сценарий

Page 37: Контейнерная виртуализация. Золушка в облаках

Облачный сценарий

Page 38: Контейнерная виртуализация. Золушка в облаках

Облачный сценарий

Page 39: Контейнерная виртуализация. Золушка в облаках

Облачный сценарий

Page 40: Контейнерная виртуализация. Золушка в облаках

Облачный сценарий

Нет: оверкоммита (нельзя раздать > 100%)

Есть: относительно быстрый старт Вирт.Машин. простой ресурсов; потери на гипервизор и гостевые ОС.

Page 41: Контейнерная виртуализация. Золушка в облаках
Page 42: Контейнерная виртуализация. Золушка в облаках
Page 43: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 44: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 45: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 46: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 47: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 48: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 49: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Page 50: Контейнерная виртуализация. Золушка в облаках

Контейнерная виртуализация

Нет: ОС с различными ядрами на одном хосте

Есть: оверкоммит (можно раздать > 100%); максимальная утилизация ресурсов; мгновенный старт контейнеров.

Page 51: Контейнерная виртуализация. Золушка в облаках
Page 52: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

Task 1 Task 2 Task 3

Page 53: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

Task 1 Task 2 Task 3

20%

80%

50%

Page 54: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

20%

80%

50%

Page 55: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

20%

80%

50% Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

Page 56: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

Page 57: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

Page 58: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Google

Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

Tier 1

Tier 1 Tier 1

Tier 2

Tier 2

Tier 2

Page 59: Контейнерная виртуализация. Золушка в облаках
Page 60: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе тысячи

веб-проектов тысячи

виртуальных серверов

Page 61: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

виртуализация с 2001 года

первое публичное веб-облако в РФ

одно из первых в мире

Технология: Parallels Virtuozzo Containers

Page 62: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Только типовые серверы: DELL PE R610, R420

CPU: Intel 2 x 6-core XEON (итого 24 треда)

RAM: 32 Gb

Диски: 6 x SAS (2,5”, 10k RPM) в RAID 10

Page 63: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Никаких модных железок

Ни инфинибэнда

Ни блейдов

Ни чудо-дисковых хранилищ

Page 64: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Автоматизация:

Группы серверов Группы тарифов

Page 65: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Файловая система VZFS:

Новый контейнер

OS Templates

EZ Templates

CentOS

smth

apache

MySQL

nginx

smth

Page 66: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Файловая система VZFS:

OS Templates

EZ Templates Новый контейнер

CentOS

smth

apache

MySQL

nginx

smth

CentOS

MySQL smth

apache nginx

Page 67: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Файловая система VZFS:

OS Templates

EZ Templates Новый контейнер

CentOS

smth

apache

MySQL

nginx

smth

CentOS

MySQL smth

apache nginx

# touch

Page 68: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Файловая система VZFS:

OS Templates

EZ Templates Новый контейнер

CentOS

smth

apache

MySQL

nginx

smth

CentOS

MySQL smth

apache nginx

# touch

Page 69: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Совместное использование памяти для бинарного кода и библиотек

EZ Template: apache

code code code code code code

data data data data data data

Page 70: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

EZ Template: apache

exec exec exec exec exec exec

data data data data data data 1 – 2 Гб памяти

зависит от кол-ва контейнеров и гомогенности ПО

экономия

Совместное использование памяти для бинарного кода и библиотек

Page 71: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Новый контейнер:

OS Template + EZ Templates

выполнение команд внутри контейнера индивидуальная конфигурация под клиента

Кастомизация:

vzagent, XML API +

Page 72: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Изоляция контейнеров и ограничения по ресурсам:

CPU RAM DISK DISK IO LAN

CPU Limit (MHz, ядра)

CPU Unit (вес)

Page 73: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Изоляция контейнеров и ограничения по ресурсам:

CPU RAM DISK DISK IO LAN

physpages swappages

VSwap

+UBC custom tuning

Page 74: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Изоляция контейнеров и ограничения по ресурсам:

CPU RAM DISK DISK IO LAN

Жесткое ограничение по объему диска

Page 75: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Изоляция контейнеров и ограничения по ресурсам:

CPU RAM DISK DISK IO LAN

CFQ, 10 Мбит/с

Обычные ноды:

Deadline, неогр

Ноды для грузчиков:

Page 76: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Изоляция контейнеров и ограничения по ресурсам:

CPU RAM DISK DISK IO LAN

10-70 Мбит/с

Output:

Page 77: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Изоляция контейнеров и ограничения по ресурсам:

CPU RAM DISK DISK IO LAN

Мгновенное изменение

на лету

Page 78: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Тип A Тип A

Тип A Тип A

Тип A Тип A

Тип Б

Тип Б

Балансировка нагрузки, смена тарифа, живая миграция

Page 79: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе

Тип A Тип A

Тип A Тип A

Тип A Тип A

Тип Б

Тип Б

Балансировка нагрузки, смена тарифа, живая миграция

Page 80: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе Балансировка нагрузки, смена тарифа, живая миграция

Тип A Тип A

Тип A Тип A

Тип A

Тип Б

Тип Б

Тип Б

Page 81: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе Балансировка нагрузки, смена тарифа, живая миграция

Тип Б

Тип Б

Тип Б

Page 82: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе Балансировка нагрузки, смена тарифа, живая миграция

Тип Б

Тип Б

Тип В /аренда сервера/

Page 83: Контейнерная виртуализация. Золушка в облаках

Пример: контейнеры в Русониксе Встроенное резервное копирование

node node

node node

Backup node

Page 84: Контейнерная виртуализация. Золушка в облаках

Итого

• Высочайшая плотность размещения

• Максимальное использование ресурсов

• Изоляция между клиентами

• Простое и быстрое обслуживание

Page 85: Контейнерная виртуализация. Золушка в облаках

Итого

• Авто активация и кастомизация

• Авто масштабирование, миграция

• Мгновенный старт и уничтожение сервера

• Прозрачный переход на выделенный сервер

Page 86: Контейнерная виртуализация. Золушка в облаках

Юрий Устинов /Русоникс/ FB: yuri.ustinov rusonyx TWT: @sukahitriy @rusonyx EML: [email protected] [email protected]

Спасибо, RIT++