View
685
Download
0
Category
Preview:
DESCRIPTION
Слайды доклада с конференции Российские Интернет Технологии 2013 http://ritconf.ru Для обеспечения работы крупных веб-проектов как правило реализуются два сценария: железный и облачный. Классический железный сценарий предполагает решение задачи в лоб и чреват серьезными осложнениями в дальнейшем. Более модный облачный вариант выбирают все чаще. В этом случае речь идет о построении инфраструктурного облака с использованием гипервизора: полной виртуализации (как правило, VMware), либо паравиртуализации (как правило, XEN). В докладе предлагается третий сценарий развития веб-проектов: построение облака с использованием контейнерной виртуализации Parallels Virtuozzo Containers (виртуализация на базе операционной системы) на примере Русоникса. Опыт Русоникса - это тысячи виртуальных серверов для тысяч разноплановых веб-проектов с заведомо непредсказуемым поведением на базе контейнерной виртуализации и типового железа. Контейнеры обеспечивают невероятную плотность и эффективность использования физических ресурсов. Технология используется, например, в Google для выполнения важнейших задач, таких как вывод результатов поиска и показ контекстных объявлений. Однако, несмотря на все преимущества, контейнерная виртуализация остается в тени и на практике известна не так широко, как VMware в корпоративном мире или XEN в облачно-амазонном.
Citation preview
Контейнерная виртуализация Золушка в облаках
Юрий Устинов Русоникс
18+
Золушка в облаках
Контейнерная виртуализация
18+
тысячи веб-проектов
Схема Русоникса
тысячи веб-проектов
тысячи виртуальных серверов
Схема Русоникса
тысячи веб-проектов
тысячи виртуальных серверов
Схема Русоникса
Железный сценарий
Железный сценарий
Железный сценарий
Железный сценарий
Железный сценарий
Железный сценарий
Железный сценарий
!@#$%^&
Железный сценарий
Нет: распределения нагрузки; масштабирования;
гибкости.
Есть: простой ресурсов; медленный старт.
Железный сценарий
Облачный сценарий
Облачный сценарий
Облачный сценарий
Облачный сценарий
Облачный сценарий
Облачный сценарий
Нет: оверкоммита (нельзя раздать > 100%)
Есть: относительно быстрый старт Вирт.Машин. простой ресурсов; потери на гипервизор и гостевые ОС.
Контейнерная виртуализация
Контейнерная виртуализация
Контейнерная виртуализация
Контейнерная виртуализация
Контейнерная виртуализация
Контейнерная виртуализация
Контейнерная виртуализация
Контейнерная виртуализация
Нет: ОС с различными ядрами на одном хосте
Есть: оверкоммит (можно раздать > 100%); максимальная утилизация ресурсов; мгновенный старт контейнеров.
Пример: контейнеры в Google
Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH
Task 1 Task 2 Task 3
Пример: контейнеры в Google
Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH
Task 1 Task 2 Task 3
20%
80%
50%
Пример: контейнеры в Google
Подробнее: Tim Hockin, Control Loops In Userspace http://bit.ly/109hHcH
20%
80%
50%
Пример: контейнеры в 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
Пример: контейнеры в 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
Пример: контейнеры в 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
Пример: контейнеры в 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
Пример: контейнеры в Русониксе тысячи
веб-проектов тысячи
виртуальных серверов
Пример: контейнеры в Русониксе
виртуализация с 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 1 – 2 Гб памяти
зависит от кол-ва контейнеров и гомогенности ПО
экономия
Совместное использование памяти для бинарного кода и библиотек
Пример: контейнеры в Русониксе
Новый контейнер:
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
Тип Б
Тип Б
Тип Б
Пример: контейнеры в Русониксе Балансировка нагрузки, смена тарифа, живая миграция
Тип Б
Тип Б
Тип Б
Пример: контейнеры в Русониксе Балансировка нагрузки, смена тарифа, живая миграция
Тип Б
Тип Б
Тип В /аренда сервера/
Пример: контейнеры в Русониксе Встроенное резервное копирование
node node
node node
Backup node
Итого
• Высочайшая плотность размещения
• Максимальное использование ресурсов
• Изоляция между клиентами
• Простое и быстрое обслуживание
Итого
• Авто активация и кастомизация
• Авто масштабирование, миграция
• Мгновенный старт и уничтожение сервера
• Прозрачный переход на выделенный сервер
Юрий Устинов /Русоникс/ FB: yuri.ustinov rusonyx TWT: @sukahitriy @rusonyx EML: u@rsnx.ru hr@rusonyx.ru
Спасибо, RIT++
Recommended