Платформа OpenStack широко використовується у хмарних обчисленнях; ймовірно, ви зустрічали цю назву при пошуку хмарної платформи для бізнесу. Ми, SIM-Networks, тривалий час використовуємо OpenStack для створення хмарних рішень, тому добре знайомі з особливостями цього програмного забезпечення. У цій статті ми розповімо, що таке OpenStack, у чому основні принципи цього програмного комплексу, чим платформа відрізняється від аналогів, а також поділимося кейсами застосування хмари OpenStack.
Що таке OpenStack та як він працює?
OpenStack – це програмний комплекс для розгортання хмарних платформ спільно розроблений компанією Rackspace і NASA. Ці інструменти доступні будь-якому користувачеві безкоштовно, а код програми відкритий – ПЗ можна модифікувати для будь-яких індивідуальних потреб. Хмари на OpenStack мають спільні елементи, проте реалізація кожного конкретного продукту на базі цієї платформи унікальна.
Хмарні платформи використовують технологію віртуалізації за допомогою гіпервізорів - на базі серверів створюються віртуальні машини, кожна з яких використовує частину ресурсів фізичного обладнання. Проте цього замало для створення хмари – гіпервізор не забезпечує взаємодію між віртуальними машинами. Без програмних надбудов користувач не зможе користуватися спільним сховищем для кількох машин, керувати групами інстансів, забезпечити мережевий зв'язок між ними і т.д.
Хмарна архітектура об'єднує віртуальні машини у єдину систему. Кожна з них використовує ресурси кількох фізичних серверів – таку систему просто масштабувати. Щоб миттєво змінити конфігурацію інстансу, достатньо вказати бажані параметри в панелі керування. Це неможливо у випадку з фізичним сервером або звичайним віртуальним сервером (VPS) - доведеться купувати нові компоненти або заново розгортати VPS.
Серед інших переваг хмарних платформ – висока відмовостійкісь, децентралізований доступ до ресурсів і даних, просте управління, підвищена безпека за рахунок розподіленого зберігання даних і т.д. Завдання OpenStack – забезпечити ці можливості на базовому рівні та надати розробникам інструменти для розвитку власної платформи IaaS (Infrastructure-as-a-Service).