Главная » Продукция » Red Hat Enterprise Linux » Облачная инфраструктура для реального мира

Облачная инфраструктура для реального мира

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

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

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

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

Далее мы детально рассмотрим эту новую модель и покажем, как решение Red Hat Cloud Infrastructure обеспечивает плавный переход к ней. Вы узнаете, как совместить оба типа нагрузок, используя облачные платформы IaaS («инфраструктура как услуга») и открытые средства управления такими платформами и жизненным циклом работающих на них приложений. В результате вы сможете определить для себя оптимальные пути и темпы перехода к новому поколению приложений.

Подробнее

ВВЕДЕНИЕ

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

У этого разнообразия множество причин. Например, многие организации не готовы перенести в облако определенные приложения и рабочие нагрузки* из своих ЦОД, опасаясь потери контроля (по реальным или надуманным соображениям безопасности, управляемости, соответствия требованиям и т. п.). Для других сдерживающим фактором являются недавние инвестиции в информационные технологии, поскольку переход на что-то новое для них экономически не оправдан. Поэтому облачные решения часто будут представлять собой гибридную смесь из общедоступных и частных ресурсов и гетерогенных инфраструктур.

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

Писатель и консультант Джефри Мур, автор книги «Преодоление пропасти. Как вывести технологический продукт на массовый рынок», проводит границу между системами регистрации данных и системами привлечения клиентов. Первые предназначены для обработки данных, и этот термин не случайно раньше был синонимом того, что сегодня называется информационными технологиями. Они фокусируются на безопасности и надежности операций и обычно относительно статичны (за рядом исключений, особенно в финансовой сфере). Начав с мэйнфремов и больших UNIX-машин, многие из них переместились на платформу x86, операционную систему Linux и даже в виртуальные среды.

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

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

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

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


В ЧЕМ СОСТОЯТ ОТЛИЧИЯ РАБОЧИХ НАГРУЗОК

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

Традиционные корпоративные нагрузки

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

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

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

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

Подводя итоги, можно выделить следующие особенности традиционных корпоративных приложений:

  • Виртуальные машины (ВМ) имеют состояния. Индивидуальность каждой отдельной ВМ имеет значение, и приложения обычно привязаны к строго определенной ВМ.
  • ВМ, как правило, тяжелые (несколько процессоров, много памяти и дискового пространства).
  • Жизненный цикл ВМ измеряется месяцами или даже годами.
  • Доступность приложений завязана на сигнал пульса определенной ВМ. Поэтому для безотказной работы очень важны технологии кластеризации и живой миграции.
  • Для приложений часто практикуется вертикальное масштабирование, для чего работающей ВМ требуется выделять дополнительные ресурсы (процессоры, память, дисковое пространство).

Облачная инфраструктура IAAS

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

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

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

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

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

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

Подводя итоги, можно выделить следующие особенности облачных рабочих нагрузок:

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

Смешанные нагрузки

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


ДОРОГА В ОБЛАКА

Рассмотренные выше типы нагрузок и все, что укладывается между ними (и даже может входить в состав одного гибридного приложения) и есть реальность корпоративных IT-систем. У таких систем могут быть и другие гибридные черты, например, гетерогенность инфраструктуры ЦОД или же то, что они включают в себя как выделенные мощности, так мультитенантные общедоступные облака. Кроме того, такие среды не отличаются статичностью.

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

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

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

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

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

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


КАК RED HAT ПОМОГАЕТ СОЗДАТЬ ГИБРИДНОЕ ОБЛАКО

Решение Red Hat Cloud Infrastructure позволяет организации создать облако IaaS на основе своего виртуализованного ЦОД и в дальнейшем масштабировать это облако до уровня общедоступных облачных услуг с использованием технологии OpenStack. Решение Red Hat взаимодействует с платформой виртуализации и другими составляющими корпоративной IT-системы, а также с общедоступными облаками, обеспечивая централизованное управление итоговой инфраструктурой (средствами Red Hat CloudForms) и работающими в ней приложениями (средствами Red Hat Satellite).

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

Решение построено на основе платформы Red Hat Enterprise Linux, снискавшей высочайший авторитет в мире корпоративных заказчиков, и, как и все продукты компании Red Hat, объединяет в себе преимущества открытых проектов и стандартов с атрибутами решений корпоративного класса. Например, модель распространения Red Hat на основе подписок позволяет организации воспользоваться инновациями стремительно развивающегося проекта OpenStack с гарантией долговременного жизненного цикла продукта.

В состав Red Hat Cloud Infrastructure входят следующие компоненты:

Red Hat Enterprise Virtualization – мощная система виртуализации рабочих нагрузок Linux и Windows для центров обработки данных; предлагает динамичную и защищенную платформу со всеми функциями, необходимыми для виртуализации традиционных корпоративных приложений, такими как живая миграция и создание снимков хранилищ.

Red Hat Enterprise Linux OpenStack Platform – высоко масштабируемое решение класса IaaS для построения гибких и открытых частных облачных решений корпоративного класса на основе технологии Red Hat OpenStack и платформы Red Hat Enterprise Linux. Будучи крупнейшим участником проекта OpenStack компания Red Hat использует свой многолетний опыт лидерства в сообществе разработчиков открытого ПО для создания корпоративной инфраструктуры частного облака. Эта инфраструктура идеально подходит тем, кто приступает к преобразованию рабочей нагрузки в масштабируемые и толерантные к задержкам приложения с встроенными механизмами обеспечения доступности.

Red Hat CloudForms – система управления открытым гибридным облаком, обеспечивающая наглядное представление и контроль над гетерогенными виртуальными инфраструктурами и предназначенная для развертывания, мониторинга и управления облачными услугами. Решение предлагает интегрированное управление жизненными циклами подготовки серверов и хранилищ, оптимизацию рабочих нагрузок, политики соответствия требованиям и аналитику для гетерогенных виртулизованных ЦОД и облачных сред. Red Hat CloudForms обеспечивает централизованное управление всеми нагрузками в корпоративной инфраструктуре с помощью политик и предоставляет средства для плавного перехода к новой модели информационных технологий.

Red Hat Satellite – дополняет CloudForms средствами управления жизненным циклом приложений и систем Red Hat Enterprise Linux, работающих в облачных и традиционных инфраструктурах, в том числе на физических серверах. Red Hat Satellite предлагает удобные средства подготовки новых систем, развертывания обновлений, управления конфигурациями и мониторинга производительности, которые значительно упрощает управление при масштабировании облачных сред. Возможности Red Hat Satellite позволяют автоматизировать стандартизацию операционных сред, что важно с точки зрения гибкости и динамичности облачных решений.


ЗАКЛЮЧЕНИЕ

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

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

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

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

Решение Red Hat предлагает вам инфраструктуру, которая подходит как для традиционных, так и для облачных приложений, а также развитые средства управления этой инфраструктурой как открытым гибридным облаком. С его помощью вы сможете переходить на новые архитектуры приложений в том темпе и на тех условиях, которые нужны именно вам, сохраняя полный контроль над ситуацией и IT-политиками. Red Hat Cloud Infrastructure – это мост в будущее для инфраструктуры и приложений вашей организации, двигаясь по которому они и дальше будут приносить пользу и открывать новые возможности для бизнеса.


Примечания

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

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

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

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

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