3.98M
Category: softwaresoftware

Виртуализация, контейнеризация

1.

Виртуализация,
контейнеризация

2.

План занятия
1. Рассмотрение основных понятий и определений.
2. Введение
в
системы
виртуализации
и
контейнеризации
3. Типы систем виртуализации. Популярные решения.
4. Описание систем контейнеризации
5. Итоги.
6. Домашнее/практическое задание.
По итогу занятия вы сможете получить представления
о том, что представляют из себя системы
виртуализации и контейнеризации, их отличия,
особенности применения на практике. Закрепите на
практическом уровне данный материал.

3.

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

4.

Введение в системы виртуализации
и контейнеризации
- Определение терминов
-Различия
между
виртуализацией
и
контейнеризацией
- Почему виртуализация и контейнеризация важны
для IT-инфраструктуры

5.

Определение терминов
Виртуализа́ция

предоставление
набора
вычислительных
ресурсов
или
их
логического
объединения,
абстрагированное
от
аппаратной
реализации, и обеспечивающее при этом логическую
изоляцию друг от друга вычислительных процессов,
выполняемых на одном физическом ресурсе.
Контейнеризация — метод виртуализации, при котором
ядро операционной системы поддерживает несколько
изолированных
экземпляров
пространства
пользователя вместо одного. Эти экземпляры с точки
зрения выполняемых в них процессов идентичны
отдельному экземпляру операционной системы.
Паравиртуализация — техника виртуализации, при
которой
гостевые
операционные
системы
подготавливаются для исполнения в виртуализированной
среде, для чего их ядро незначительно модифицируется.

6.

Определение терминов
Простыми словами Виртуализация — это создание
изолированных окружений в рамках одного
физического устройства.
Каждое окружение выглядит, как отдельный
компьютер со своими характеристиками (доступная
память, процессор и тп.)
Такое окружение называют набором логических
ресурсов или виртуальной машиной. ОС, внутри
которой стартует другая ОС, называется хостовой
системой, (host). А ОС, которая работает в
виртуальном окружении — гостевой (guest).

7.

Основные понятия
Гипервизор – специальное программное обеспечение, позволяющее
создавать виртуальные машины и управлять ими.
Виртуальная машина (далее VM) – изолированная система, которая
представляет собой логический сервер внутри физической машины со
своим набором вычислительных мощностей и операционной системой.
Хост виртуализации (родительский сервер) — физический сервер с
запущенным на нем гипервизором.
Гипервизор может управлять виртуальными машинами не
обязательно в рамках одного физического сервера, а в целом кластере
физических серверов, в таком случае один родительский сервер, на
котором непосредственно находится виртуальная машина, может
называться узел кластера.
[ссылка на источник]

8.

Типы виртуализации
• Аппаратная
• Программная (на уровне ОС)
• Контейнерная (контейнеризация)
• Хостинговая (облачная)

9.

Почему виртуализация и
контейнеризация важны для ITинфраструктуры
Используя
виртуализацию,
вы
можете
взаимодействовать с любым аппаратным ресурсом с
большей
гибкостью.
Физические
серверы
потребляют электроэнергию, занимают место для
хранения и нуждаются в обслуживании. Доступ к
ним часто ограничивается физической близостью и
дизайном сети. Виртуализация позволяет устранить
все эти ограничения путем абстрагирования
функциональных
возможностей
физического
оборудования в программное обеспечение. Вы
можете контролировать, обслуживать и использовать
свою аппаратную инфраструктуру в качестве вебприложения.
[ссылка на источник]

10.

Пример виртуализации
Рассмотрим компанию, которой нужны серверы для выполнения трех функций:
• безопасное хранение корпоративной электронной почты;
• запуск клиентских приложений;
• запуск внутренних бизнес-приложений.
У каждой из этих функций разные требования к конфигурации.
Для приложений электронной почты требуется большой объем хранилища и
операционная система Windows.
Для клиентских приложений требуется операционная система Linux и высокая
вычислительная мощность для обработки больших объемов трафика веб-сайта.
Для внутренних бизнес-приложений требуется iOS и большой объем внутренней
памяти (ОЗУ).
Чтобы соответствовать этим требованиям, компания устанавливает три разных
выделенных физических сервера для каждого приложения. Компания должна
делать большие первоначальные инвестиции и выполнять текущее обслуживание и
модернизацию одной машины за раз. Кроме того, компания не может оптимизировать
свои вычислительные мощности. Она оплачивает 100 % стоимости обслуживания
серверов, но использует лишь часть их мощностей хранения и обработки.
[ссылка на источник]

