КОНФЕРЕНЦИИ
Прошедшая c 7 по 11 сентября в Сан-Франциско технологическая конференция OracleWorld разительно отличалась от прошлогодней (см. PC Week/RE, N 27/2002, с. 16). Если тогда речь шла в основном об освоении решений и технологий Oracle ( www.oracle.com ), уже представленных на рынке, то сейчас мы стали свидетелями анонса следующего поколения базовых продуктов корпорации Oracle Database 10g, Oracle Application Server 10g, Oracle JDeveloper 10g и Oracle Enterprise Manager 10g. Более того, и это подчеркивается заменой в их названиях буквы i на g, указанные продукты призваны сформировать принципиально новую платформу для корпоративных приложений, базирующуюся на концепции grid-вычислений.
Grid grid’у рознь
Эта концепция родилась еще в 60-х годах прошлого столетия и развивалась по большей части научными организациями. Ее идея очень проста. В мире есть множество компьютеров, и на отдельных отрезках времени большая часть из них не загружена никакой работой. Почему бы не использовать их свободные ресурсы для решения некой трудоемкой задачи? Сложность реализации подобной идеи во многом зависит от типа решаемой задачи. Одно дело, если она допускает разбиение на относительно независимые подзадачи, другое - когда необходим интенсивный обмен информацией между компьютерами, когда выполнение подзадач требует взаимной координации и когда надо обеспечить быстрый отклик на запросы многочисленных пользователей.
Происхождение самого термина grid довольно туманно. В буквальном переводе это решетка или сетка, и вполне можно себе представить все доступные вычислительные ресурсы в виде узлов некой глобальной решетки. Во избежание путаницы функции передачи данных сохранены за сетью (network). Но если сеть характеризуется прежде всего своими транспортными характеристиками (связующими звеньями), то решетка - производительностью узлов. Другое толкование восходит к power grid - единой энергосистеме, предоставляющей включившему бытовой прибор в розетку потребителю электроэнергию стандартного номинала. При этом все детали генерации на множестве территориально распределенных электростанций и доставки энергии остаются для потребителя скрытыми. По аналогии с системами энерго- и водоснабжения говорят даже о предоставлении вычислительных ресурсов как коммунальной услуги (по требованию).
Ларри Эллисон: "Переход к grid знаменует самый крутой
поворот в ИТ-отрасли за последние 40 лет"
Следует, однако, помнить, что пользователи потребляют не просто ресурсы процессора или дисковой подсистемы. Им нужны функции самых разных приложений, а заставить их прозрачно выполняться в непредсказуемой среде grid - задача несравненно более сложная. Если продолжить аналогию с сетями коммунального снабжения, то это все равно что получать из одного и того же крана по требованию то воду, то молоко, то горячительные напитки, а не просто поток жидкости с регулируемыми температурой и расходом.
Еще один важный вопрос, как, обнаружив в глобальной сети свободный компьютер, поручить ему выполнение именно вашей задачи. Если она предполагает интенсивную обработку небольшого объема данных с помощью компактной программы, то и программу, и данные можно просто переслать на grid-узел. Но что делать в случае типичного корпоративного приложения со сложной бизнес-логикой, постоянно обращающегося с запросами к БД? Свою реализацию концепции grid корпорация Oracle ориентирует на решение именно корпоративных задач и поэтому, противопоставляя академическим областям применения, предпочитает именовать ее enterprise grid. Не удивительно, что grid-архитектура Oracle во многих отношениях отличается от той идеальной конструкции, которая была спроектирована в научных кругах.
Эндрю Мендельсон: "Идея grid чрезвычайно проста и заманчива"
Классическая концепция grid (см. PC Week/RE, N 5/2003, с. 24) покоится на пяти китах: применение открытых стандартов, объединение разнородных систем, совместное использование данных, динамическое выделение ресурсов и объединение вычислительных сетей множества предприятий и организаций. Следует признать, что далеко не все из этих принципов оказались реализованы в том варианте grid-архитектуры, которая была анонсирована Oracle в Сан-Франциско.
Grid пишем - blade в уме?
Представляя ее, исполнительный директор корпорации Ларри Эллисон заявил, что переход к grid знаменует крутой поворот по отношению к тому направлению, в котором отрасль развивалась последние 40 лет. В 60-х IBM создала мэйнфрейм, а в последующие годы все включились в гонку по выпуску все более мощных машин. "Сорок лет спустя к ней присоединилась и Microsoft, - не удержался от язвительного пассажа в адрес основного конкурента на софтверном рынке Эллисон, имея в виду проведенное недавно эталонное тестирование СУБД SQL Server на 64-процессорном сервере. - Я думаю, ребята, которых Билл послал в IBM узнать о грядущих инновациях, перевернули карту вверх ногами и, вместо того чтобы свернуть налево в исследовательский центр IBM, поехали направо - в музей корпорации".
Основной недостаток монолитных мощных серверов, по мнению главы Oracle, в том, что они очень дороги, не имеют резервирования на случай отказа и обладают ограниченной производительностью. Каков же выход? Строить ИТ-архитектуру предприятия на базе grid-технологии Oracle! Условно ее можно представить себе в виде трех "подрешеток", объединяющих пулы систем хранения, СУБД и серверов приложений, а также системы управления grid-инфраструктурой.
Как можно объединить ресурсы нескольких серверов для работы с БД? Сегодня известно только одно решение - кластеризация. На этой технологии и базируется grid-архитектура Oracle. В арсенале корпорации - реализованная еще в версии 9i технология Real Application Cluster (RAC), которая в отличие от аналогичных решений основных конкурентов позволяет, не переписывая приложений, исполнять их и на одиночных серверах, и на кластерах с переменным числом узлов. В версии 10g она получила дальнейшее развитие и поддерживает теперь более мощные конфигурации. О том, каково сегодня максимально возможное число узлов RAC, мнение еще не устоялось даже среди руководства Oracle. В своем выступлении Ларри Эллисон упомянул "64 и даже 128 серверов". Но в прошедшей накануне беседе вице-президент по технологиям серверов БД Эндрю Мендельсон назвал цифру 64, а вице-президент по маркетингу инструментальных средств и серверов приложений Джон Маги пояснил, что и тот и другой, по-видимому, имели в виду стандартные и blade-серверы с процессорами Intel, а верхний предел для Unix-серверов зависит от их вендора.
Все, что осталось непонятным во время докладов, можно было
уточнить на сопровождавшей конференцию выставке
Итак, что же представляет собой подрешетка серверов БД? Представим себе предприятие с большим парком серверов. Все они образуют серверный grid-ресурс. Для нужд тех или иных приложений по нескольку таких серверов объединяются в кластеры, на которых запускается RAC-версия СУБД Oracle. Один кластер, к примеру, поддерживает работу Интернет-магазина, а другой - хранилище данных для аналитического приложения. В дни предпраздничной торговли нагрузка на первый сильно возрастает и к нему подключаются серверы, выводимые из состава второго. После праздника торговля замирает, но наступает время аналитиков и маркетологов, соответственно повышается нагрузка на хранилище данных, и теперь уже серверы из первого кластера передаются второму.
Аналогичным образом можно формировать кластеры серверов приложений. Более того, разрешается перемещать машины между кластерами СУБД и кластерами серверов приложений. Когда я спросил г-на Маги, может ли мощный SMP-сервер делить свои ресурсы между СУБД и сервером приложений и принадлежать таким образом к разным кластерам, тот ответил, что и такое возможно.
Есть, впрочем, ряд ограничений, делающих grid-архитектуру Oracle не вполне соответствующей классической концепции: из упомянутых выше пяти "китов" мы здесь не видим как минимум двух. Во-первых, ресурсы grid-инфраструктуры в исполнении Oracle должны находиться внутри охраняемого брандмауэром периметра корпоративной сети, а во-вторых, кластеры могут включать только моноплатформные серверы. Последнее обстоятельство означает, что хотя пул серверных ресурсов grid и может быть гетерогенным, распределять ту или иную нагрузку разрешается только по подмножеству машин, функционирующих на одной и той же операционной платформе. К примеру, если пиковая нагрузка падает на кластер из серверов под управлением HP-UX, а в вашем grid-пуле свободными остались только машины Sun Solaris, то передать им избыточную нагрузку не удастся. Ничего не поделаешь: пока что RAC-кластер может быть только однородным.
С каждым новым выступлением первых лиц корпорации складывалось все более сильное впечатление, что хотя grid-система Oracle поддерживает все основные платформы, главные надежды возлагаются на дешевые blade-серверы стандартной архитектуры. Открывая конференцию, исполнительный вице-президент Oracle Чарльз Филлипс заявил: "Сегодня, когда все стремятся снизить свои ИТ-расходы, наличие недорогих blade-серверов с ОС Linux и систем хранения, общих для всех серверов, делает grid-вычисления реальной и привлекательной альтернативой". А один из архитекторов распределенных систем Oracle - вице-президент корпорации Бенни Саудер - даже принес на свою пресс-конференцию по паре сверхтонких серверов всех наиболее известных производителей и, отвечая на вопросы, демонстративно брал их по очереди в свои руки, как бы закрепляя в зрительной памяти журналистов ассоциацию между grid и blade.
Ларри Эллисон подчеркнул, что кластер из однопроцессорных blade-серверов работает быстрее, чем SMP-сервер с тем же суммарным числом процессоров. "Нам говорят, что инициатива IBM под названием on demand тоже позволяет, оплачивая дополнительные процессоры, наращивать производительность по мере необходимости. Но добавляя их процессор, вы платите 47 тыс. долл., а подключая чип blade-сервера, только 3 тыс. долл.", - пояснил глава Oracle.
Поскольку большинство производителей выпускают сегодня наряду с blade-серверами еще и более мощные Unix-машины, приносящие им львиную долю доходов, широкое распространение такого массового продукта, как "серверные лезвия", таит определенную угрозу их основному бизнесу. Исключением, пожалуй, является лишь корпорация Dell, которая производит только Intel-серверы стандартной архитектуры и как никто другой преуспела в продвижении продуктов массового спроса. В этом контексте символично прозвучали слова основателя этой компании Майкла Делла, вышедшего на сцену Moscone Center на костылях (он получил травму ноги, катаясь на лошади): "В отличие от того, как я выгляжу сегодня, наша компания еще никогда не стояла на ногах так твердо, как в настоящее время".
Главное - управление
Постойте, спросит внимательный читатель, а что же здесь нового, ведь кластеризация и серверов БД, и серверов приложений Oracle реализована еще в версии 9i? У вас изменилась нагрузка? Так изымите сервер из "полуспящего" кластера и подключите его к перегруженному. В принципе такая возможность действительно доступна, но осуществить ее можно только вручную с большими затратами времени и труда квалифицированных ИТ-специалистов. Классическая же grid-инфраструктура должна уметь распределять нагрузку динамически. Все руководители Oracle, с которыми мне довелось пообщаться на конференции, старательно избегали термина "динамический" и говорили, что подобные процедуры в версии 10g выполняются автоматически. Заметим, что автоматизировать здесь нужно не отдельные операции, а комплексное управление всеми ИТ-активами предприятия, включенными в grid.
Для этого корпорация предлагает совершенно новый продукт Oracle Enterprise Manager 10g, основным компонентом которого является Grid Control - система, обеспечивающая управление всей grid-архитектурой (приложениями, СУБД и системами хранения) с одной консоли. В основе Grid Control - репозиторий, содержащий информацию о производительности, доступности и возможных конфигурациях всех программных и аппаратных элементов корпоративной информационной инфраструктуры. С помощью инструментов Oracle Enterprise Manager, базирующихся на таких открытых стандартах, как Common Information Model (CIM) и Web-based Enterprise Management (WBEM), проводятся мониторинг производительности и диагностика приложений, инсталляция, конфигурирование и инициализация новых узлов серверов приложений и баз данных.
Модуль Application Performance Management отслеживает действия всех компонентов центра обработки данных, и если достигаются заранее установленные пороговые значения тех или иных параметров либо недопустимо снижается оговоренный уровень сервиса, в дело вступают правила, определяющие, как следует изменить текущую конфигурацию. Еще один возможный режим автоматизации управления grid’ом основан на календарном планировании: зачастую заранее известно, что, к примеру, в выходные дни поток заказов падает, а в конце месяца максимальная нагрузка приходится на систему расчета зарплаты. Конечно, в реальной жизни далеко не для всех проблемных ситуаций могут подойти два вышеупомянутых механизма, и тогда решение придется принимать человеку, но и в этом случае все операции, необходимые для изменения конфигурации системы, выполняются автоматически.
В руках у Бенни Саудера второй главный герой OracleWorld
2003 - blade-серверы стандартной архитектуры
Существенно то, что Oracle Enterprise Manager умеет не только фиксировать проблемы, но и находить их первопричину. Это позволяет ему вносить изменения в ту подсистему, которая стала причиной снижения производительности. Если медленно выполняется прикладная обработка, то наращивается кластер серверов, приложений. Если растет очередь незавершенных транзакций - подключаются дополнительные узлы СУБД и осуществляется соединение с ними соответствующих серверов приложений. Если узким местом становятся операции ввода-вывода, меняется конфигурация системы хранения. Взамодействие СУБД Oracle с дисковой подсистемой стало еще более прозрачным: благодаря встроенной в ядро Oracle Database 10g подсистемы Automatic Storage Management управление томами и файловой системой выполняется теперь автоматически.
В чрезвычайно изменчивой среде grid особую актуальность приобретают вопросы безопасности. Oracle централизовала управление доступом в рамках всей grid-инфраструктуры на основе собственной LDAP-совместимой службы каталогов Oracle Internet Directory (OID). Полномочия пользователей по отношению к приложениям и данным определяются и контролируются глобально на уровне всего grid. Заметно упрощают жизнь системному администратору средства клонирования конфигураций приложений и автоматизированной инсталляции программных "заплаток". Разработчики Oracle стремятся максимально виртуализировать все ресурсы grid с тем, чтобы управлять всей этой разнородной инфраструктурой как одним большим компьютером.
Кто купит grid?
В какой степени корпорации удалось воплотить все свои обещания, станет известно уже в конце года, когда, как пообещал Ларри Эллисон, будут выпущены коммерческие версии вышеупомянутых продуктов. А вот найдет ли новая grid-архитектура широкое признание в отрасли, вопрос более сложный. Сам глава Oracle полагает, что для этого потребуется не менее пяти лет.
В своем отчете о прошлогодней конференции OracleWorld я высказал предположение, что подспудная стратегическая цель высшего руководства Oracle - не просто лидировать в том или ином сегменте софтверного рынка, а стать поставщиком доминирующей платформы для корпоративных приложений. То есть в каком-то смысле повторить успех IBM и Microsoft, не являясь при этом производителем закрытых аппаратных платформ или операционных систем. Год назад аргументами Oracle были передовая технология кластеризации RAC и наличие мощного и многофункционального сервера приложений, тесно интегрированного с ее СУБД. И если крупные предприятия проявили интерес к кластерным технологиям Oracle, то на массовом рынке прорыва не произошло: за два года кластеры RAC ввели в эксплуатацию лишь 550 заказчиков в 44 странах. Теперь, с появлением в арсенале корпорации собственной корпоративной grid-архитектуры, аргументы становятся существенно весомее.
Эта авангардистская скульптура, установленная когда-то
возле Moscone Center, как нельзя лучше иллюстрирует
сложность управления пулом ресурсов
Думается, в первую очередь grid-продукты Oracle будут востребованы центрами обработки данных коллективного пользования, сдающими в аренду приложения или СУБД либо предоставляющими услуги хостинга. Именно они располагают крупным парком оборудования, включая и blade-серверы, и нуждаются в оптимизации использования всех своих ресурсов. Кстати, Oracle в первую очередь оснастила продуктами линейки 10g собственный аутсорсинговый центр. Обычным же компаниям, обладающим весьма разнородным и не столь большим набором оборудования, идея перехода на grid может показаться (во всяком случае на первых порах) не очень привлекательной: есть ли, например, смысл строить "решетку" из двух Unix-серверов от Hewlett-Packard, трех - от Sun и одного от IBM. Должно пройти время, пока руководители ИТ-подразделений, уже зная о существовании grid-архитектуры Oracle, оснастят свои вычислительные центры более однородным и стандартным оборудованием, в частности blade-серверами.
Но для этого они должны иметь четкое представление об экономических характеристиках предлагаемого им решения. После выступления Ларри Эллисона, изобиловавшего сравнениями цен аппаратных платформ, которые свидетельствовали о десятикратном преимуществе кластеризованных blade-серверов, один из журналистов не без ехидства спросил докладчика, можно ли рассчитывать на то, что лицензии Oracle Real Application Cluster тоже подешевеют. Вопрос вполне резонный. Дело в том, что ценообразование у Oracle ведется по числу процессоров, а стоимость лицензии Oracle9i с опцией RAC на один процессор составляет 60-70 тыс. долл. Несмотря на удешевление аппаратной платформы для каждого узла кластера, рост числа таких узлов может привести к суммарному повышению стоимости всего решения. Отвечая на этот вопрос, г-н Эллисон посетовал, что пока ценовая политика на продукты семейства 10g не утверждена, он не может называть конкретные цифры, но пообещал, что какое-то удешевление все же произойдет. Остается немного подождать.