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

У цій статті ми намагаємось розрізати технологію, що стоїть за OpenStack, і те, як вона виникла. Але перш ніж зануритися в OpenStack, нам потрібно глибоко розібратися в деяких аспектах технології, що стоїть за OpenStack під назвою Virtualization.

Джерело зображення: pixabay.com

Що таке віртуалізація?

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

Аналогію можна провести на емуляторах. Віртуальні машини діють більше того ж типу, просто замість емуляції ігор вони імітують цілу машину.

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

Віртуальні машини самі по собі можуть бути будь-яких типів машини з будь-якою заданою конфігурацією, однак вона повинна бути меншою, ніж у машини, на якій вона нерестується. Що робить гіпервізор, це те, що він усуває розрив між ядром фізичної машини та ядром віртуальної машини.

Він фіксує системні виклики, перетворює опкод мови машинного рівня, обробляє його, а потім перетворює його в той код, який пізніше зрозуміє віртуальна машина.

Машина, на якій віртуальна машина "породжена" або створена, називається машиною-хостом. Віртуальна машина, породжена або створена гіпервізором на хост-машині, називається гостьовою машиною.

Так само операційна система, яка працює на хост-машині, називається хост-операційною системою, а операційна система, яка працює на гостьовій машині, називається гостьовою операційною системою.

Хост-машина та операційні системи хоста завжди значно потужніші, ніж гостьова машина та гостьові операційні системи. Це відбувається тому, що фактичне обладнання, яке забезпечує потужність обробки, знаходиться лише в хост-машині.

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

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

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

Види гіпервізорів

Гіпервізори в основному поділяються на два типи:

Тип 1: гіпервізор з рідних або голих металів:

Ці гіпервізори працюють безпосередньо на апаратному забезпеченні хоста і тісно інтегруються з ядром хоста. Вони безпосередньо управляють гостьовими операційними системами, і породжені віртуальні машини з'являються як процес. Їх ще називають гіпервізором з голих металів. Приклади включають Citrix, XenServer і VMW - ESX / ESXi.

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

Ці гіпервізори запускаються як типово встановлена ​​програма в хост-операційних системах. Вони породжують віртуальну машину та абстрагують її з хост-операційної системи. Аналогію можна провести з ігровими емуляторами. Приклади включають QEMU, VirtualBox та VMWare Workstation.

Існує також третій гібридний тип гіпервізора, як віртуальна машина на базі ядра (KVM), яка хоч і працює як типова програма, але працює, але тісно інтегрується з ядром і згодом апаратним забезпеченням хост-машини.

KVM - це, мабуть, найвідоміший гіпервізор з відкритим кодом, а для OpenStack широко використовується KVM. Всі ці гіпервізори діють, створюючи щось, що називається зображеннями.

Ці зображення є копією копії встановленої операційної системи або спеціалізованої операційної системи зі спеціальними вимогами до ядра. Пізніше, коли користувач використовує зображення, він змінює зображення відповідно до даних, що зберігаються клієнтом.

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

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

Крім того, вони тісно інтегрували їх для створення будь-якого типу мережі чи машини за потребою клієнтів. Використовуючи віртуалізацію, оператор ЦОД міг би встановити кілька машин замість однієї.

А оскільки хмара стосується оренди вашої обчислювальної потужності, модель доходу істотно зросла, здаючи в оренду кілька віртуальних машин, а не лише одну фізичну машину.

Це також збільшило використання, оскільки віртуальну машину, яка не використовується, можна взяти в оренду іншим клієнтам. Тож віртуалізація домінувала і змінювала правила роботи центру обробки даних.

Замість того, щоб купувати весь апарат за значні витрати, бізнес-користувачі позичали віртуалізовані екземпляри обладнання, зменшуючи вартість їх ІТ-інфраструктури.

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

Великою проблемою, яку оператори центрів обробки даних не змогли уявити, було управління! По мірі того, як віртуалізація розвивалася і забезпечувала віртуалізовані екземпляри практично будь-якого можливого обладнання, з'явилися труднощі в процесі управління цими наборами віртуальної апаратури.