11.

Преимущества использования ВРТ
С помощью виртуализации компания создает три цифровых сервера или
виртуальные машины на одном физическом сервере. Она определяет требования к
операционной системе для виртуальных машин и может использовать их как
физические серверы. Однако теперь у компании меньше аппаратного обеспечения и
меньше связанных с этим расходов.
Каковы преимущества виртуализации?
Эффективное использование ресурсов
Виртуализация повышает эффективность аппаратных ресурсов, используемых
серверных. Благодаря меньшему количеству базовых физических серверов можно
освободить место в помещении и сэкономить деньги на электричестве, генераторах и
охлаждающих устройствах.
Автоматизированное управление ИТ
Теперь, когда физические компьютеры стали виртуальными, появилась возможность
управлять ими с помощью программных инструментов. Администраторы создают
программы развертывания и настройки для определения шаблонов виртуальных
машин. Вы можете постоянно и последовательно дублировать свою инфраструктуру
и избегать настроек вручную, подверженных ошибкам (например, Vagrant) .
Быстрое аварийное восстановление
Когда такие события, как стихийные бедствия или кибератаки, отрицательно
сказываются на бизнес-операциях, восстановление доступа к ИТ-инфраструктуре, а
также замена или ремонт физических серверов могут занять часы или даже дни. А в
виртуализированной среде этот процесс занимает всего несколько минут.
Оперативное реагирование значительно повышает отказоустойчивость и
способствует непрерывности бизнес-процессов, чтобы операции могли продолжаться
по расписанию.
[ссылка на источник]

12.

Преимущества использования ВРТ
- Эффективное использование аппаратных ресурсов
- Быстрое развертывание и масштабирование
- Повышенная безопасность
- Упрощение управления приложениями
[ссылка на источник]

13.

Чем виртуализация серверов отличается
от контейнеризации?
Контейнеризация – это способ развертывания кода приложения для
запуска в любой физической или виртуальной среде без изменений.
Разработчики связывают код приложения с соответствующими
библиотеками, файлами конфигурации и другими зависимостями, которые
необходимы коду для запуска. Этот единый пакет программного
обеспечения, который называется контейнером, может работать
независимо на любой платформе. Контейнеризация – это тип
виртуализации приложений.
Виртуализация серверов напоминает строительство дороги для соединения
двух мест. Необходимо воссоздать всю виртуальную среду, а затем
запустить в ней свое приложение. Для сравнения, контейнеризация
напоминает создание вертолета, который может прилететь в любое из этих
мест. Ваше приложение находится внутри контейнера и может работать в
физической или виртуальной среде любого типа.
Виртуальная машина (ВМ) — абстракция на уровне физического
оборудования, превращает один сервер в несколько.
Контейнер — абстракция на уровне приложения, объединяет зависимости
и код.
[ссылка на источник]

14.

Типы виртуализации
Аппаратная виртуализация работает благодаря
поддержке со стороны железа: процессора.
В отличие от программной виртуализации, гостевые
ОС управляются гипервизором напрямую, без
участия хостовой ОС.
+ Работает без посредников.
- Привязана к платформе: нет технологии — нет
виртуализации.

15.

Типы виртуализации – Аппаратная ВРТ
[ссылка на источник]

16.

Типы виртуализации – Аппаратная ВРТ
История создания аппаратной виртуализации
Первая аппаратная виртуализация Intel была
воплощена в 386-х процессорах и носила название
V86 mode. Этот режим работы 8086-го процессора
позволял запускать параллельно несколько DOSприложений.
Следующее это было появление многозадачности.
Она является первым уровнем абстракции
приложений. Каждое приложение распределяет
ресурсы физического процессора в режиме
разделения исполнения кода по времени.

17.

Типы виртуализации – Аппаратная ВРТ
Следующим шагом аппаратной виртуализации было
появлении технологии HyperThreading, который
представляет
собой
аппаратную
технологию
виртуализации: при ее использовании происходит
симуляция двух виртуальных процессоров в рамках
одного физического с помощью техники Symmetric
Multi Processing (SMP).

18.

Типы виртуализации – Аппаратная ВРТ
[ссылка на источник]

19.

Типы виртуализации – Аппаратная ВРТ
[ссылка на источник]

20.

