Это машинный перевод текста, который может содержать ошибки!
Виртуализация позволяет нескольким машинам или изолированным средам разделять физическое оборудование. Облачные услуги предоставляют ресурсы в виде услуг через сеть, обычно с возможностью самообслуживания и масштабирования. Вы можете виртуализировать собственное оборудование, однако среда виртуализации не является автоматически облаком.
Здесь вам нужно объяснить, что виртуальная машина (VM) и контейнер имеют общего с хостом, а также различить IaaS, PaaS и SaaS на собственных примерах. Вам не обязательно покупать облачную услугу. Используйте доступную вам VM или приведенные в тексте примеры.
Место в учебном материале: Этот уровень объясняет виртуализацию в архитектуре эксплуатации. Раздел «[[Операционная система Уровень 3 - Ядро операционной системы|Ядро операционной системы]]» описывает то, от чего гостевая операционная система имеет собственный экземпляр. [[Архитектура эксплуатации Уровень 0 - Операционная система, ВМ и контейнеры|Обзорная карта]] показывает отношения части к целому, технические связи и пути к практическим задачам.
Что такое виртуализация?
Виртуализация означает запуск нескольких «виртуальных» машин на одном и том же физическом компьютере. Вместо того чтобы иметь отдельный физический сервер для веб-сервера, один для базы данных и один для файлового сервера, вы можете запустить все три как виртуальные машины на одной машине.
Программное обеспечение, которое делает это возможным, называется гипервизором:
| Тип | Описание | Пример |
|---|---|---|
| Тип 1 (bare-metal) | Платформа виртуализации устанавливается непосредственно на сервере | Proxmox VE (KVM), VMware ESXi |
| Тип 2 (hosted) | Работает поверх обычной операционной системы | VirtualBox, VMware Workstation |
Тип 1 против типа 2
- Тип 1 — это то, что мы используем в производстве и на серверах. Proxmox работает напрямую на сервере.
- Тип 2 — это то, что вы используете на своем компьютере для тестирования. VirtualBox запускается поверх Windows или macOS.
Что такое виртуальная машина (ВМ)?
ВМ — это виртуальная машина с виртуальным ЦП, памятью и диском. Она запускает гостевую операционную систему со собственным ядром, пока гипервизор предоставляет доступ к физическому оборудованию. Proxmox VE использует Linux и KVM для запуска ВМ; фраза «напрямую на сервере» не означает отсутствие ядра операционной системы в платформе.
Преимущества ВМ:
- Изоляция — Сбой в одной гостевой операционной системе обычно не приводит к остановке других ВМ. Тем не менее они разделяют хоста, хранение данных и другие ресурсы и могут пострадать от общих неисправностей или дефицита ресурсов.
- Гибкость — Вы можете запускать различные операционные системы на одном устройстве (например, Ubuntu и Windows Server).
- Снимок/резервное копирование — Вы можете сделать снимок состояния ВМ и вернуться к нему, если что-то пойдет не так.
- Эффективное использование ресурсов — Физическое устройство с большим объемом ОЗУ и мощным ЦП может запускать множество ВМ.
Что такое контейнеры?
Контейнер на базе Linux запускает приложение в изолированной среде и разделяет ядро системы Linux, на которой он работает. Виртуальная машина имеет собственную гостевую операционную систему со своим ядром.
Conainers и виртальные машины содержит иллюстрированное сравнение и также показывает, как несколько контейнеров могут работать внутри одной ВМ. Используйте его для объяснения того, что разделяет ядро, и что происходит при выключении ВМ. Затем Docker Level 0 представляет конкретный инструмент для контейнезации приложений.
На практике мы часто используем оба подхода: ВМ в качестве хостов для контейнеров Docker.
Облачные услуги
В публичном облаке провайдер владеет и управляет инфраструктурой, а вы заказываете ресурсы через сеть. Частное облако предназначено для одной организации и может управляться самой организацией или провайдером. Самообслуживание, общие пулы ресурсов, масштабирование и учет использования являются ключевыми признаками облака.
Модели обслуживания
Существуют три основные модели облачных услуг:
| Модель | Полное название | Что вы получаете | Чем управляете сами | Пример |
|---|---|---|---|---|
| IaaS | Инфраструктура как услуга (Infrastructure as a Service) | Виртуальные машины, сети и хранилище | ОС, приложения, конфигурация | Azure VM, AWS EC2 |
| PaaS | Платформа как услуга (Platform as a Service) | Готовая платформа для запуска вашего кода | Только приложение | Azure App Service, Heroku |
| SaaS | Программное обеспечение как услуга (Software as a Service) | Готовые приложения, используемые через браузер или мобильное приложение | Пользователи, доступ, данные и доступные настройки | Microsoft 365, Google Docs |
Простой способ запомнить это
- IaaS = Вы арендуете пустую машину. Вы устанавливаете и настраиваете всё сами.
- PaaS = Вы арендуете готовое окружение. Вам нужно только добавить свой код.
- SaaS = Вы арендуете готовое приложение. Вам нужно просто войти в систему и использовать его.
Модели доставки
Облачные услуги могут предоставляться различными способами:
| Модель | Описание | Пример |
|---|---|---|
| Публичное облако | Общая инфраструктура, доступная для всех | Azure, AWS, Google Cloud |
| Приватное облако | Облачная среда для одной организации | Внутренняя среда с самообслуживанием, общим использованием ресурсов и масштабированием |
| Гибридное облако | Комбинация публичного и приватного | Некоторые службы локально, некоторые в Azure |
ВПС: типичное облачное решение
Виртуальный выделенный сервер (VPS — Virtual Private Server) является одним из наиболее распространённых решений в модели IaaS. Вы арендуете виртуальную машину у провайдера облачных услуг и имеете полный контроль над ней, точно так же, как если бы у вас был собственный физический сервер.
Типовые сценарии использования:
- Запуск веб-сервера
- Настройка службы VPN
- Размещение приложения (например, Flask + база данных)
- Тестирование без риска для собственного оборудования
Примеры поставщиков, предлагающих виртуальные сервера:
- Akamai (Linode)
- DigitalOcean
- Hetzner
- Microsoft Azure
Расходы в облаке
Проверьте цены и настройте уведомления о расходах перед заказом ресурсов. Остановленная виртуальная машина может по-прежнему генерировать расходы на хранилище и зарезервированные адреса. Узнайте, за что именно взимает плату поставщик, и удалите ресурсы, которые вы больше не планируете использовать.
Локально или в облаке
Многие компании используют комбинацию локальных серверов и облачных услуг. Вот некоторые факторы, которые следует учитывать:
| Фактор | Локальный (на месте) | Облако |
|---|---|---|
| Контроль | Полный контроль над оборудованием и данными | Зависит от поставщика |
| Стоимость | Большие начальные инвестиции | Ежемесячные текущие расходы |
| Масштабируемость | Ограничена физическим оборудованием | Можно масштабировать вверх и вниз по мере необходимости |
| Поддержка | Вы должны ремонтировать всё сами | Поставщик обслуживает оборудование |
| Конфиденциальность данных | Вы знаете, где находятся данные | Данные могут храниться в других странах |
Задание 1 — Исследование виртуальной машины (VM)
Используйте виртуальную машину (VM), к которой у вас уже есть доступ. Если вы используете Proxmox, в разделе [[Установка сервера Уровень 3 — Навигация в Proxmox VE|Навигация в Proxmox VE]] описано, как просмотреть информацию о ЦП, ОЗУ и диске. Если вам нужно создать новую VM, следуйте инструкции по установке: [[Установка сервера Уровень 2 — Виртуальная машина в Proxmox|инструкция по установке]]. Для выполнения этого задания не требуется устанавливать дополнительный гипервизор на вашем собственном компьютере.
- Сколько ресурсов ЦП, ОЗУ и хранилища выделено данной VM?
- Что разделяется с другими VM-машинами на физическом хосте?
- Что может произойти, если несколько VM-машин в совокупности потребляют больше памяти, чем доступно на хосте? Объясните это без изменения настроек ресурсов.
Если у вас нет доступной VM, используйте рекомендации по ресурсам из инструкции по установке в качестве гипотетического примера. Отметьте ответ как объяснение данного примера, а не как описание выполненной установки.
Задание 2 — Запуск контейнера с помощью Docker
Используйте контейнер Nginx из раздела Запуск и исследование контейнера, если вы уже выполнили это упражнение. Если вы его удалили, создайте заново в соответствии с инструкциями по работе с контейнером. Если у вас нет Docker, начните с установки. Объясните, какое ядро использует контейнер, и сравните процесс запуска с виртуальной машиной (VM). Если у вас нет доступа к Docker, используйте схемы из раздела [[Containerisering Level 1 - Containere og virtueller maskiner|Контейнеризация: уровни 1–3 – Контейнеры и виртуальные машины]], чтобы объяснить различия без притворства того, что вы провели практический тест.
Задание 3 — Какие облачные сервисы вы уже используете?
Подумайте о том, какие услуги вы используете в повседневной жизни:
- Microsoft 365 (Word, Teams, OneDrive) — это SaaS
- GitHub Pages для хостинга веб-сайта — это PaaS
- Виртуальная машина в Proxmox демонстрирует виртуализацию. Она не является автоматически IaaS; все зависит от того, как ресурсы предоставляются и управляются как услуга.
Сможете ли вы классифицировать другие используемые вами службы?
Задание 4 — Где хранятся ваши данные?
Перейдите на страницу Microsoft Privacy Dashboard и посмотрите, что Microsoft сохраняет о вас. Также проверьте условия использования облачного сервиса, которым вы пользуетесь:
- В какой части мира хранятся данные?
- Что происходит с данными, если вы удаляете свой аккаунт?
- Принадлежат ли вам ваши данные или их собственником является провайдер?
Эти вопросы особенно важны в контексте GDPR (Общего регламента по защите данных) и конфиденциальности персональных данных.
Проверьте объяснение
Устно или письменно объясните, почему виртуальная машина в Proxmex не является автоматически облачным сервисом. Затем выберите по одному примеру для моделей IaaS, PaaS и SaaS и опишите, что управляет клиент, а что — поставщик услуг в каждом случае. Если вы просто перечисляете названия, используйте таблицу моделей обслуживания для пояснения распределения ответственности.
Резюме
- Виртуализация позволяет запускать несколько сервисов на одном оборудовании в виде виртуальных машин или контейнеров
- Облачные услуги предоставляют ресурсы по сети с функциями самообслуживания и масштабирования
- IaaS, PaaS и SaaS описывают степень вашей личной ответственности
- На практике многие используют гибридное решение как с локальными, так и с облачными услугами
- Выбор между локальным размещением и облаком зависит от контроля, затрат, масштабируемости и конфиденциальности данных
Источники: NIST: определение облачных услуг и Proxmox VE: KVM и виртуальные машины.