Облачные услуги и виртуализация,

Skip to content

Это машинный перевод текста, который может содержать ошибки!

Облачные услуги и виртуализация

Облачные услуги и виртуализация тесно связаны между собой: обе подразумевают использование ресурсов данных без необходимости владеть всем оборудованием самостоятельно. Однако существуют важные различия.

Что такое виртуализация?

Виртуализация означает запуск нескольких «виртуальных» машин на одном и том же физическом компьютере. Вместо того чтобы иметь отдельный физический сервер для веб-сервера, один для базы данных и один для файлового сервера, вы можете запустить все три как виртуальные машины на одной машине.

Программное обеспечение, которое делает это возможным, называется гипервизором:

Тип Описание Пример
Тип 1 (bare-metal) Работает напрямую с оборудованием, без обычной ОС под ним Proxmox, VMware ESXi
Тип 2 (хостовый) Запускается поверх обычной операционной системы VirtualBox, VMware Workstation

Тип 1 против типа 2

  • Тип 1 — это то, что мы используем в производстве и на серверах. Proxmox работает напрямую на сервере.
  • Тип 2 — это то, что вы используете на своем компьютере для тестирования. VirtualBox запускается поверх Windows или macOS.

Что такое виртуальная машина (ВМ)?

ВМ — это полноценная операционная система, работающая внутри другой системы. Она имеет собственную (виртуальную) память, ЦП и диск, но разделяет физическое аппаратное обеспечение с другими ВМ.

Преимущества использования ВМ:

  • Изоляция — Каждая ВМ независима. Если одна ВМ аварийно завершает работу, другие не пострадают.
  • Гибкость — Вы можете запускать различные операционные системы на одной машине (например, Ubuntu и Windows Server).
  • Снимки/резервное копирование — Вы можете сделать снимок состояния ВМ и откатиться к нему, если что-то пойдет не так.
  • Эффективное использование ресурсов — Физическая машина с большим объемом ОЗУ и мощным ЦП может запускать множество ВМ.

Что такое контейнеры?

Контейнеры легче виртуальных машин. Они разделяют ядро операционной системы с хост-машиной, но работают в изолированных средах.

Свойство Виртуальная машина Контейнер
Размер Большой (всё ОС) Маленький (только приложение и зависимости)
Время запуска Минуты Секунды
Изоляция Сильная (собственная ОС) Хорошая, но делит ядро ОС
Область применения Когда нужна полностью отдельная ОС Одноприкладные приложения и микросервисы
Пример Промокс ВМ, VirtualBox Докер, Подман

Когда мы что используем?

  • Используйте ВМ, когда вам нужна полноценная операционная система, например, сервер Windows или сервер Linux с полным контролем.
  • Используйте контейнер, если вам нужно только запустить приложение, например, веб-сервер, базу данных или Grafana.

На практике мы часто используем оба варианта: ВМ в качестве хостов для контейнеров Docker.

Облачные сервисы

Облачные сервисы означают, что кто-то другой владеет и эксплуатирует оборудование, а вы арендуете то, что вам нужно, через интернет. Вместо покупки и обслуживания физического сервера вы платите за использование виртуальной машины в облаке.

Модели обслуживания

Существуют три основные модели облачных услуг:

Модель Полное название Что вы получаете Чем управляете сами Пример
IaaS Инфраструктура как сервис Виртуальные машины, сети и хранилища ОС, приложения, настройка Azure VM, AWS EC2
PaaS Платформа как сервис Готовая платформа для запуска вашего кода Только приложение Azure App Service, Heroku
SaaS Программное обеспечение как сервис Готовые приложения, доступные через браузер Ничего технического Microsoft 365, Google Docs

Простой способ запомнить это

  • IaaS = Вы арендуете пустую машину. Вы устанавливаете и настраиваете всё сами.
  • PaaS = Вы арендуете готовое окружение. Вам нужно только добавить свой код.
  • SaaS = Вы арендуете готовое приложение. Вам нужно просто войти в систему и использовать его.

Модели предоставления услуг

Облачные услуги могут предоставляться различными способами:

Модель Описание Пример
Публичное облако Общая инфраструктура, доступная всем Azure, AWS, Google Cloud
Частное облако Выделенная инфраструктура для одного предприятия Proxmox в серверной комнате школы
Гибридное облако Комбинация публичного и частного Некоторые службы локально, некоторые в Azure