Уявіть, що ви, як керівник свого бізнесу, вам хотіли б 10 різних машин у різних місцях у різних часових поясах. Ви хочете, щоб кожен з них мав окремі вимоги до апаратного та програмного забезпечення, а також хотів би відстежувати кількість даних, що надходять у нього та виходять із нього.

Як оператор центру обробки даних, ви поважаєте запити клієнтів і створюєте ці 10 віртуальних машин. Однак, уявіть, що, створюючи ці віртуальні машини, ви постійно отримуєте нові вимоги до більш віртуальних машин, кожна з яких має ще більш складні вимоги.

Як би ви керували такою кількістю віртуальних машин, кожна зі своїм складним набором вимог та налаштувань? На додаток до цього, вам потрібно буде точно виставити рахунок за кожну віртуальну машину, яку орендують. Припустимо, клієнт має різні вимоги до виставлення рахунків.

Для однієї машини, яка використовується як сервер, виставлення рахунків залежить від кількості даних, які отримує машина. Для іншої машини, яка виступає клієнтом, виставлення рахунків здійснюватиметься за той час, коли віртуальну клієнтську машину включено.

І ці вимоги стосуються лише однієї людини. Як оператор центру обробки даних, можливо, потрібно оперувати тисячами і тисячами віртуального обладнання, кожне з яких має власні мережеві, апаратні та програмні вимоги.

Власний інтерфейс управління був критично необхідний, щоб поставити організацію в безлад, який ставав віртуалізованим центром обробки даних. Замість того, щоб використовувати командні рядки та широко використовувати сценарії, для забезпечення належного обслуговування центру обробки даних потрібна була добре побудована «хмарна операційна система». І ось тут з'являється OpenStack.

Рекомендовані курси

  • Інтернет-курс на AJAX
  • Швидкий тест професійної підготовки
  • Інтернет-курс по ExtJS
  • Навчальний пакет CISSP

Що таке OpenStack?

Як згадувалося на початку, OpenStack є по суті хмарною операційною системою. Під операційною системою ми маємо на увазі безкоштовну та відкриту програмну платформу для хмарних обчислень. Він розпочався в 2010 році як спільний проект Rackspace хостингу та 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 розгалужився на багато різних компонентів, оскільки, як відкритий код, кілька компонентів можна було б додати та інтегрувати з програмним забезпеченням.

Однак в основі програмного забезпечення лежать лише три основні компоненти opentack:

  1. Компонент зберігання:

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

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

Інакше називається Nova Compute, цей компонент відповідає за управління всіма аспектами управління та створення віртуальної машини. Сюди входить виділення необхідного обладнання, взаємодія з гіпервізорами та функціонування як центральний вузол при взаємодії з усіма іншими компонентами, необхідними для нерестування віртуальних машин.

  1. Послуги візуалізації:

Також називається Glance, він надає послуги пошуку та пошуку зображень. По суті, це те, що він забезпечує підтримку для зберігання та управління репліками чи зображеннями різних віртуальних машин. Отже, виходячи з вимог, будь-який образ можна отримати для клієнта.

Висновок

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

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

Зазвичай розгорнута як операційна система для інфраструктури як сервіс (IaaS), вона дає простіший варіант управління тисячами віртуалізованих екземплярів.

Майбутнє OpenStack виглядає світлим, тепер великі дані та інші такі новітні аспекти хмарної технології, які інтегруються з нею. І з постійно зростаючою спільнотою Open Stack готовий зростати значними темпами.

Рекомендовані статті

Ось кілька статей, які допоможуть вам отримати більш детальну інформацію про Open Stack vs Virtualization, тому просто перейдіть за посиланням.

  1. Краща річ, щоб дізнатися Azure Paas проти Iaas
  2. Хочете знати про запитання щодо інтерв'ю AJAX?
  3. Вичерпний посібник з безпеки Android та безпеки з відкритим кодом (ОС)
  4. Міфи та хибні уявлення про програмне забезпечення з відкритим кодом
  5. Яка технологія найкраща? Хмарні обчислення чи віртуалізація
  6. Топ-10 корисних порівнянь між хмарними обчисленнями та віртуалізацією