Обзор виртуальных машин разных разработчиков
Огромное количество появляющихся каждый день программ делают скачивание и установку неизвестного софта на компьютер все более опасным для системы и важных файлов на компьютере. Кроме того, многие программы, имеющие необходимые для работы программистов, художников и других пользователей ПК функции, доступны только для небольшого количества операционных систем. Если раньше приходилось сильно рисковать, скачивая из Интернета подозрительный файл, или же переустанавливать систему только ради одной нужной программы, то теперь для этого есть такая ОС как виртуальная машина.
Виртуальная машина — специальная программа, которая устанавливается на родную операционную систему пользователя и при запуске начинает эмулировать, то есть, воспроизводить, функции любой другой операционной системы, указанной в настройках. Основное удобство таких программ — отсутствие необходимости в переключении между ОС и доступ ко всем функциям воспроизводимой системы. Кроме того, все действия, совершаемые внутри виртуальной машины, не будут затрагивать работу основной системы, что предотвращает возможные сбои компьютера.
На данный момент разработчики виртуальных машин создали программы, позволяющие эмулировать любые операционные системы, начиная с ранних версий Windows и заканчивая Ubuntu, OS X и менее известными осями, также работать с уже готовыми серверами, например, виртуальная машина Битрикс.
Существует еще одно, более узкое, понимание термина «виртуальная машина», которое распространено в среде музыкантов — виртуальная драм-машина, которая воспроизводит звуки ударной установки. Такая программа позволяет записывать партии ударных инструментов без применения живой установки, а в специальных звукозаписывающих программах или «оживляя» заранее записанную midi-дорожку, подкладывая под электронное звучание записанные семплы каждого удара.
Что такое виртуализация?
Виртуализация сегодня — понятие весьма обширное и разноплановое, однако мы не будем сегодня рассматривать все его аспекты, это выходит далеко за рамки данной статьи. Тем, кто только знакомится с данной технологией будет вполне достаточно упрощенной модели, поэтому мы постарались максимально упростить и обобщить данный материал, не вдаваясь в подробности реализации на той или иной платформе.
Так что-же такое виртуализация? Это возможность запустить на одном физическом компьютере несколько изолированных друг от друга виртуальных машин, каждая из которых будет «думать» что работает на отдельном физическом ПК. Рассмотрим следующую схему:
Поверх реального аппаратного обеспечения запущено специальное ПО — гипервизор (или монитор виртуальных машин), который обеспечивает эмуляцию виртуального железа и взаимодействие виртуальных машин с реальным железом. Он также отвечает за коммуникации виртуальных ПК с реальным окружением посредством сети, общих папок, общего буфера обмена и т.п.
Гипервизор может работать как непосредственно поверх железа, так и на уровне операционной системы, существуют также гибридные реализации, которые работают поверх специально сконфигурированной ОС в минимальной конфигурации.
С помощью гипервизора создаются виртуальные машины, для которых эмулируется минимально необходимый набор виртуального железа и предоставляется доступ к разделяемым ресурсам основного ПК, называемого «хостом«. Каждая виртуальная машина, как и обычный ПК, содержит свой экземпляр ОС и прикладного ПО и последующее взаимодействие с ними ничем не отличается от работы с обычным ПК или сервером.
Типы виртуализации
Сегодня компании сталкиваются с проблемами повышения сложности и выделения ресурсов в центрах обработки данных для обеспечения роста и расширения. Эти проблемы связаны с повышением потребности в электроэнергии, затратами на центры обработки данных, ограничением физического пространства и сложностью взаимосвязей.
Поэтому производители программного и аппаратного обеспечения начали решать некоторые из этих проблем, изменяя архитектуру традиционных центров обработки данных с помощью виртуализации. Существуют различные типы виртуализации:
Виртуализация аппаратного обеспечения:
виртуализация аппаратного обеспечения, включая версии компьютеров и операционных систем (ВМ), создает единый виртуальный консолидированный первичный сервер.
Виртуализация программного обеспечения:
создает компьютерную систему, включая аппаратное обеспечение, которая позволяет одной или нескольким гостевым ОС работать на физическом компьютере-хосте.
Виртуализация хранилища:
Виртуализирует хранилище путем консолидации нескольких физических систем хранения, которые отображаются как единое хранилище для повышения производительности и скорости.
Виртуализация сети:
Предоставляет облачную виртуальную сеть на основе приложений, которая не связана с физической сетевой инфраструктурой, по всему распределенному набору систем. Виртуализация сети распределяет полосу пропускания по каналам, предоставляя ресурсы серверам и устройствам в режиме реального времени.
Виртуализация настольных компьютеров:
отделяет среду настольного компьютера от физического устройства и сохраняет настольный компьютер на удаленном сервере, обеспечивая доступ из любого места на любом устройстве.
Эмуляторы мобильных ОС (Андроид)
Наиболее популярная мобильная операционная система это Android, для неё существует больше десятка различных эмуляторов, например, Bluestacks, Nox App Player, Tencent Gaming Buddy, MEmu, LDPlayer, AndY, KoPlayer, Droid4X, YouWave. Половина из них поддерживает русский язык, но перед установкой рекомендую почитать описание и отзывы о программе, которую собираетесь использовать. Сам я пользовался Bluestacks и Nox App Player. По совместимости с играми и приложениями первая оказалась универсальней и оставил только её. На втором месте iOS (для гаджетов от компании Apple). Некоторые эмуляторы позволяют запускать несколько версий Андроида, это нужно, чтобы протестировать игры на смартфонах, которые уже не получают обновлений.
У некоторых симуляторов Андроида есть собственный магазин приложений, адаптированных под работу на ПК, например: Bluestack и LDPlayer. Другие заточены под конкретную игру, например Tencent Gaming Buddy изначально создавался именно под PUBG, совместим со всеми его дополнениями и имеет функционал, позволяющий запускать игру на старых ПК и ноутбуках, а на новых увеличивает частоту кадров и качество графики.
реклама
Другие эмуляторы писались больше для разработчиков приложений, и соответствуют реальному устройству Андроид, например AndY.
Существуют и устаревшие программы, такие как Droid4X, YouWave, обновления которых уже прекратились, но они до сих пор актуальны для старых приложений.
реклама
Также есть нестандартные решения, к примеру PrimeOS, которая устанавливается на отдельный раздел жёсткого диска, процесс её установки довольно сложный, используется в основном разработчиками мобильных приложений. Визуально отличается от остальных эмуляторов наличием меню Пуск и окон, как у Виндовс.
Другое нестандартное решение Bliss OS, это операционная система с открытым исходным кодом на базе Android, устанавливается как отдельная ОС и позволяет устанавливать себя на смартфоны и планшеты вместо Андроид. Её преимущество: отсутствие рекламных всплывающих окон и предустановленных приложений.
Настройки некоторых эмуляторов позволяют задавать число ядер центрального процессора, которые будет использовать программа, количество кадров в секунду (FPS), определить объём оперативной памяти, доступной эмулятору. А на случай проблем с совместимостью в играх, предусмотрено переключение режимов рендеринга графики с DirectX на OpenGL.
реклама
Практическое применение для дома
Я пользовался программой Bluestack для создания второго аккаунта в известной онлайн-игре, чтобы не вкладывать в неё деньги, и при этом быстро развиваться. Пробовал устанавливать WhatsApp на ПК во время ремонта смартфона. Сейчас я пользуюсь уже версией для браузера. Чтобы сын не портил зрение на маленьком экране и не сажал батарею телефона, ему на компьютер были установлены с помощью Bluestack программы со смартфона.
Примеры использования виртуальных машин
По статистике, виртуальные машины часто используются для тестирования. Допустим разработчику нужно узнать корректно и безопасно ли работает приложение в другой ОС, например, в разных версиях Windows. Покупать или арендовать для этого несколько физических серверов, устанавливать разные ОС, чтобы выполнить проверку – не самый лучший способ. Гораздо проще создать несколько виртуальных машин и выполнить аналогичные действия за гораздо меньшее время.
Еще один частый пример с использованием ВМ – тестирование и анализ вредоносных программ. Делать аналогичную проверку на рабочем компьютере крайне небезопасно, а в изолированной среде, которая гарантирует виртуальная машина, вполне возможно.
Рассмотренные примеры использования ВМ – это лишь частные случаи, поскольку сценариев, в которых они могут быть задействованы – великое множество. Важно понимать, что виртуальная машина может выполнять совершенно разные функции, от самых простых до самых сложных. Сегодня компании чаще разворачивают виртуальные машины в облаке провайдера, виртуализируя как часть ИТ-инфраструктуры, так и целиком.
Что такое виртуальная машина на ПК и ее назначение
Для личного пользования вполне годится, если вы решили самостоятельно освоить новую операционную систему. Теперь вам не нужно иметь дополнительного компьютера. Не нужно удалять привычную Windows.
Можно учиться одновременно просматривая почту и соц сети и в тоже время получать навыки по установке, настройке новых, полезных и интересных программ. Разработчики так проверяют работу приложений в новых и старых средах, тестируют работу как и операционных систем, так и программ и оборудования.
Но главное назначение пожалуй не в этом, а в очевидной экономии. Ведь не зря эту технологию давно развивают. Для работы серверов в первую очередь нужно производительное оборудование, которое дорого. Обычный сервер использует свои ресурсы где-то на 40-60%. А если таких серверов два или больше, то получается что половина мощностей простаивает.
Чтобы избавиться от кластеризации, не внедрять кучу физический серверов и предназначены виртуальные машины. На одном компьютере можно установить к примеру, почтовый сервер, DNS-сервер, контроллер домена и прокси- сервер.
При правильном расчете и настройке у вас будет четыре сервера, которые крутятся на одном физическом. Физический компьютер будет работать на оптимальной мощности.
Виртуальные сети
Даже в мире сетей все более и более применяется концепция виртуализации, технология «сеть как сервис» (NaaS) в настоящее время во многих случаях представляет собой перспективный и крайне востребованный вариант. Эта тенденция будет лишь популяризироваться ввиду дальнейшего внедрения виртуализации сетевых функций (NFV), которая по крайней мере точно станет объектом наибольшего интереса у операторов и провайдеров особенно в сфере мобильной связи. Примечательно, что сетевая виртуализация может предоставить реальную возможность для мобильных операторов расширить спектр своих услуг, увеличить пропускную способность и тем самым повысить ценность и привлекательность своих услуг для корпоративных клиентов. Вполне вероятно, что в течение следующих нескольких лет все большее число организаций будут применять NFV в своих собственных и даже в гибридных сетях (опять же, фактор привлекательности клиентов). В то же время VLAN (802.1Q) и виртуальные частные сети (VPN) со своей стороны вносят огромный вклад в подходы к использованию современной виртуализации.
Даже принимая во внимание широкий спектр значительных функциональных решений, которые может предложить виртуализация, на первый план все равно выходит экономическая оценка широкомасштабных функций виртуализации, которая привлекает особое внимание. Конкурентоспособность быстро развивающейся бизнес-модели на основе облачных сервисов означает, что традиционные трудоемкие операционные расходы, которые ежедневно несут организации-заказчики, со временем будут снижаться, поскольку поставщики услуг, основываясь на своем собственном опыте, разрабатывают новые предложения, которые заметно помогут сэкономить финансы, и предлагают более низкие цены конечным пользователям в результате конкуренции на рынке.
С помощью нее легко повысить надежность и отказоустойчивость благодаря использованию нескольких поставщиков облачных сервисов в полностью избыточном или горячем режиме резервирования, что практически исключит возможность одиночных точек отказа. Как видно, многие элементы расходов, заложенные на капитальные затраты в IT сфере, переходят в операционные расходы, т.е. по большей части средства расходуются не на увеличение количество оборудования, наращивание мощностей и персонал организации, на поставщиков услуг. Опять же, благодаря мощностям современных микропроцессоров, усовершенствованиям в системах и архитектурных решениях, а также резкому увеличению производительности как локальных сетей, так и сетей WAN (включая беспроводные), практически каждый элемент ИТ индустрии сегодня действительно может быть виртуализирован и даже реализован как масштабируемый облачный сервис в случае необходимости.
Сама виртуализация не является сменой парадигмы, хотя часто её описывают именно так.
Смысл виртуализации в любой своей форме заключается в том, чтобы позволить ИТ процессам при помощи огромного спектра возможностей, о которых написано выше, предстать более гибкими, эффективным, удобными и продуктивными.
Основываясь на стратегии виртуализации у большинства облачных сервисов в ИТ, можно сказать, что, виртуализация — это лучшее решение на сегодняшний день в качестве альтернативы операционной модели с экономическими преимуществами, которая позволит уйти от необходимости применения традиционных методов работы.
Развитие виртуализации в данной области происходит благодаря существенной экономической инверсии операционной модели ИТ, которая берёт свои корни в начале коммерциализации информационных технологии.
На заре компьютерных технологий, наши интересы были сфокусированы на дорогостоящих и часто перегруженных аппаратных элементах, таких как мейнфреймы. Их огромная стоимость и мотивировала на первые попытки виртуализации, о которых рассказано выше.
Поскольку аппаратное обеспечение стало дешевле, мощнее и доступнее, основное внимание переключилось на приложения, работающие в практически стандартизованных и виртуализированных средах, от ПК до браузеров.
Результатом этой эволюции является то, что мы наблюдаем сейчас. Поскольку компьютеры и вычислительная техника были основой ИТ, мы переключили внимание на обработку информации и возможность её предоставления в любое время и в любом месте. Эта «инфоцентричность» — сподвигла эволюцию мобильной и беспроводной эпохи, и как результат, конечный пользователь может в любой момент, независимо от места, получить эту информацию и иметь ее под рукой.
Изначально задумывавшись в качестве более эффективной работы с медленным и очень дорогим мейнфреймом, всё привело к тому, что сейчас виртуализация превращается в основную стратегию для всего будущего ИТ сферы. Ни одна инновация в сфере ИТ не имела такого большого влияния как виртуализация, и с переходом на инфраструктуру облачной виртуализации, мы действительно только начинаем путь к нечто глобальному.