Модели сервисов облачных вычислений: Часть 1. Инфраструктура как сервис

Познакомьтесь с ключевыми концепциями инфраструктуры как сервиса (Infrastructure as a Service – IaaS). IaaS предоставляет базовые сервисы, такие как виртуальные серверы, хранилища данных и базы данных, на одной платформе для разработки и выполнения приложений.

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

Дэн Орландо, главный исполнительный директор, Creative RIA

Дэн Орландо (Dan Orlando) – фотографияДэн Орландо (Dan Orlando) является признанным профессионалом в сообществе разработчиков корпоративных приложений. Его многолетняя деятельность в качестве консультанта и опыт работы с платформами Adobe, так же как и публикации на IBM developerWorks, Adobe Developer Connection и Amazon Web Services, очень востребованы лидерами отрасли. Дэн регулярно появляется в блоге на DanOrlando.com.



16.03.2012

Развить навыки по этой теме

Этот материал — часть knowledge path для развития ваших навыков. Смотри Облачные вычисления: Основы

В данной статье будет рассмотрена первая из трех моделей облачных сервисов – инфраструктура как сервис (Infrastructure as a Service – IaaS). Вот некоторые основные концепции IaaS:

  • Выгрузка в облако (Cloudbursting).
  • Вычисления с множественной арендой (Multi-tenant computing).
  • Организация пулов ресурсов (Resource pooling).
  • Гипервизор (Hypervisor).

Часто используемые сокращения

  • API: интерфейс прикладного программирования (Application Programming Interface).
  • IT: информационная технология (Information Technology).
  • ROI: окупаемость инвестиций (Return On Investment).
  • SLA: соглашение об уровне обслуживания (Service Level Agreement).
  • UI: пользовательский интерфейс (User Interface)

IaaS присущи два основных аспекта: эластичность (elasticity) и виртуализация (virtualization).

Значение IaaS

Главной ценностью IaaS с точки зрения бизнеса является концепция, называемая cloudbursting – процесс выгрузки задач в облако в период, когда необходимо максимальное количество вычислительных ресурсов. Потенциал экономии при этом очень велик, поскольку компании не нужно вкладывать средства в приобретение дополнительных серверов, загруженных на 70% мощности дважды или трижды в год, а в остальное время работающих с нагрузкой всего лишь 7-10%.

Но чтобы использовать эти преимущества IaaS, ИТ-отделы должны уметь создавать и внедрять программное обеспечение, способное перераспределять процессы в облако IaaS. При создании и внедрении программного обеспечения, управляющего такими процессами перераспределения, нужно учитывать четыре важных фактора:

  • Разработка приложений для закрытого IaaS-облака конкретного поставщика может стать дорогостоящей ошибкой, если этот поставщик прекратит свою деятельность.
  • Сложность хорошо написанного программного обеспечения для перераспределения ресурсов высока и обычно требует наличия первоклассных разработчиков, которые стоят недешево. Вы сэкономите себе и своей организации много времени, нервов и непредвиденных затрат, вкладывая средства в самые лучшие ресурсы, которые только сможете найти.
  • Что вы будете отправлять в облако для обработки? Отправка персональных данных, финансовой информации и данных о медицинском обеспечении может быть рискованной для организации с точки зрения соблюдения требований нормативных документов, таких как закон Сарбейнса-Оксли, закон Payment Card Industry (PCI) или Health Insurance Portability and Accountability Act (HIPAA).
  • Важно понимать опасность переноса в облако процессов, являющихся критически важными для повседневной работы компании. Рекомендуем создать таблицу, в одном столбце которой будут размещены процессы, затрагивающие данные, критичные в плане соответствия нормативным документам, во втором – задачи, критичные для ведения бизнеса, а в третьем – некритичные задачи. Перенос следует планировать только для тех элементов программного обеспечения, которые размещены в третьем столбце.

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

