В статье рассматривается возможность использования технологий Grid для построения распределенных систем автоматизированного проектирования. На основе анализа особенностей Grid-технологий и основных принципов построения распределенных систем рассмотрены вопросы как основные требования к системе могут быть реализованы при помощи Grid и какие требования Grid-технологии предъявляют к приложениям.
У истоков вычислительных систем стоят системы, основанные на простейших моделях, в которых все вычислительные мощности сосредотачивалась в главном окне, а клиентская сторона представлялась отдельным терминалом, не имеющим собственных вычислительных мощностей, из-за чего стоимость аппаратуры и ее обслуживание были высоки.
При расположении данных и всех вычислительных ресурсов в одном центре позволило снизить стоимость обслуживания приложений. Кроме того, распределение по времени вычислительных мощностей центрального узла было наиболее эффективным, что обеспечивало выравнивание нагрузки на сервер.
Долгое время эта модель была эффективной, за это время разработано множество решений, и ее эра закончилась из-за экономических, а не технологических причин. С распространением дешевых персональных компьютеров был произведен перенос части вычислительных задач с самого сервера на персональный компьютер. Это и стало толчком для создания нового типа модели, доминирующей целых два десятилетия. Данная архитектура «клиент-сервер» намного снизила нагрузку на сеть, связанную с передачей данных, и увеличила скорость их обработки. Локальные вычисления и хранение данных на самом персональном компьютере осуществлялось эффективнее чем при помощи медленных и недешевых сетей того времени.
Но и этап данной модели был пройден в силу экономических факторов, предпосылкой послужило изменение стоимости передачи данных по сети. В связи с этим появилась возможность снизить нагрузку на терминал (персональный компьютер) и снова перенести ее на сервер. Взрывное развитие Internet, появление приложений удаленного доступа с Web-интерфейсом и снижение стоимости передачи данных привели к созданию сначала трехуровневой, а затем и распределенной модели вычислений. Трехзвенная модель предполагает разделение данных и процедур по разным серверам, каждый из которых выполняет наиболее подходящую для него работу. Такой архитектуре принадлежат модели, основанные более чем на одном сервере СУБД или сервере приложений.
Развитие технологий «grid» для вычислительных задач. На их основе был выбран путь параллельного исполнения сложных задач на множестве связанных небольших дешевых компьютеров. За время существования ИТ-индустрии в нее владывались огромные средства, и многие руководители предприятий после кризиса западной экономики в 2000-2003 годах задумались об эффективности вложений в данную систему. Вопрос состоял не в сокращении расходов, а в максимально эффективном использовании инвестиций. При этом руководители и владельцы бизнеса были готовы вкладывать инвестиции в дополнительные средства для создания нового поколения эффективных ИТ-систем, не подверженных недостаткам систем предыдущих поколений.
Платить лишь за оказание услуг и беспрепятственно манипулировать ИТ-ресурсами желали многие. В данный период гонки за этой идеей закрепилось название «grid», ранее имевшее применение только в научных кругах.
«grid» для бизнеса — это система, включающая набор технологий, программных и аппаратных решений и бизнес-процессов. Основой ее служит распределение вычислительных мощностей на множестве недорогих серверов, объединенных в единое целое, в единую сеть. Главной характеристикой такой системы также является распределение ресурсов «по требованию» между различными задачами.
По своей природе бизнес-приложения сильно отличаются от вычислительных задач. При этом такие системы масштабируются до гораздо более высокого уровня производительности. Несмотря на возможность распределения вычислительных ресурсов бизнес-приложений, остается проблема, которую пока очень трудно уложить в структуру «grid» для бизнеса, — СУБД.
Существует несколько моделей, которые учитывают особенности поведения СУБД в «grid»-средах, например технологии «Oracle». Основная же проблема заключается в том, что кластеры оптимально работают только при идеальном распределении запросов между их узлами.
Возможна ситуация, когда данные при изменении на первом узле, еще не сброшены на общий диск и находятся в оперативной памяти этого сервера. Если запрос к этим данным поступает на второй узел, то через сетевой интерфейс запрашивается первый узел, который в данный момент сбрасывает данные на общий диск, откуда же второй может их считать. В результате вместо одной простой, но медленной операции — чтение с диска, выполняется две.
В связи с данной проблемой разработана технология, суть которой состоит в том, что необходимые данные передаются на другой узел по быстрому сетевому соединению. В результате возрастает общая производительность системы (по некоторым оценкам, до 40%), так как полностью исключаются все медленные операции с дисками. При этом данные уже как бы находятся в кэше первого узла и могут быть быстро переданы на второй. С небольшими добавлениями, данная технология стала основой «Oracle10g».
Многие системы имеют различные подходы: либо реализуется общий доступ к памяти всех процессоров и задач, либо каждый узел имеет собственный массив памяти, в «Oracle» же была реализована смешанная архитектура: кэши являются общими для всех узлов, а все остальные задачи ссылаются на индивидуальные массивы памяти на узлах. Теоретически получается, что производительность увеличивается за счет преумножения процессоров для одного сервера.
Как показывают последние анонсы развития ИКТ главным для «grid»-стратегии на сегодня является идея адаптивности. Самый увлекательный путь решения данной задачи предложила компания SAP. Среди разработчиков этой компании нашлись люди, понимающие, что после разрешения всех сегодняшних технических сложностей в мире «grid» возникнет проблема взаимодействия решений на всех уровнях. Предположим, все проблемы решены и у вас в «grid»-среде есть два сервера от разных производителей. Будут ли они совместно балансировать нагрузку? Скорее всего, даже на аппаратном уровне эти системы окажутся несовместимыми.
Несмотря на трудности технической реализации и координации усилий игроков, у grid-решений для бизнеса есть важное свойство, которое делает их пришествие неизбежным. Это экономически более эффективная модель, чем предыдущие идеи, которые можно свести к построению инфраструктуры ИТ за счет «повторного» использования вычислительных ресурсов при изменении бизнес — запросов и упрощения системы администрирования.
Уже ясны основные характеристики реальной «grid»-архитектуры и требования к ней:
- «grid» — это методология и технология, объединяющая большую часть современной компьютерной инфраструктуры (серверы, хранилища данных, приложения, системы управления и т.п.);
- с точки зрения технологий «grid» не является ни готовым продуктом (или набором продуктов), ни компонентом какого-либо продукта или сервиса, но способом организации инфраструктуры, основанным на распределенной архитектуре и динамическом распределении нагрузки всего набора приложений;
- с точки зрения потребителя, «grid» — это сервис, обеспечивающий необходимые вычислительные ресурсы «по требованию» («grid»-система не нуждается в регулярной перенастройке при изменении списка задач или уровня нагрузки, при этом сложность решения скрыта от потребителя, и он оплачивает только оказанные ему услуги, а не стоимость инфраструктуры).
«grid» строится на основе уже существующих технологий и будет состоять из набора сервисов, зарегистрированных в депозитарии, который должен описывать систему (каждый сервис доступен, разделяем, управляем и за пользование каждым ресурсом может быть выставлен счет потребителю).
Необходимым требованием является соответствие индустриальным стандартам, которое обеспечит работу компонентов любого производителя. Эти сервисы будут в достаточной степени защищенными, отказоустойчивыми и быстродействующими.
Три «кита» автоматизации динамического перераспределения ресурсов центра данных в ответ на требования бизнеса таковы:
- управление конфигурациями и изменениями ИТ-инфраструктуры;
- моделирование и адаптация ИТ-сервисов под нужды бизнеса в динамике;
- анализ доступных ИТ-ресурсов и реализация изменений в конфигурации ИТ.
Управление конфигурациями и изменениями ИТ-среды — центральный процесс ИТ-службы. Он предоставляет ресурсы инфраструктуры (серверы, системы хранения, пропускная способность сети, приложения) для реализации определенного ИТ-сервиса (например, обработка финансовых транзакций или корпоративной системы электронной почты). Отличительной чертой управления конфигурациями и изменениями является автоматизация этих операций на базе модели «желаемого состояния», а не с помощью скриптов, описывающих возможные ситуации в ИТ-инфраструктуре.
Система позволяет конфигурировать пользовательские рабочие места или серверы организации и автоматически отслеживает соответствие изначально заданной схеме. Например, «желаемое состояние» ИТ-инфраструктуры может определять следующее: на каждом ПК в отделе продаж должна быть установлена последняя версия почтового клиента «Microsoft Outlook». Система будет автоматически контролировать выполнение этого условия и при необходимости настраивать конфигурацию систем.
Важным критерием является и возможность изменения описаний «желаемого состояния», в соответствии с которыми будет настраиваться система управления конфигурациями. Система должна задействовать средства мониторинга и анализа производительности бизнес-приложений (чтобы выявлять новые требования), а также средства моделирования и автоматической настройки ИТ-сервисов (чтобы задавать изменение параметров конфигурации). Еще одна задача системы — оптимизация загрузки ресурсов центра данных. Анализ параметров использования серверных мощностей и систем хранения в режиме реального времени, их сравнение с заданными шаблонами загрузки в совокупности с применением инструментов перераспределения ресурсов позволяют избежать простоев и перегрузок аппаратных систем.
Система должна работать с моделями трех типов — бизнес-процесса, ИТ-сервисов и «желаемого состояния» ИТ-конфигураций. Переходя от модели к модели, от уровня к уровню, система детализирует информацию об изменении требований бизнес-приложения, трансформируя ее в реальные действия по изменению конфигурации ИТ-ресурсов, поддерживающих это бизнес-приложение (см. рис.1).
бизнес-процесс | Мониторинг бизнес-процесса и приложений
Моделирование ИТ-сервиса и автоматизация процессов ИТ-службы
Конфигурирование программного обеспечения и автоматизация выделения ресурсов |
политика | |
процесс ИТ-службы | |
политика | |
программное обеспечение | |
серверы, системы хранения, сеть |
Рис. 1. Три уровня функциональности.
Основные возможности системы:
- анализ результатов мониторинга производительности бизнес-приложений, моделирование соответствующих ИТ-сервисов и предсказание будущих требований;
- динамическое предоставление ИТ-ресурсов в неоднородной среде центра данных;
- непрерывный контроль над соответствием конфигурации ИТ-инфраструктуры заданным политикам.
Для динамического перераспределения ИТ-ресурсов необходимо обращение к системе управления изменениями и конфигурациями, а также к инструментарию управления ресурсами.
Были созданы средства анализа ИТ-ресурсов, доступных для поддержки новых бизнес-требований. Эти средства учитывают текущую загрузку и другие ограничения центра данных. Такой программный инструментарий должен определять не только доступную емкость (число процессоров и объемы памяти) и особенности поведения сложных аппаратных систем, но и возможности разных операционных систем. Кроме того, он должен предотвращать конфликты между ними. И все это — при условии соблюдения множества ограничений, обеспечивающих нормальную работу ключевых систем центра данных. Для решения указанных проблем разработаны технологии, которые реализуют три основные функции:
- Компоновка ресурсов на базе политик. Пользователи получают возможность формирования моделей компоновки систем центра данных на базе заданных правил и лучших практик. Это позволяет автоматизировать создание конфигураций, соответствующих заданным политикам.
- Управление мощностями центра данных. Используются алгоритмы планирования и управления объемами ресурсов, позволяющие отслеживать сложные требования к ресурсам и реагировать на них.
- Назначение ресурсов. Применяются математические методы, гарантирующие, что новые приложения получат требуемые ресурсы и что добавление этих приложений к разделяемому пулу ресурсов не создаст «узких мест».
Система должна поддерживать динамическое выделение на базе заданных политик сервера, включая операционную систему, приложения, контент в различных форматах и системные параметры. Кроме того, существуют средства выделения мощностей серверов на основе специальных критериев (типа информации о шасси и слотах сервера). Системе необходимо поддерживать возможность параллельного развертывания образа одной и той же операционной системы на множестве устройств, а также специальные шаблоны, служащие для ускорения и упрощения установки и конфигурации ряда популярных программных систем (Web-сервер «Apache», серверы приложений «BEA WebLogic и «IBM WebSphere», серверы баз данных «Microsoft SQL Server» и «Oracle», системы «Microsoft Internet Information Server и Exchange Server» и др.).
Ее возможности можно проиллюстрировать на примере деятельности финансовой фирмы. В определенный момент на ней происходит всплеск активности операций по вкладам, вызывающий серьезные перегрузки в ИТ-инфраструктуре. Получив сигнал о замедлении выполнения операций, система проанализирует поддерживающие этот процесс ИТ-ресурсы, существующие соглашения об уровне обслуживания, а также, возможно, некоторые «исторические» данные о производительности приложения. На основании этой информации будет выделен дополнительный сервер, который примет на себя часть нагрузки от приложения обработки финансовых транзакций. Когда напряженность ситуации снизится, система переконфигурирует инфраструктуру.
Использование централизованной базы данных конфигурационного управления, в которой собирается вся информация о разнородных ресурсах центра данных и их конфигурациях, является необходимым условием для получения единого представления об ИТ-операциях, для управления загрузкой и динамического выделения ресурсов под нужды приложений.
Система «Grid»— открытая модульная система, базирующаяся на принципах сервис-ориентированной архитектуры. Она опирается в своей работе на внешние инструменты управления ИТ-инфраструктурой, прежде всего — на механизмы мониторинга производительности бизнеса, управления конфигурациями и системами центра данных. По заявлениям HP, продукт может интегрироваться не только с модулями семейства «OpenView», но и с решениями других поставщиков и позволяет клиентам пользоваться уже имеющимися у них системами. Это реальный инструмент динамического выделения и перераспределения в интересах бизнеса консолидированного пула ресурсов центра данных.
Развитие технологий перераспределения ресурсов, вопрос которого особенно остро стоит в связи с развитием и усложнением коммерческих вычислительных систем, идет по пути реализации концепции «Grid». При этом не следует забывать о безопасности перераспределяемых ресурсов, особенно информационных ресурсов.