VPS: Стандартное облачное решение

VPS (виртуальный выделенный сервер) является одним из самых распространённых решений в категории IaaS. Вы арендуете виртуальную машину у провайдера облачных услуг и получаете полный контроль над ней, точно так же, как если бы у вас был собственный физический сервер.

Типичные области применения:

  • Запуск веб-сервера
  • Настройка службы VPN
  • Размещение приложения (например, Flask + база данных)
  • Тестирование без риска для собственного оборудования

Популярные поставщики VPS:

Поставщик Преимущества
Linode (Akamai) Простота использования, хорошее соотношение цены и качества, качественные руководства
DigitalOcean Удобство интерфейса, хорошая документация
Hetzner Дешевый вариант, европейский (соответствие GDPR)
Azure Интеграция с экосистемой Microsoft

Расходы в облаке

Облачные услуги стоят денег, и они могут быстро стать дорогими, если не следить за расходами. Виртуальная машина, работающая 24/7, стоит больше, чем та, которую выключают после использования. Всегда проверяйте цены и настраивайте уведомления о затратах.

Локально или в облаке

Многие компании используют комбинацию локальных серверов и облачных услуг. Вот некоторые факторы, которые следует учитывать:

Фактор Локальный (на месте) Облако
Контроль Полный контроль над оборудованием и данными Зависит от поставщика
Стоимость Большие начальные инвестиции Ежемесячные текущие расходы
Масштабируемость Ограничена физическим оборудованием Можно масштабировать вверх и вниз по мере необходимости
Поддержка Вы должны ремонтировать всё сами Поставщик обслуживает оборудование
Конфиденциальность данных Вы знаете, где находятся данные Данные могут храниться в других странах

Easy Задание 1 — Запуск ВМ на собственном компьютере

Скачайте VirtualBox (бесплатно) и попробуйте установить дистрибутив Linux, например Ubuntu Desktop или Linux Mint.

  • Сколько ОЗУ и ЦП вы решаете выделить виртуальной машине?
  • Замечаете ли вы, что ваш компьютер становится медленнее во время работы виртуальной машины?
  • Что произойдет, если вы попытаетесь выделить виртуальной машине больше ОЗУ, чем есть в вашем физическом устройстве?

Это даст хорошее представление о том, как виртуальные машины разделяют ресурсы физического устройства.

Easy Задача 2 — Запуск контейнера с помощью Docker

Если у вас установлен Docker (или есть доступ к ВМ с Docker), попробуйте выполнить команду:

docker run -d -p 8080:80 nginx

Затем откройте в браузере адрес http://localhost:8080. Теперь у вас запущен веб-сервер внутри контейнера! Сравните время, которое на это потребовалось, с временем настройки полноценной виртуальной машины с Nginx.

Легко Задача 3 — Какие облачные сервисы вы уже используете?

Подумайте о том, какие услуги вы используете в повседневной жизни:

  • Microsoft 365 (Word, Teams, OneDrive) является SaaS
  • GitHub Pages для хостинга веб-сайта является PaaS
  • Если вы создаете ВМ в Proxmox в школе, это фактически IaaS (только локально)

Удастся ли вам классифицировать другие службы, которые вы используете?

Easy Задание 4 — Где хранятся ваши данные?

Перейдите на страницу Microsoft Privacy Dashboard и посмотрите, что Microsoft сохраняет о вас. Также проверьте условия использования облачного сервиса, которым вы пользуетесь:

  • В какой части мира хранятся данные?
  • Что происходит с данными, если вы удаляете свой аккаунт?
  • Принадлежат ли вам ваши данные или их собственником является провайдер?

Эти вопросы особенно важны в контексте GDPR (Общего регламента по защите данных) и конфиденциальности персональных данных.

Резюме

  • Виртуализация позволяет запускать несколько сервисов на одном и том же оборудовании, будь то в виде виртуальных машин или контейнеров
  • Облачные услуги означают, что оборудование принадлежит кому-то другому, а вы арендуете только то, что вам нужно
  • IaaS, PaaS и SaaS описывают степень ответственности, которую несете вы сами
  • На практике многие используют решение с гибридной моделью, сочетающую локальные и облачные сервисы
  • Выбор между локальным размещением и облаком зависит от контроля затрат, масштабируемости и конфиденциальности данных