Платформа OpenStack широко используется в облачных вычислениях; вероятно, вы встречали это название при поиске облачной платформы для бизнеса. Мы, SIM-Networks, долгое время используем OpenStack для создания облачных решений, поэтому хорошо знакомы с особенностями этого ПО. В этой статье мы расскажем, что такое OpenStack, в чем основные принципы этого программного комплекса, чем платформа отличается от аналогов, а также поделимся кейсами применения облака на OpenStack.
Что такое OpenStack и как он работает?
OpenStack – это программный комплекс для развертывания облачных платформ, совместно разработанный компанией Rackspace и NASA. Эти инструменты доступны любому пользователю бесплатно, а код программы открыт – ПО можно модифицировать для любых индивидуальных потребностей. У облаков на OpenStack есть общие элементы, однако реализация каждого конкретного продукта на базе этой платформы уникальна.
Облачные платформы используют технологию виртуализации при помощи гипервизоров – на базе серверов создаются виртуальные машины, каждая из которых использует часть ресурсов физического оборудования. Однако этого недостаточно для создания облака – гипервизор не обеспечивает взаимодействие между виртуальными машинами. Без программных надстроек пользователь не сможет пользоваться общим хранилищем для нескольких машин, управлять группами инстансов, обеспечить сетевую связь между ними и т.д.
Облачная архитектура объединяет виртуальные машины в единую систему. Каждая из них использует ресурсы нескольких физических серверов – такую систему просто масштабировать. Чтобы моментально изменить конфигурацию инстанса, достаточно указать желаемые параметры в панели управления. Это невозможно в случае с физическим сервером или обычным виртуальным сервером (VPS) – придется покупать новые компоненты или заново развертывать VPS.
Среди других преимуществ облачных платформ – высокая отказоустойчивость, децентрализованный доступ к ресурсам и данным, простое управление, повышенная безопасность за счет распределенного хранения данных и т.д. Задача OpenStack – обеспечить эти возможности на базовом уровне и предоставить разработчикам инструменты для развития собственной платформы IaaS (Infrastructure-as-a-Service).