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

Экспансия серверов

Модель клиент-серверных вычислений позволяет развертывать серверы в крупных организациях десятками тысяч по принципу «отдельный компьютер – каждому приложению». Например, Intel использует почти сто тысяч машин только для проектирования микросхем и приложений имитационного моделирования. К сожалению, при таком огромном числе серверов возникает проблема «экспансии серверов» (server sprawl). Большинство серверов должны быть доступны круглосуточно и ежедневно, но таким большим количеством разнообразного аппаратного и программного обеспечения трудно управлять, его сложно поддерживать, что сводит на нет все преимущества выделения приложениям относительно недорогих компьютеров. Более того, эти серверы используются неэффективно, в лучшем случае они загружены на 5-20%. Количество энергии, потребляемой столь значительным числом машин, стало создавать серьезную угрозу для окружающей среды, а расходы на электроэнергию выросли настолько, что счета за электричество, которые при рассмотрении вопроса о бюджетах служб центров обработки данных раньше считались факторами второго порядка, теперь в общей стоимости владения превосходят закупочные расходы.

ИТ, ориентированные на бизнес

Польза для бизнеса не определяется количеством серверов, применяемых в компании, и постепенно отношение к ИТ стало меняться – первостепенное значение начали придавать не технологическим активам, таким как серверы, а бизнес-сервисам. Сервис может быть широкомасштабным (например, поддержка Automatic Data Processing для процесса начисления зарплаты в компаниях, входящих в список Fortune 500) или небольшим, таким как отдельная транзакция PayPal при покупке на eBay. Его могут поддерживать сторонние подрядчики либо реализовывать внутри компании, он может быть как структурированным, так и неструктурированным.

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

Функции ИТ, определяемые в терминах бизнес-сервисов, а не технологических возможностей, называют сервис-ориентированными. Одновременно, в рамках новой парадигмы интеграции, рождается стратегия поддержки сложной структуры сервисов, предусматривающая рекурсивное объединение нетривиальных сервисов (из менее сложных в более сложные). Композитные приложения поддержки таких сервисов вызываются через четко определенные прикладные программные интерфейсы, самым предпочтительным из которых сейчас является WS*. В таких приложениях отражается вся эволюция в ИТ и можно обнаружить различные параллели с объектно-ориентированным программированием и программной инженерией, включая программы как сервис (Software as a Service, SaaS), платформа как сервис (Platform as a Service, PaaS) [1] и оборудование как сервис (Hardware as a Service, HaaS) [2].

Превращение ИТ в организацию, ориентированную на бизнес-сервисы, требует выполнения трех основных условий:

  • приложения не должны зависеть от операционной системы и аппаратной платформы;
  • данные не должны зависеть от приложений;
  • компоненты приложений должны поддерживать динамическое поведение для того, чтобы их можно было легко реорганизовывать и переориентировать.

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

Виртуальные сервисные среды

Эволюция и слияние трех технологий –виртуализации, сервис-ориентированной архитектуры (SOA) и grid – закладывают фундамент для организации подразделения ИТ, ориентированного на сервисы.

Виртуализация

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

Еще первые мэйнфреймы использовали виртуализацию для эмуляции значительно большего по размеру виртуального пространства, чем ограниченная физическая память. Сейчас эта технология применяется в центрах обработки данных для решения проблемы «экспансии серверов». Если при работе определенного приложения машина загружена всего на 5%, то можно без труда поддерживать работу 10 ее виртуальных экземпляров. Как правило, виртуализация позволяет повысить уровень загрузки до 50–70% с соответствующей отсрочкой капиталовложений в аппаратное обеспечение, хотя внедрение виртуализации на тысячах серверов – задача нетривиальная.

Согласно прогнозам аналитиков IDC, в 2009 году число виртуализованных серверов превысит количество физических устройств (рис. 1).

SOA

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

В SOA сервисы могут предоставляться несколькими поставщиками. При правильной реализации сервисы становятся взаимозаменяемыми, и пользователь может заменить провайдеров, а сервис по-прежнему будет работать. Сервисы также предоставляют механизм связывания, или контракт, который можно согласовать непосредственно в момент вызова сервиса. Эта возможность повышает уровень интеграции и гибкости приложений. Механизм связывания может включать в себя функциональные спецификации для элементов, которыми обмениваются сервисы, а также может содержать нефункциональные спецификации, обычно для элементов, связанных с качеством обслуживания (Quality of Service, QoS) или соглашениями об уровне обслуживания (Service Level Agreement, SLA). Позднее связывание значительно улучшает интеграционную гибкость приложений, позволяя быстро их объединять без дополнительной разработки. При таких возможностях приложения и инфраструктура ИТ могут адаптироваться к бизнесу с необходимой скоростью.

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

grid

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

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

Grid для виртуальных сервисов

Рис. 2. Концептуальная диаграмма VSG. Сервисы для инициации бизнес-процесса размещаются в динамически резервируемых и управляемых виртуальных машинахОбъединение виртуализации и SOA с технологией grid выводит последнюю за рамки ее первоначального применения исключительно в высокопроизводительных научных и инженерных приложениях – сегодня возникают экономические экосистемы из крупных сообществ пользователей, применяющих grid. Среди подобных сообществ есть как уже устоявшийся бизнес, так и «стартапы», использующие облачные вычисления от Amazon.com и Elastic (Enomaly Computing Platform).

