Облако и виртуализация: что такое AWS и почему «облако» - это просто чужой компьютер
Гипервизор, виртуальные машины, контейнеры и Docker - как один физический сервер превращается в сотни изолированных компьютеров
«Облако» звучит как нечто воздушное и почти неосязаемое. На самом деле за любым облачным сервисом стоит вполне конкретное железо - серверы в дата-центрах, подключённые к сети. Разница с вашим домашним компьютером только в масштабе, организации и способе, которым это железо делится между многими пользователями. Этот способ называется виртуализацией.🖥️ Проблема, которую решает виртуализация
Представьте компанию, которой нужно три сервера: один для сайта, один для базы данных, один для почты. Каждый из них нагружен лишь на 10-20% - большую часть времени мощности простаивают. Покупать три отдельные машины расточительно. Можно ли запустить все три задачи на одном мощном сервере?Можно - но напрямую это опасно. Если сайт взломают и получат доступ к серверу - окажутся скомпрометированы и база данных, и почта. Нужна изоляция: каждая задача должна думать, что у неё отдельный компьютер, и не иметь доступа к соседним. Именно это и обеспечивает виртуализация.
🔲 Виртуальная машина и гипервизор
Виртуальная машина (ВМ) - это программная эмуляция полноценного компьютера. У неё есть виртуальный процессор, виртуальная память, виртуальный диск, виртуальная сетевая карта. Операционная система внутри ВМ не знает, что работает на эмуляции: она видит «железо», взаимодействует с ним через обычные драйверы и ведёт себя ровно так же, как на реальном компьютере.
Управляет всем этим гипервизор - специальная программа, которая сидит между реальным железом и виртуальными машинами. Он делит физические ресурсы - процессорные ядра, оперативную память, дисковое пространство - между несколькими ВМ и следит, чтобы они не мешали друг другу. Популярные гипервизоры: VMware ESXi, Microsoft Hyper-V, KVM (встроен в Linux).
На одном физическом сервере с 64 ядрами и 512 ГБ памяти может одновременно работать несколько десятков виртуальных машин - каждая со своей операционной системой, своими программами и полной изоляцией от соседей.
☁️ Что такое облако на самом деле
AWS, Google Cloud, Microsoft Azure - это огромные парки физических серверов, расставленных по дата-центрам по всему миру. Когда вы арендуете «виртуальный сервер» в AWS - вы получаете виртуальную машину, которая работает на одном из этих физических серверов. Рядом с ней на том же железе могут работать виртуальные машины других клиентов, но они полностью изолированы.
Главное преимущество - эластичность. Нужно вам в пятницу вечером втрое больше мощности, потому что пришли посетители? Вы запускаете ещё три виртуальные машины и платите только за те часы, когда они работали. В понедельник утром их выключаете. Покупать для этого физические серверы не нужно.
Облачный провайдер, в свою очередь, продаёт одни и те же физические ресурсы многим клиентам - зная, что пиковая нагрузка у всех в разное время. Это то же «oversubscription», что и у интернет-провайдеров: полосу 1 Гбит/с продают ста клиентам, зная, что одновременно они всей сотней не качают.
📦 Контейнеры: виртуализация без лишнего
Виртуальная машина - мощный, но тяжёлый инструмент. Каждая ВМ несёт с собой полную копию операционной системы: несколько гигабайт на диске, сотни мегабайт памяти, минуты на загрузку. Если нужно запустить сто экземпляров одного веб-приложения - это сто полных ОС.
Контейнеры решают это иначе. Они не эмулируют железо и не запускают отдельную ОС. Вместо этого они используют ядро основной операционной системы, изолируя только пространство имён процессов, файловую систему и сетевые интерфейсы. Несколько контейнеров делят одно ядро Linux, но при этом не видят процессов и файлов друг друга.Результат: контейнер запускается за секунды, занимает мегабайты памяти вместо гигабайт и практически не добавляет накладных расходов по сравнению с запуском программы напрямую. На одном сервере, где помещается десять виртуальных машин, легко поместится тысяча контейнеров.
🔄 ВМ против контейнеров: когда что
| Параметр | Виртуальная машина | Контейнер |
|---|---|---|
| Изоляция | Полная - отдельное ядро ОС | Частичная - общее ядро |
| Потребление памяти | Гигабайты | Мегабайты |
| Время запуска | Минуты | Секунды |
| Накладные расходы | Заметные | Минимальные |
| Разные ОС на одном хосте | Да - Windows и Linux рядом | Нет - только Linux на Linux |
| Типичное применение | Облачные серверы, изоляция систем | Микросервисы, деплой приложений |
🔗 Виртуализация и всё, что мы знаем
Виртуализация опирается на все механизмы, которые мы разбирали в разделе про операционные системы - и добавляет ещё один уровень. Виртуальная память из статьи 2.4 теперь работает дважды: внутри каждой ВМ своя виртуальная память, а гипервизор сам управляет физической памятью между машинами. Планировщик задач из статьи 2.3 тоже работает на двух уровнях: планировщик внутри ВМ распределяет время между своими процессами, а гипервизор распределяет физические ядра между ВМ.
«Облако» - не туман и не магия. Это мощный сервер где-то в дата-центре, поверх которого гипервизор запускает десятки виртуальных машин. Каждая из них - полноценный компьютер с точки зрения ПО, работающего внутри. И каждый раз, когда сайт, которым вы пользуетесь, «масштабируется под нагрузку» - это просто запускаются новые виртуальные машины или контейнеры на том же железе.
© 2008-2026 ANY.BY - ремонт компьютеров и ноутбуков в Барановичах. Использование материалов сайта возможно с письменного разрешения.
Нужна помощь с техникой? Привозите - диагностика при заказе ремонта бесплатна. Контакты и запись.