5 причин, по которым виртуальные машины по-прежнему важны
Контейнеры — жизненно важная технология для современной инфраструктуры, но виртуальные машины по-прежнему имеют свое место.
Раньше виртуализация имела большое значение. Некоторое время это был основной способ запуска служб в «песочнице». ИТ-отделы использовали сотни виртуальных машин. А потом появились контейнеры, выполняющие многое из того, что виртуальная машина могла бы сделать, используя лишь небольшую часть необходимых ресурсов. Хотя контейнерная технология сделала виртуальные машины громоздкими, она не сделала их полностью ненужными. Фактически, виртуализация сегодня полезна как никогда, и вот пять причин, почему.
1. Переход к дистрибутиву
«Переключение дистрибутива» — это термин, часто используемый для описания невозможности (намеренно или иным образом) выбрать один дистрибутив. Некоторым людям просто нравится пробовать новый дистрибутив Linux каждый раз, когда он выходит. И почему бы нет? Дистрибутивы Linux — это маленькие произведения искусства, труд любви, созданный командами увлеченных людей со всего мира. Интересно посмотреть, что люди собрали.
Часть опыта работы с новым дистрибутивом — это графический процесс установки, самый первый вход в систему и открытие большого рабочего стола. Насколько быстро происходит установка? Какой рабочий стол он использует? Как выглядят обои? Насколько легко было понять и ориентироваться? И самое главное: может ли это установить и полюбить даже ваши друзья, все еще использующие Windows или macOS?
Вы не можете повторить это в контейнере. Контейнер по своей сути представляет собой частичный образ операционной системы, предполагающий, что она уже установлена. Это большое преимущество контейнеров для занятого системного администратора, но если вам нужен пользовательский интерфейс настольного компьютера, то вам нужна виртуальная машина.
2. Развитие
Программировать сложно, и еще труднее добиться правильного, когда вы разрабатываете приложение для нескольких платформ. Помимо Java, немногие языки программирования могут работать на всех существующих платформах. Приложение, которое нормально запускается и работает в Linux, может выдать ошибку в Windows и вообще не запуститься в macOS.
Такие инструменты, как Vagrant и libvirt, гарантируют, что вы сможете запускать определенную версию определенной операционной системы по требованию. Вы получаете быструю среду, которую легко воспроизвести для нескольких разработчиков. Это отлично подходит для тестирования кода, подтверждения совместимости и тестирования новых версий библиотеки или набора инструментов.
3. Поддержка и документация
Отчеты об ошибках могут быть очень конкретными, и иногда достаточно лишь просмотреть GDB, чтобы определить причину проблемы. Однако в других случаях приходит отчет об ошибке, касающийся не кода, а самого процесса. Например, пользователь может жаловаться на макет приложения или на то, как приложение взаимодействует с каким-либо элементом на рабочем столе, или на то, как выполнить сложную настройку. В подобных случаях вам может потребоваться попытаться воспроизвести рабочий процесс пользователя, а иногда для этого требуется запустить именно то, что запускает пользователь.
В прошлом я делал это несколько раз, когда мне нужно было описать пользователю точные шаги, которые необходимо предпринять при их распространении для достижения цели. Общих заявлений было недостаточно. Я установил новую копию дистрибутива, который использовали мои пользователи, и задокументировал шаги со скриншотами. Если они не смогли заставить его работать, то я был уверен, что проблема не в их настройке.
4. Архитектура
Контейнеры используют процессор вашей операционной системы. Виртуальная машина использует эмулируемый процессор. Если вам нужно запустить программное обеспечение, которое не было скомпилировано на процессоре вашего компьютера, вам придется запустить виртуальный процессор.
5. Какая-то другая ОС
Контейнеры — Linux. Когда вы запускаете контейнер, вы запускаете Linux в контейнере, независимо от того, используете ли вы этот контейнер в Windows или Mac.
Чтобы запустить Windows, будь то поддержка, устаревшие службы или разработка, вам необходимо виртуализировать ее. Apple продолжает соблюдать, мягко говоря, «сложные» юридические требования в отношении виртуализации macOS, но когда это разрешено, это происходит на виртуальной машине. Или, может быть, вы используете Windows или macOS, но хотите запустить дистрибутив Linux на рабочем столе, чтобы освоиться с новой ОС. Виртуальные машины — это прагматичный и простой способ иметь запасной компьютер, не имея его на самом деле.
Электронная книга по виртуализации Linux
Виртуальные машины — это простой способ получить доступ к программно-определяемому компьютеру для выполнения повседневных задач. И существует множество вариантов взаимодействия с вашими виртуальными машинами, включая GNOME Boxes, Vagrant, VirtualBox или даже напрямую Qemu. Независимо от того, являетесь ли вы новичком в виртуализации или использовали ее раньше, загрузите нашу бесплатную электронную книгу, чтобы ознакомиться со всеми новейшими опциями, специализированными конфигурациями и идеями о том, как вы можете использовать парк виртуальных машин!