В настоящее время не существует открытой спецификации, разработанной каким-либо органом по стандартизации. Другими словами, отсутствует стандартизированный формат, что больше всего усложняет ситуацию, поскольку нет никаких гарантий какой-либо поддержки выбранного вами формата. Однако стоит отметить, что зачастую существует возможность перенести виртуальную систему в другой формат при условии открытости спецификации этого формата и наличия доступа к ней. Обнадеживает недавно достигнутый значительный прогресс в поддержке формата Open Virtualization Format (OVF), который является прекрасным кандидатом на то, чтобы стать стандартом. Еще одним таким кандидатом является формат Virtual Machine Disk (VMDK). VMDK первоначально был собственностью VMware, но в настоящее время он является открытым и поддерживается многими поставщиками.


Инфраструктура как актив

Чтобы проиллюстрировать эволюцию облачных вычислений, рассмотрим развитие автомобильной промышленности за последние пять десятилетий. Конкурентным преимуществом для производителей автомобилей в 1960-1970 годы чаще всего было количество лошадиных сил и величина крутящего момента, которые можно было втиснуть в автомобиль. Однако в 1980 годы эта парадигма утратила актуальность, и на рынке произошел переход от парадигмы "инфраструктура как актив" к парадигме "инфраструктура как сервис".

Точно так же подавляющее большинство успешных компаний за последние 50 лет потратили много драгоценного времени и ресурсов на построение инфраструктуры, нацеленной на получение дополнительных конкурентных преимуществ, создавая более крупные, быстрые и надежные сети, чем у конкурентов. Парадигма "инфраструктура как актив" в ИТ-области имеет ряд таких же негативных с точки зрения эффективности аспектов, как и мощные автомобили 60-х и 70-х годов. Что касается корпоративных вычислений, то среди таких аспектов следует отметить:

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

Чтобы облегчить понимание трех категорий облачных вычислений, я создал перекрестную матрицу концепций (см. таблицу 1). Парадигма – это модель, которой следует большинство пользователей. Как упоминалось ранее, IaaS означает переход от парадигмы "инфраструктура как актив" к парадигме "инфраструктура как сервис". Две другие категории облачных вычислений, приведенные в таблице 1, также означают изменение парадигмы. PaaS (платформа как сервис) – это замена парадигмы "платформа как актив", требующей приобретения большого количества лицензий. То же можно сказать и о SaaS (программное обеспечение как сервис), которая является заменой парадигмы "программное обеспечение как актив" в форме лицензий на программное обеспечение, предоставляемых как сервис. Более подробная информация о PaaS и SaaS приведена во второй и третьей частях данной серии статей.

Таблица 1. Перекрестная матрица концепций трех категорий облачных вычислений
Заменяемая парадигмаХарактеристикиОсновные понятияПреимуществаНедостатки и рискиКогда не стоит использовать
IaaSИнфраструктура как активОбычно не зависит от платформы; расходы на инфраструктуру разделяются и, следовательно, снижаются; соглашения SLA; оплата по факту использования; автоматическое масштабирование.Распределенные вычисления (grid computing), вычисления как коммунальная услуга (utility computing), вычислительный экземпляр (compute instance), гипервизор (hypervisor), выгрузка в облако (cloudbursting), вычисления с множественной арендой (multi-tenant computing), организация пулов ресурсов (resource pooling).Снижение капиталовложений в аппаратное обеспечение и трудовые ресурсы; снижение риска потери инвестиций; низкий порог внедрения; плавное автоматическое масштабирование.Бизнес-эффективность и производительность очень зависят от возможностей поставщика; потенциально большие долгосрочные расходы; централизация требует новых/других подходов к мерам безопасности.Когда капиталовложения превышают текущие расходы.
PaaSПриобретение лицензийПотребляет инфраструктуру облака; обеспечивает методы динамичного (agile) управления проектами.Стек решений (solution stack).Плавное развертывание версий.Централизация требует новых/других мер безопасности.Отсутствует
SaaSПрограммное обеспечение как актив (бизнеса и потребителя)Соглашения SLA; пользовательский интерфейс, предоставляемый приложениями тонких клиентов; компоненты облака; взаимодействие посредством API; не сохраняющий состояние (stateless); слабосвязанный (loosely coupled); модульный; семантическая совместимость.Тонкий клиент; клиент-серверное приложение.Снижение капиталовложений в аппаратное обеспечение и трудовые ресурсы; снижение риска потери инвестиций; плавное итеративное обновление.Централизация данных требует новых/других мер безопасности.Отсутствует