Типы виртуализации – Аппаратная ВРТ
Технологии
аппаратной
производителям:
виртуализации
по
Intel — VT-x VT-d VMDQ
AMD — AMD-V
ARM Limited — EL2
Данные технологии обладают своими специфическими
инструкциями и режимами работы процессоров для
управлениями виртуализацией. В свою очередь для
работы программной виртуализации процессор должен
обладать специальными инструкциями.
[ссылка на источник]

21.

Программная виртуализация
Программная виртуализация (на уровне ОС) —в
которой деление аппаратных ресурсов физического
сервера осуществляется ОС. Из-за этого все
виртуальные
машины
используют
общее
программное ядро. Из этого следует главное
требование для программной виртуализации — ОС
виртуальных
машин
должна
поддерживать
программное
ядро
операционной
системы
физического сервера.

22.

Программная виртуализация
[ссылка на источник]

23.

Преимущества и недостатки
гипервизоров
[ссылка на источник]

24.

[ссылка на источник]

25.

Популярные гипервизоры
Virtuozzo OpenVZ
Тип виртуализации — программная.
Использование — базовые VM для тестов, недорогой хостинг.
Распространение — бесплатная базовая версия (OpenVZ), платные с расширенным
набором функций.
Плюсом использования гипервизора выступает быстрый запуск и простота развертки
необходимого количества виртуальных машин — особенность всех решений
программного типа. К преимуществам также относится — быстрый доступ с хостсервера и понятное управление. В свое время, эти достоинства вкупе с доступностью
решения помогли гипервизору завоевать огромную популярность у пользователей.
При этом гипервизор имеет и ряд серьезных недостатков - работа виртуальных
машин часто нестабильна из-за влияния «соседей» по родительскому серверу, а
автоматическое распределение ресурсов бывает неравномерным.
Кроме того, платное решение от Virtuozzo — дорогое, а бесплатный OpenVZ не
поддерживает современные ядра Linux, что сильно ограничивает выбор ОС для
установки на виртуальные машины. Поэтому сегодня гипервизор уже не так
популярен, как раньше.
[ссылка на источник]

26.

Популярные гипервизоры
Xen (XenServer, Citrix Hypervisor)
Тип виртуализации — аппаратная, гибридная.
Использование — решение кроссплатформенных задач,
хостинг различных конфигураций.
Распространение — платные и бесплатные редакции.
Первый публичный релиз такого гипервизора был
выпущен в 2003 году. В 2007 году проект был поглощен
Citrix.
Продукт
является
кроссплатформенным
гипервизором с поддержкой аппаратной виртуализации и
паравиртуализации (из-за этого его часто относят к
гибридным гипервизорам). Объем кода минимален, так
как большая часть модулей идет отдельно от гипервизора.
Исходный код — открытый, это дает специалистам
широкие возможности для модификаций.
[ссылка на источник]

27.

Популярные гипервизоры
Oracle VM VirtualBox
Тип виртуализации — программная и аппаратная
Использование — среда для тестирования разработчиками разного
уровня, настольное решение по развертке виртуальных машин
Распространение — бесплатно
Кроссплатформенный гипервизор для операционных систем Linux,
macOS, FreeBSD и др. Базовая версия с открытым исходным кодом
распространяется по лицензии GNU GPL, чем объясняется высокая
популярность
гипервизора.
Отличительная
особенность
гипервизора — возможность работы с 64-битными гостевыми ОС,
даже если ОС хоста 32-битная. Является одним из самых
популярных решений для тестов различных ОС и приложений под
них в рамках локального компьютера разработчика или
тестировщика, но одним из самых неудобных решений в плане
автоматизации создания виртуальных машин и использования их
для хостинга.
[ссылка на источник]

28.

Популярные гипервизоры
Microsoft Hyper-V
Тип виртуализации — аппаратная.
Использование — виртуальные машины с Windows, использование
иных продуктов Microsoft.
Распространение — платно.
Стандартно в ОС Windows Server есть роль для установки Hyper-V,
которая позволяет создавать виртуальные машины (две в редакции
Windows Standard и неограниченно в редакции Datacenter). Здесь
стоит учитывать лицензионную политику Microsoft — стоимость
лицензий отличается для разных редакций и зависит от количества
физических ядер. Гипервизор Hyper-V Server создавался
специально для того, чтобы пользователи могли организовать
виртуализацию без оплаты лицензии на ОС. Однако это не
относится к ОС Windows на виртуальных машинах — если
разворачиваете ее на VDS, то лицензирование обязательно.
[ссылка на источник]

29.

