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

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

Источник изображения: pixabay.com

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

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

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

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

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

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

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

Аналогично, операционная система, которая работает на хост-машине, называется операционной системой хоста, а операционная система, которая работает на гостевой машине, называется гостевой операционной системой.

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

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

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

Необходимое оборудование предоставляется при порождении виртуальной машины. После появления в реальной сети виртуальная машина будет обрабатываться как один узел.

Типы гипервизоров

Гипервизоры делятся в основном на два типа:

Тип 1: Гипервизор "нативный" или "голый металл"

Эти гипервизоры работают непосредственно на оборудовании хоста и имеют тесную интеграцию с ядром хоста. Они напрямую управляют гостевыми операционными системами, а порождаемые виртуальные машины выглядят как процесс. Их также называют гипервизором из голого металла. Примеры включают в себя Citrix, XenServer и VMW ESX / ESXi.

Тип 2: Размещенные гипервизоры:

Эти гипервизоры запускаются как обычно установленная программа в операционных системах хоста. Они порождают виртуальную машину и абстрагируют их от операционной системы хоста. Можно провести аналогию с игровыми эмуляторами. Примеры включают QEMU, VirtualBox и VMWare Workstation.

Существует также третий гибридный тип гипервизора, такой как виртуальная машина на основе ядра (KVM), которая хотя и работает как обычная программа, но работает, но тесно интегрируется с ядром и, следовательно, с аппаратным обеспечением хост-машины.

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

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

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

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

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

А поскольку облако - это аренда ваших вычислительных мощностей, модель дохода существенно выросла, сдав в аренду несколько виртуальных машин вместо одной физической машины.

Это также увеличило возможности повторного использования, поскольку неиспользуемая виртуальная машина может быть сдана в аренду другим клиентам. Таким образом, виртуализация доминировала и изменяла правила центра обработки данных.

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

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

Большая проблема, которую операторы центров обработки данных не могли визуализировать, это управление! Поскольку виртуализация развивалась и предоставляла виртуализированные экземпляры практически любого оборудования, возникла сложность в процессе управления этими множествами виртуального оборудования.

Представьте себе, как руководитель вашего бизнеса, вы бы хотели 10 разных машин в разных местах в разных часовых поясах. Вы хотели бы, чтобы каждый из них имел отдельные требования к аппаратному и программному обеспечению, а также хотел бы отслеживать объем данных, которые поступают в него и из него.

Как оператор центра обработки данных, вы уважаете требования клиентов и создаете эти 10 виртуальных машин. Однако представьте себе, что наряду с созданием этих виртуальных машин вы получаете новые требования к большему количеству виртуальных машин, каждая с еще более сложными требованиями.

Как бы вы управляли таким количеством виртуальных машин, каждая из которых имеет свой сложный набор требований и настроек? В дополнение к этому вам необходимо точно выставлять счета за каждую арендуемую виртуальную машину. Предположим, что у клиента разные требования к выставлению счетов.

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

И эти требования только для одного человека. Как оператор центра обработки данных, возможно, придется работать с тысячами и тысячами виртуальных аппаратных средств, каждое со своими сетевыми, аппаратными и программными требованиями.

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

Рекомендуемые курсы

  • Онлайн курс по AJAX
  • Quick Test Профессиональный учебный комплект
  • Онлайн курс по ExtJS
  • CISSP Учебный комплект

Что такое OpenStack?

Как уже упоминалось в начале, OpenStack - это облачная операционная система. Под операционной системой мы подразумеваем бесплатную платформу с открытым исходным кодом для облачных вычислений. Он начался в 2010 году как совместный проект Rackspace Hosting и NASA.

Первоначально, это было начато для решения этой конкретной проблемы центра обработки данных, которая заключалась в том, как управлять большим количеством виртуальных машин. Оттуда он быстро превратился в полноценное сообщество с технологическими обязательствами и поддержкой некоторых самых известных брендов в области информационных технологий, таких как Oracle, VMWare, Yahoo Inc. и т. Д.