Основные аспекты IaaS

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

Маловероятно, что Интернет станет единым облаком (по крайней мере в ближайшем будущем), поскольку стандарты облачных вычислений отсутствуют, а поставщики предпринимают попытки долгосрочной капитализации путем привязки пользователей. Тем не менее облачные вычисления не развились бы до текущего состояния, если бы не было инноваций в духе капитализма. Возможно, когда-нибудь Интернет действительно станет единым взаимосвязанным облаком, в котором виртуальные машины смогут без усилий переноситься в облако независимо от формата файлов, а взаимосвязанные кластеры виртуальных машин будут управляться поставщиками сервисов через единый интерфейс. Но этот день настанет не скоро. А пока мы будем рассматривать Интернет как систему, состоящую из множества облаков. (Примечательно, что для хранения этой статьи я использую облако Apple MobileMe, чтобы иметь возможность работать над ней на различных устройствах).

Знакомьтесь: эластичная инфраструктура

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

Хотя все это звучит как рецепт из книги доктора Сьюзза (Dr. Seuss), такая метафора облегчает понимание концепции эластичной кластеризации, которую многие считают черной магией. Кластеризация физических серверов с целью формирования виртуального облака известна как облачная кластеризация (cloud clustering), и если бы она действительно была черной магией, мастерство мага измерялось бы масштабируемостью структуры системы.

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

Это именно тот тип проблем, которые можно легко решить при помощи IaaS. Фактически, используя IaaS, можно выполнить анализ всей переписи населения за час. Можно начать с создания одного экземпляра сервера, содержащего систему управления базами данных для выполнения запросов к данным. Этот экземпляр называется образом (image).

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

Теперь, когда вы познакомились с концепцией эластичности, рассмотрим второй важный аспект IaaS – виртуализацию.

Виртуализация машин

У Сергея Брина (Sergey Brin) и Ларри Пейджа (Larry Page), создателей Google, в 1995 году родилась правильная идея, когда они вечерами рылись в мусорных баках за факультетом компьютерных наук Стэнфордского университете, извлекая из них выброшенные компьютерные запчасти. Они приносили эти запчасти, основанные на архитектуре x86, в свою комнату студенческого общежития, и подключали к машине "Франкенштейн", на которой был размещен легендарный Web-паук, индексировавший всю сеть компьютеров Стэнфорда.

В настоящее время, по некоторым оценкам, Google имеет более 1 миллиона x86-серверов в 12 крупных центрах обработки данных и примерно 20 центрах меньшего размера, расположенных на различных континентах. Это очень большое облако. Масштабирование существа из студенческой комнаты, рожденного в 1995 году, до миллиона серверов современной сети Google стало возможным благодаря двум ключевым факторам дизайна системы. Во-первых, Google по сей день продолжает использовать недорогие x86-компоненты вместо намного более дорогих компонентов корпоративных серверов, применяемых в центрах обработки данных многих компаний. Во-вторых, восстановление после сбоев, резервирование, мониторинг, кластеризация и другие задачи управления инфраструктурой обрабатываются системой виртуализации, работающей под уровнем операционной системы, а не отдельным специализированным оборудованием, таким как распределители нагрузок.

IaaS легко определить, поскольку она обычно не зависит от платформы. IaaS состоит из комбинации ресурсов аппаратного и программного обеспечения. Программное обеспечение IaaS представляет собой низкоуровневый код, выполняющийся независимо от операционной системы и называемый гипервизором, который отвечает за инвентаризацию аппаратных ресурсов и распределение их по требованию (см. рисунок 1). Этот процесс называется организацией пулов ресурсов (resource pooling). Организация пулов ресурсов гипервизором делает возможной виртуализацию, а виртуализация делает возможными вычисления со множественной арендой (multi-tenant) – совместное использование инфраструктуры несколькими организациями со сходными интересами в области требований к защите и соблюдения нормативов.

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

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


Заключение

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

Ресурсы

Научиться

Получить продукты и технологии

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления, Information Management
ArticleID=803535
ArticleTitle=Модели сервисов облачных вычислений: Часть 1. Инфраструктура как сервис
publish-date=03162012