Мы называем такие среды grid-системами, ориентированными на виртуальные сервисы (Virtual Service-oriented Grid, VSG). В подобных средах каждый сервис бизнес-процесса размещается в динамически резервируемой и управляемой виртуальной машине. Базовая вычислительная среда grid (объединяющая вычислительные ресурсы, сеть и средства хранения) предоставляет физические ресурсы для поддержки виртуальных машин (рис. 2). Приложения лишь слабо связаны с вычислительным аппаратным обеспечением и никак не связаны с его местонахождением. Такая структура работает очень динамично, а ресурсы для каждого вызова сервиса в идеале резервируются «на лету».

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

Рыночные позиции VSG

Среды VSG уже существуют, даже несмотря на то что сервисные ИТ еще далеко не столь распространены, как унаследованные приложения. Как и в любом новом деле, переход на новую среду потребует предварительных инвестиций.

В рамках традиционной парадигмы бизнеса любой новичок должен опасаться таких предварительных инвестиций, и в каждом конкретном случае затрачиваются разные усилия. Те, кто первыми начали работать в новой области, со временем приобретают все большие преимущества, и новичкам выйти на этот рынок уже труднее и дороже. В конце концов это приводит к консолидации (монополизации) и вытеснению из бизнеса более слабых новых игроков. В случае с VSG динамика будет обратной [3]. Крупные компании с хорошей капитализацией разрабатывают и публикуют API, отражающие их сферу компетентности. Эти компании уже сделали предварительные инвестиции в экосистему VSG. Более мелкие фирмы могут пойти по следами крупных, предлагая первоначальный портфель виртуальных сервисов и используя уже имеющиеся в VSG сервисы. В конце концов некоторые мелкие компании смогут предложить на рынке свои уникальные и востребованные сервисы, иногда способные открыть новые возможности для бизнеса [4].

Примеры крупных предприятий, одними из первых начавшие работать в этой области, хорошо известны: Amazon, Google, eBay и PayPal. Предложенная этими компаниями межкорпоративная интеграция привлекла сотни тысяч более мелких компаний, например, Amazon предлагает инфраструктуру Elastic Compute Cloud (EC2), представляющую собой вычислительные ресурсы, которыми пользователь управляет и контролирует их через интерфейс Web-сервисов вплоть до выгрузки и перезапуски приложений. Amazon Associates Web Service позволяет партнерским книготорговым компаниям совместно использовать ресурсы: Amazon может увеличить свои внутренние реестры книг за счет тысяч книг книготорговцев по всему миру. С другой стороны, более мелкие торговые компании получают возможность бесконфликтно расширять свои предложения с помощью других поставщиков из экосистемы Amazon. Кроме того, Amazon открыла некоторые из своих внутренних процессов, предоставив API Web-сервисов, такие как Amazon DevPay, сервис управления биллингом, бухгалтерскими расчетами и прохождением заказов (Amazon Fulfillment Web Service).

Точно так же eBay и PayPal поддерживают участие миллионов небольших или даже временно занимающихся этой деятельностью компаний, допуская публикацию их предложений на eBay и использование их WS* API для сервисов оплаты, а также управления биллингом и бухгалтерией. Таким компаниям не придется тратить время и вкладывать средства в автоматизацию функций, уже давно реализованных в eBay и PayPal, – они могут начать бизнес всего лишь с нескольких щелчков мыши и минимального кодирования (или вообще обойтись без кодирования), не говоря уже о расходах на создание инфраструктуры центра обработки данных. За счет снижения затрат в расчете на транзакцию экономическая система становится более эффективной в целом, поэтому в выигрыше оказываются все участники.

Трудности разработки

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

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

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

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

Литература

  1. G. Yohanan, J. Hahn-Steichen, and J. He, Orchestrating Computing Objects Using Web-Services Technologies – An Intel IT Proof of Concept (POC). Proc. IEEE Int’l Conf. e-Business Eng. (IBECE 06), IEEE CS Press, 2006, pp. 78–85.
  2. W.T. Tsai, Service-Oriented System Engineering: A New Paradigm. Proc. IEEE Int’l Workshop Service-Oriented System Engineering (SOSE 05), IEEE CS Press, 2005, pp. 3–8.
  3. E. Castro-Leon, J. He, M. Chang, Scaling Down SOA to Small Businesses. Proc. IEEE Int’l Conf. Service-Oriented Computing and Applications (SOCA 07), IEEE CS Press, 2007, pp. 99–106.
  4. E. Castro-Leon et al., The Business Value of Virtual Service Oriented Grids: Strategic Insights for Enterprise Decision Makers. Intel Press, 2009.

Энрике Кастро-Леон (enrique.g.castro-leon@intel.com) – корпоративный архитектор и специалист по технологическим стратегиям компании Intel,

Джексон Хи (jackson.he@intel.com) – корпоративный архитектор компании Intel.


Средства управления сервисами

SOA – это живой организм, способный адаптироваться к изменениям в бизнесе, и чем активнее внедряются принципы SOA в ИТ-инфраструктурах поддержки бизнеса, тем критичнее проблема контроля над работой Web-сервисов. http://www.osp.ru/os/2006/04/2053309


Рис. 1. Виртуализованные и обычные серверы