Андрей Колесов

Концепция Grid Computing (распределенные сети, или "решетки" вычислительных ресурсов) - одно из ведущих направлений развития информационных технологий. Год назад аналитическая компания IDC отметила его в числе самых перспективных, а в течение 2003 года многие ведущие мировые ИТ-поставщики (а следом за ними и специализированные СМИ) активно заговорили о поддержке Grid на уровне стандартов и продуктов. Вместе с тем очевидно, что пока эта технология еще находится в начальной стадии становления. Аналитики сравнивают нынешнюю ситуацию с Grid с состоянием сети WWW десять лет назад, при этом многие из них предсказывают, что Grid произведет такую же революцию в области обработки данных, какую Интернет произвел в сфере инфокоммуникаций.

От RAC 9i к Oracle 10g Grid

Корпорация Oracle (http://www.oracle.com) уже довольно давно объявила о намерении развивать свои продукты в направлении более широкого применения Grid-технологий, добавив при этом, что в обозначении следующей, десятой версии появится латинская буква g. Впрочем, особой новизны в таком объявлении не было: в платформенных решениях Oracle уже давно наметилась ориентация на распределенные вычисления на основе кластерных систем (в том числе на платформе Intel Itanium и Linux). Создавая новые версии СУБД и сервера приложений, Oracle рассчитывала с помощью "решеточных" вычислений повысить производительность, масштабируемость и надежность приложений, обеспечить большую сохранность данных при гибком управлении ресурсами (в том числе автоматическом) и вместе с тем снизить стоимость аппаратуры кластеров. Для решения этих задач были определены следующие четыре основные технологические направления.

Стандартизация. Один из основных способов снижения затрат - использование стандартных устройств для вычислений и хранения данных. Это означает, в частности, ориентацию на применение 64-разрядных процессоров Intel Itanium 2, Sun SPARC и IBM PowerPC, модульных (blade) серверов, сетевых систем хранения данных (NAS и SAN), высокоскоростных сетевых соединений, а также платформы Linux.

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

Автоматизация. В классическом варианте решетка Grid должна обеспечивать динамическое распределение всех ресурсов. Двигаясь в данном направлении, необходимо повышать уровень автоматизации этих процессов.

Оптимизация. Имеется в виду создание программных продуктов, изначально ориентированных на сетевые вычисления.

Еще в версии Oracle9i разработчики применили технологию Real Application Cluster (RAC), которая позволяет выполнять сложные приложения как на одиночных серверах, так и на кластерах с переменных числом узлов. В новых продуктах Oracle 10g, представленных в начале сентября 2003 года на конференции OracleWorld, Grid-архитектура фактически реализована на основе модернизированного и расширенного варианта RAC*.


*На момент написания этой статьи продукты версии 10g на рынке еще не появились; не ясна была и ценовая политика компании, касающаяся новых решений. По заявлению Oracle, коммерческие версии новых продуктов появятся в России одновременно с другими странами мира в конце 2003 - начале 2004 г. Так, 10 декабря было объявлено о начале поставок Oracle Application Server 10g.

Oracle Enterprise Manager 10g

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

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

Ключевой компонент Oracle Enterprise Manager 10g - приложение Oracle Grid Control, с помощью которого с единой консоли выполняется полный контроль и мониторинг распределенных вычислительных сред Oracle, от баз данных и приложений до устройств хранения данных. Oracle Grid Control использует "управляющий репозиторий", в котором хранятся данные о производительности, доступности и конфигурации вычислительных ресурсов всего предприятия. Консоль оснащена рядом функций для централизованного управления ресурсами и преобразования данных репозитория в наглядную информацию. В частности, администраторы могут использовать встроенную экспертную оценку оптимального планирования емкости, доступности и производительности распределенных вычислительных сред.

Пакет Enterprise Manager 10g создан на базе открытых стандартов управления, в том числе Common Information Model (CIM) и Web-based Enterprise Management (WBEM), разработанных рабочей группой по управлению распределенными средами (Distributed Management Task Force, DMTF).

Oracle Database 10g

Новая версия СУБД Oracle обладает множеством функциональных расширений, однако наиболее важные ее инновации связаны с применением Grid-архитектуры. В первую очередь речь идет об автоматическом управлении базами данных. Новое решение позволяет клиентам упростить построение крупномасштабных вычислительных систем из недорогих стандартных компонентов, таких, как кластеры модульных серверов и смонтированные в стойку системы хранения данных. Ряд усовершенствованных функций и новая консоль Database Control с Web-интерфейсом обеспечивают в Oracle Database 10g новый уровень автоматизации управления описанной инфраструктурой.

Основанная на продукте Oracle Enterprise Manager 10g консоль Database Control представляет собой диагностический монитор, отображающий в графическом виде текущее состояние базы данных. Администраторы могут проводить профилактический мониторинг БД и быстро получать предупреждения и рекомендации для обеспечения оптимальной производительности и надежности работы систем. Консоль Database Control может даже выявить неудачно написанный фрагмент кода приложения, предложить лучший вариант и автоматически настроить базу данных, чтобы добиться оптимальной производительности.

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

Новая версия RAC 10g представляет собой набор общих сервисов для обслуживания кластеров. Эти сервисы в Oracle Database 10g облегчают создание кластеров базы данных и управление ими. В составе RAC 10g используется новое средство управления рабочей нагрузкой кластеров, предназначенное для оперативного перераспределения вычислительных возможностей компонентов кластерной базы данных.

Oracle Database 10g включает также модуль автоматического управления хранилищем данных (Automatic Storage Management, ASM). Это новое ПО упрощает конфигурирование системы хранения данных и управление базами данных. Модуль ASM избавляет от необходимости знать о том, как база данных взаимодействует с файлами данных и подсистемами хранения данных. ASM автоматически распределяет нагрузку на систему хранения данных, повышая производительность системы и устраняя необходимость в постоянном мониторинге систем хранения на предмет поиска "точек повышенной загрузки" и узких мест, которые зачастую снижают скорость обработки данных.

Oracle уже наладила сотрудничество с ведущими разработчиками промышленных систем хранения данных, в частности с EMC, Hitachi, HP, Network Appliance и Xiotech, с целью обеспечить совместную работу модуля ASM с сетевыми устройствами хранения данных (NAS) и сетями хранилищ данных (SAN), которые предлагают эти компании.

Oracle Application Server 10g

Основные нововведения, появившиеся в сервере приложений Oracle Application Server 10g, тоже связаны с повышением эффективности приложений, выполняемых в распределенной вычислительной среде. Кроме того, в этом ПО промежуточного слоя улучшены средства интеграции и поддержка Web-сервисов.

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

Кроме того, Oracle Application Server 10g обладает новыми средствами повышения надежности корпоративных приложений, выполняемых на кластерах и в корпоративной сети распределенных вычислений. По сравнению с предыдущей версией усовершенствованы функции быстрого запуска при устранении отказа (Fast Start Fault Recovery Architecture) и средства оповещения об ошибках (Failure Notification, FaN), которые упрощают обмен информацией между базой данных и серверами приложений для координации процесса восстановления работоспособности после отказов, например, в случае выхода из строя аппаратных средств.

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

В Oracle Application Server 10g усовершенствованы возможности интеграции, благодаря чему можно использовать один программный продукт для интеграции класса "приложение - приложение" и "компания - компания", а также для интеграции Web-сервисов. Это позволяет создать в общекорпоративном масштабе единую модель данных, выступающую в роли информационного ядра.

В продукте имеются следующие новые инструменты интеграции:

  • средства описания и готовые сопрягающие модули для большинства приложений и данных, избавляющие от специализированной настройки и программирования;
  • средства интеграции по схеме "компания - компания", обеспечивающие безопасные транзакции между торговыми партнерами и поставщиками;
  • основанный на политиках механизм управления, оптимизирующий отношения с торговыми партнерами посредством поддержания соглашений, профилей и подробностей сотрудничества;
  • новые инструменты управления, основанные на моделях и событиях, оптимизирующие управление важными бизнес-процессами;
  • поддержка широкого набора основанных на стандартах интеграционных протоколов, таких, как EDI, RosettaNet (создание высокотехнологичной продукции) и HL/7 (здравоохранение), что позволяет обойтись без дорогостоящих специализированных технологий и отдельных решений для каждого интеграционного проекта.

Чтобы сделать создание и развертывание приложений более гибким, клиенты и партнеры Oracle могут использовать как поддержку технологии распределенных вычислений, так и усовершенствованную функциональность Web-сервисов, реализованную в Oracle Application Server 10g. Первый вариант позволяет оптимизировать процесс наращивания и распределения вычислительной мощности, второй облегчает повторное использование и интеграцию приложений.

Grid: история и современность

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

До широкого применения в бизнесе технология Grid в те времена не дошла. С одной стороны, сказались чисто технические причины - организовать динамическое перераспределение распределенных ресурсов для огромного числа разнородных задач было весьма непросто. С другой - актуальность самой проблемы отошла на второй план, так как именно в 1970-х начался небывало быстрый рост мощностей автономных компьютеров.

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

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

Тем не менее технология Grid с 60-х годов применяется для решения многих, в первую очередь ресурсоемких научных задач (например, связанных с расшифровкой генома человека). Поэтому если говорить о специфике нового этапа развития Grid (точкой отсчета которого можно условно назвать начало нынешнего столетия), то прежде всего нужно отметить возможности применения этой технологии для решения повседневных деловых задач, расширение круга заказчиков и поддержку со стороны ведущих ИТ-поставщиков, например, IBM, Hewlett-Packard, Microsoft, Oracle, Sun (см. О. Таковицкий. "Технология Grid Computing", "BYTE/Россия" No 7'2003).

В активности ИТ-компаний сегодня можно проследить два основных направления. Первое - это участие в глобальных международных научных проектах под руководством независимых исследовательских центров. Из наиболее известных сейчас можно упомянуть TeraGrid (США), ComboGrid (Великобритания), Datagrid (Европейский союз с участием России). Их важность для ИТ-индустрии заключается в том, что именно здесь формируются мировые Grid-cтандарты. Второе направление - формирование собственных коммерческих продуктов и технологий с учетом специфики позиционирования производителя на рынке.

В классическую концепцию Grid входят пять ключевых пунктов:

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

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

В частности, Sun и Oracle делают акцент на повышение уровня управляемости в Grid-кластерах, IBM реализует идеи Grid в рамках конкретных крупных проектов, HP - в своих программно-аппаратных решениях. Особняком тут стоит Microsoft, которая пока считает, что для начала нужно полностью использовать потенциал технологии Web-сервисов.

Однако Web-сервисы все же ориентированы на реализацию статической распределенной модели вычислений. По-видимому, в более полном варианте концепция Grid Computing в общем виде будет реализована в рамках архитектуры Open Grid Services Architecture, которая фактически должна привести к созданию динамических Web-сервисов. Эту работу ведут независимые организации Global Grid Forum (http://www.gridforum.org) и Globus Project (http://www.globus.org) при участии ведущих мировых ИТ-компаний.