Популярные гипервизоры
VMware ESXi
Тип виртуализации — аппаратная.
Использование — тестирование функций, решение для локальной
развертки виртуальных машин, хостинг определенных конфигураций.
Распространение — платно, присутствует бесплатная версия.
В основе гипервизора находится упрощенное Linux-ядро VMkernel, с
необходимыми для виртуализации технологиями и приложениями. Входит
в продукт VMware vSphere. Лицензия приобретается на каждое физическое
ядро процессора сервера. Объем ОЗУ и виртуальных машин не
учитываются при расчете стоимости лицензии.
VMware также предлагает и бесплатные решения для виртуализации,
однако,
они
подходят
только
для
любительского
или
полупрофессионального
использования,
поскольку
имеют
ряд
существенных ограничений по функционалу (ограничения на операции,
ограничения на ресурсы виртуальных машины, недоступные функции и
т.д.).
[ссылка на источник]

30.

Популярные гипервизоры
QEMU KVM
Тип виртуализации — аппаратная.
Использование — быстрый и упрощенный переход к
виртуализации на Linux-системах, хостинг различных
конфигураций.
Распространение — бесплатно.
Open-source гипервизор: предназначен для серверов на базе
Linux/x86, поддерживает аппаратные расширения (Intel-VT и
AMD-V). Первоначально работал только с архитектурой x86, но
актуальные версии KVM поддерживают различные CPU и
гостевые ОС, в т.ч. Windows, Linux, BSD и пр. Богатая
функциональность KVM сделала его популярным и широко
распространенным.
В настоящее время гипервизор активно используется во многих
сетевых проектах.
[ссылка на источник]

31.

Виртуализация KVM
KVM (Kernel-based Virtual Machine) — технология аппаратной
виртуализации, позволяющая создать на хост-машине полный
виртуальный аналог физического сервера. KVM позволяет создать
полностью изолированный от «соседей» виртуальный сервер с
собственным ядром ОС, который пользователь может настраивать и
модифицировать под собственные нужды без ограничений. Каждому
такому серверу выделяется своя область в оперативной памяти и
пространство на жестком диске, что повышает общую надежность работы
такого сервера. Разработка REDHAT.
Отличительная особенность — open-source гипервизор: предназначен для
серверов на базе Linux/x86, поддерживает аппаратные расширения (IntelVT и AMD-V).
Преимущества KVM
Высокий уровень приватности.
Независимость ресурсов друг от друга.
Возможность установки собственной ОС.
Безопасность KVM можно усилить с помощью антивирусов.
Эмуляция сетевых карт, поддержка всех протоколов и firewall.
[ссылка на источник]

32.

Виртуализация KVM
Начиная с версии ядра 2.6.20, KVM является
основной составляющей Linux.
То есть, если у вас установлен обычный Linux, то у
вас уже присутствует KVM.
Необходимым условием для использования KVM
является
поддержка
одной
из
инструкций
виртуализации — Intel VT-x, AMD-V или ARP с
поддержкой EL2

33.

Виртуализация KVM
KVM позволяет виртуальным машинам использовать
немодифицированные образы дисков QEMU,
VMware и других, содержащие ОС.
Каждая виртуальная машина имеет свое собственное
виртуальное аппаратное обеспечение:
● сетевые карты,
● диск,
● видеокарта,
● и другие устройства.

34.

Виртуализация KVM
[ссылка на источник]

35.

Виртуализация libvirt
libvirt — свободная реализация API, демон и набор
инструментов для управления виртуализацией.
Позволяет управлять гипервизорами Xen, KVM,
VirtualBox, OpenVZ, LXC, User-mode Linux, VMware
ESX/GSX/Workstation/Player,
QEMU,
Hyper-V,
PowerVM[en], Parallels Workstation, bhyve[en] и
рядом других средств виртуализации, предоставляет
возможность контролировать виртуальные машины
по сети, расположенные на других компьютерах. Эти
API широко используются в слоях гипервизоров при
разработке облачных решений.
[ссылка на источник]

36.

Виртуализация libvirt
[ссылка на источник]

37.

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

38.

Итоги
В данной обширной теме мы рассмотрели особенности
функционирования систем виртуализации и контейнеризации.
● Рассмотрели основные понятия и определения;
● Разобрали различные системы виртуализации;
● Какие виды программного обеспечения существуют в данной
сфере;
● Узнали что такое контейнеризация и чем она отличается от
виртуализации в целом;
● Рассмотрели какие существуют решения систем контейнеризации и
как пример – решение на базе Docker.
English     Русский Rules