Что такое виртуальная машина?
Что такое виртуальная машина?
Виртуальная машина (VM) – это цифровой аналог физического компьютера, функционирующий как изолированная система со своими виртуализированными аппаратными ресурсами и операционной системой. Физическое устройство, например ноутбук или сервер, обычно использует одну операционную систему, управляющую оборудованием и обеспечивающую работу приложений. Однако аппаратные ресурсы зачастую обладают гораздо большей мощностью, чем требуется одной системе.
Виртуальная машина позволяет создавать несколько независимых сред на одном физическом устройстве и запускать разные операционные системы параллельно. Это дает возможность выполнять множество приложений на одном оборудовании и использовать ресурсы максимально эффективно. Современные облачные инстансы предоставляют доступ к виртуальным машинам как к полностью управляемому сервису в облаке.
Как работают виртуальные машины?
Виртуализация – это технология, при которой программное обеспечение выполняет функции физического оборудования. Такое программное обеспечение обращается к реальным физическим ресурсам и использует их, функционируя так же, как и само оборудование. Аналогично тому, как виртуальные машины работают на физических компьютерах, виртуальные хранилища могут заменять множество физических накопителей. Технология виртуализации облегчает конфигурацию, создание шаблонов и повторное развертывание оборудования с минимальным физическим вмешательством.
Виртуальная машина (VM) – это полностью функциональная система, определяемая программно, которая запускает собственную операционную систему, приложения, процессы и пользовательские конфигурации. Виртуальная машина также называется гостевой операционной системой, а физический компьютер, на котором она работает, – хост-машиной. На одном физическом компьютере может одновременно работать несколько виртуальных машин с разными операционными системами, которые совместно используют ресурсы сервера по мере необходимости.
Какие существуют типы виртуальных машин?
Тип создаваемой и используемой виртуальной машины зависит от поставленной задачи и аппаратных ресурсов базовой системы.
Ниже приведены некоторые примеры.
- Запуск виртуальной машины с мощной моделью машинного обучения требует наличия хост-системы с производительным графическим процессором.
- Для редкого использования Windows-приложения на настольном компьютере Mac можно запустить виртуальную машину с Windows через гипервизор второго типа.
- Для разработки и тестирования программного обеспечения можно запустить два параллельных гостевых окружения на одной хост-системе с достаточным объемом ресурсов.
Системная виртуальная машина
Системная виртуальная машина (SVM) – это полноценная виртуальная среда, включающая собственную операционную систему. Фактически, это и есть классическая виртуальная машина в привычном понимании.
Процессная виртуальная машина
Процессная виртуальная машина (PVM), напротив, выполняет отдельный процесс или приложение, предоставляя полную среду для выполнения программ на определенном языке. Типичные примеры – Java Virtual Machine для запуска Java-программ или интерпретатор Python для Python-приложений. Использование процессной виртуальной машины позволяет запускать приложения на разных языках практически на любом компьютере.
Каковы преимущества использования виртуальной машины?
Практически любая организация может извлечь выгоду из применения виртуальных машин. Для новых компаний оптимально сразу начать работу с облачными инстансами, чтобы быстро запустить инфраструктуру и масштабировать ее с минимальными затратами.
Для организаций, уже имеющих локальные вычислительные ресурсы, виртуальные машины обеспечивают перечисленные ниже преимущества.
Эффективное использование вычислительных ресурсов
Главное преимущество использования нескольких виртуальных машин заключается в повышении отдачи от существующего оборудования. Если процессор постоянно используется лишь на 25 %, значит, его потенциал не реализован. Запуск нескольких операционных систем, выполняющих важные задачи одновременно, позволяет объединить нагрузки и рационально использовать один и тот же сервер.
Автоматизированное администрирование
Настройка образов виртуальных машин в программном виде делает администрирование автоматизированным, повторяемым и легко изменяемым, в отличие от физической конфигурации оборудования.
Высокая портативность
В отличие от физического оборудования, виртуальные машины можно легко развернуть практически в любом месте. Одна виртуальная машина может работать на сервере в Северной Америке, а другая – в Австралии, при этом им не требуется различная конфигурация.
Поддержка разных операционных систем
Даже если организация предпочитает использовать одну операционную систему, иногда возникает необходимость в других. Виртуальные машины позволяют запускать несколько разных операционных систем одновременно на одном физическом сервере.
Виртуальные машины и контейнеры
При развертывании приложений виртуальные машины часто сравнивают с контейнерами. До появления контейнеров разработчикам приходилось включать библиотеки и службы в состав приложения, чтобы пользователь мог установить его в конкретную виртуальную машину и запустить. С контейнерами достаточно загрузить образ – и приложение просто работает, без необходимости установки.
И виртуальные машины, и контейнеры используют виртуализацию, но по-разному. Виртуальная машина виртуализирует физическую машину, тогда как контейнер виртуализирует серверную среду, в которой выполняется приложение.
Виртуальная машина виртуализирует физическую машину, тогда как контейнер виртуализирует серверную среду, в которой выполняется приложение. Виртуальная машина предоставляет изолированную операционную среду, которая может работать на любом физическом устройстве с установленным гипервизором. Контейнер же создает полную, изолированную среду для приложения, способную работать где угодно.
Контейнер включает все необходимые библиотеки и службы, чтобы приложение могло запускаться на любой системе, если установлен и настроен менеджер контейнеров. Однако не все приложения можно легко упаковать в контейнеры. Приложения должны быть упакованы в контейнеры, а некоторые приложения, в том числе приложения с графическим интерфейсом или постоянным хранилищем, нуждаются в доработке для операций на основе контейнеров без сохранения состояния. Приложения сторонних разработчиков часто не имеют контейнерных опций.
Как AWS может обеспечить соответствие вашим требованиям к виртуальным машинам?
AWS предлагает более 800 типов экземпляров, подходящих практически для любых бизнес-задач. Инстансы можно настроить по параметрам процессора, хранилища, сети, операционной системы и модели оплаты, чтобы максимально точно соответствовать требованиям вашей рабочей нагрузки. AWS предоставляет 108 зон доступности, каждая из которых физически изолирована и разделена, что помогает соответствовать нормативным требованиям.
Типы инстансов AWS разработаны для одновременного запуска множества виртуальных машин в разных операционных системах.
Amazon Elastic Compute Cloud (Amazon EC2) представляет собой самую широкую и глубокую вычислительную платформу, предлагающую на выбор инстансы по требованию, выделенные и спотовые инстансы. EC2 поддерживает универсальные, вычислительно-оптимизированные, хранилищно-оптимизированные, память-оптимизированные и ускоренные типы инстансов. EC2 совместим с процессорами Intel, AMD и Arm, работает с несколькими операционными системами и является единственным облаком, предлагающим Mac OS-инстансы по запросу, а также сетевые подключения Ethernet со скоростью до 400 Гбит/с.
AWS Nitro System служит основой для современных EC2-инстансов. С Nitro System инфраструктура виртуализации была полностью переосмыслена. Традиционно гипервизоры выполняли задачи защиты физического оборудования и BIOS, виртуализации процессора, хранилища и сети, а также предоставляли обширные функции управления. С Nitro System эти функции были разделены, перенесены на выделенные аппаратные и программные модули, что позволило снизить затраты и предоставить почти все ресурсы сервера вашим инстансам.
Amazon Lightsail предлагает простые в использовании инстансы виртуальных частных серверов (VPS), контейнеры, хранилища, базы данных и многое другое по доступной фиксированной ежемесячной цене. Lightsail предназначен для простых веб-приложений, пользовательских сайтов и бизнес-приложений малого масштаба.
Начните работу с AWS уже сегодня, создав бесплатную учетную запись.