В настоящее время OpenStack поддерживается фондом OpenStack, некоммерческим корпоративным предприятием, созданным в 2012 году. Постоянно развивающемуся сообществу OpenStack удавалось выпускать улучшенную версию своего программного обеспечения OpenStack каждые шесть месяцев в рамках цикла выпуска, основанного на времени, с четкими этапами развития в каждом из них. их выпусков.

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

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

Раз в два года сообщество собирается для планирования новых функций и поддержки на OpenStack Design Summit, где рассматриваются и собираются планы проектирования обширного сообщества OpenStack.

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

Возвращаясь к нашему предыдущему примеру, вы захотите 10 машин, каждый со своим набором требований. С более ранним интерфейсом командной строки было бы очень сложно управлять всем самостоятельно.

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

Если вам нужны расширенные функции, такие как анализ данных и поддержка кластеров HADOOP, вы даже можете легко реализовать это на своей виртуальной машине. Другие стандартные функции, такие как хранение, использование процессора, памяти и ядра, также можно легко настроить в графическом пользовательском интерфейсе, представленном OpenStack.

OpenStack также предоставляет поддержку биллинга в реальном времени, с помощью которой вы можете отслеживать статистику каждой виртуальной машины, созданной с помощью программного обеспечения. Он включает статистику в реальном времени, такую ​​как использование памяти, использование диска, использование ядра и т. Д.

Кроме того, поскольку OpenStack написан в основном на языке Python, он также выигрывает от написания сценариев. Таким образом, автоматизация управления тысячами виртуальных машин также заботится. Вы можете написать скрипт для планирования автоматизации виртуальной машины, когда она должна быть включена и когда она будет выключена.

Автоматизируя такой способ, вы можете создать очень хорошо построенную и всеобъемлющую платформу облачных вычислений. А поскольку OpenStack полностью бесплатен, любой может использовать исходный код для разработки и добавления своих собственных функций, полностью адаптированных к их организационным или личным потребностям. HP сделала это, выпустив собственную версию облака под названием HP Helion.

OpenStack в облачной терминологии попадает в категорию «Инфраструктура как услуга» (IaaS), что означает его первичное использование для построения инфраструктуры, на которой будут развернуты виртуальные машины.

Это существенно облегчает порождение виртуальных машин. Именно на этих виртуальных машинах или «платформах» клиенты арендуют в зависимости от своих требований.

Основные компоненты OpenStack

OpenStack разветвлен, чтобы иметь много различных компонентов, так как, будучи открытым исходным кодом, несколько компонентов могут быть добавлены и интегрированы с программным обеспечением.

Однако в основе программного обеспечения лежат только три основных компонента openstack:

  1. Компонент хранения:

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

  1. Компонент инфраструктуры:

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

  1. Сервисы обработки изображений:

Также называется Glance, он предоставляет услуги поиска и поиска изображений. По сути, он обеспечивает поддержку для хранения и управления репликами или образами различных виртуальных машин. Таким образом, исходя из требований, любой вид изображения может быть получен для клиента.

Вывод

OpenStack, с самого начала своего существования в качестве программного обеспечения с открытым исходным кодом для облачного администрирования, быстро превратился в большое сообщество энтузиастов облачных технологий, которые сделали OpenStack разветвленным в различных областях облака.

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

Обычно развертываемый как операционная система для инфраструктуры как службы (IaaS), он позволяет упростить управление тысячами виртуализированных экземпляров.

Будущее OpenStack выглядит блестящим, теперь с большими данными и другими такими новейшими аспектами облачных технологий, интегрированными в него. И с постоянно растущим сообществом, Open Stack готов расти со значительной скоростью.

Рекомендуемые статьи

Вот несколько статей, которые помогут вам получить более подробную информацию об Open Stack vs Virtualization, поэтому просто перейдите по ссылке.

  1. Лучшая вещь, чтобы узнать Azure Paas против Iaas
  2. Хотите знать о AJAX Интервью Вопросы?
  3. Комплексное руководство по Android и Open Source Security (OS)
  4. Мифы и заблуждения о программном обеспечении с открытым исходным кодом
  5. Какая технология лучше? Облачные вычисления или виртуализация
  6. Топ 10 полезных сравнений между облачными вычислениями и виртуализацией