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

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

Embed Size (px)

Citation preview

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

18+

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

Front end Back end

Вертикальное масштабирование

Вертикальное масштабирование

Горизонтальное масштабирование

A B

Горизонтальное масштабирование

A B B

Горизонтальное масштабирование

A B B B

C

High Load. Высоконагруженная система

A B B B A A D D

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

гибкости.

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

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

железо

ОС

Виртуализация, гипервизор

железо

ОС

гипервизор

Виртуализация, гипервизор

вирт. сервер

железо

ОС

гипервизор

вирт. сервер

вирт. сервер

Виртуализация, гипервизор

Виртуализация, гипервизор

железо

ОС

гипервизор

вирт. сервер

вирт. сервер

вирт. сервер

виртуальное железо

ОС

СОФТ

Виртуализация, гипервизор

железо

ОС

гипервизор

вирт. сервер

вирт. сервер

вирт. сервер

железо

ОС

гипервизор

вирт. сервер

вирт. сервер

вирт. сервер

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

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

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

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

железо

ОС с виртуализацией

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

железо

ОС с виртуализацией

СОФТ СОФТ СОФТ

железо

ОС с виртуализацией

железо

ОС

гипервизор

виртуальное железо

ОС

СОФТ

виртуальное железо

ОС

СОФТ

виртуальное железо

ОС

СОФТ

СОФТ СОФТ СОФТ

Контейнерная

виртуализация

Гипервизорная

виртуализация

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

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

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

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

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

Task 1 Task 2 Task 3

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

Task 1 Task 2 Task 3

20%

80%

50%

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

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

20%

80%

50%

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

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

20%

80%

50% Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

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

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

Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

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

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

Tier 1

Tier 1

Tier 1

Tier 2

Tier 2

Tier 2

Tier 2

Tier 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RAM: 32 Gb

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

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

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

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

Ни блейдов

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

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

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

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

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

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

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

OS Templates

EZ Templates

CentOS

smth

apache

MySQL

nginx

smth

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

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

OS Templates

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

CentOS

smth

apache

MySQL

nginx

smth

CentOS

MySQL smth

apache nginx

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

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

OS Templates

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

CentOS

smth

apache

MySQL

nginx

smth

CentOS

MySQL smth

apache nginx

# touch

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

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

OS Templates

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

CentOS

smth

apache

MySQL

nginx

smth

CentOS

MySQL smth

apache nginx

# touch

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

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

EZ Template: apache

code code code code code code

data data data data data data

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

EZ Template: apache

exec exec exec exec exec exec

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

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

экономия

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

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

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

OS Template + EZ Templates

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

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

vzagent, XML API +

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

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

CPU RAM DISK DISK IO LAN

CPU Limit (MHz, ядра)

CPU Unit (вес)

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

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

CPU RAM DISK DISK IO LAN

physpages swappages

VSwap

+UBC custom tuning

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

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

CPU RAM DISK DISK IO LAN

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

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

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

CPU RAM DISK DISK IO LAN

CFQ, 10 Мбит/с

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

Deadline, неогр

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

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

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

CPU RAM DISK DISK IO LAN

10-70 Мбит/с

Output:

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

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

CPU RAM DISK DISK IO LAN

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

на лету

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

Тип A Тип A

Тип A Тип A

Тип A Тип A

Тип Б

Тип Б

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

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

Тип A Тип A

Тип A Тип A

Тип A Тип A

Тип Б

Тип Б

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

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

Тип A Тип A

Тип A Тип A

Тип A

Тип Б

Тип Б

Тип Б

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

Тип Б

Тип Б

Тип Б

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

Тип Б

Тип Б

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

Итого

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

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

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

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

Итого

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

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

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

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

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

Спасибо, #bitbyte

Parallels: An Introduction to OS Virtualization and PVC Performance Benchmark Comparison: Parallels Virtuozzo Containers vs. Hypervisors Top Ten Server Virtualization Technology Considerations Best Practices for Parallels Virtuozzo Containers for Linux: Using Virtual Swap to Maximize Container Performance Best Practices for Parallels Virtuozzo Containers for Linux: Using I/O Limits to Maximize Container Performance

Google: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH

Почитать