Не во всех случаях виртуализация представляет собой идеальное решение, ведь каждое предприятие предъявляет свои требования и условия к ландшафту ИТ. Например, в крупных структурах, преимущественно в банковской отрасли или автоиндустрии, где установлены серверы приложений Java и реализована классическая трехуровневая архитектура (сервер Web/сервер приложений/база данных), применяется альтернативный подход к виртуализации. При этом специальные серверы Java Enterprise Edition (JEE) предоставляют среду выполнения или контейнер для приложений Java Enterprise. Показательные представители — коммерческий продукт BEA WebLogic, а также решение с открытыми исходными кодами JBoss. Область их применения достаточно широка — от торговых систем и порталов доставки до Web-магазинов.

Далее рассматривается подход, цель которого — объединение ранее упомянутых преимуществ виртуализации с классической трехуровневой архитектурой. Предположим, в компании используются три критически важных для нее приложения: для маркетинга, для продаж и для Web-магазина. Согласно классической трехуровневой архитектуре, для каждого приложения выделяется по одному серверу Web, серверу приложений и серверу баз данных, которые, в свою очередь, выполняются на отдельном физическом аппаратном обеспечении. Таким образом, потребуется три сервера Web, три сервера приложений и три сервера баз данных — всего девять аппаратных компонентов (см. Рисунок 1). Кроме того, следует учесть дополнительные расходы на лицензии для программного обеспечения, если речь идет не о продуктах с открытыми кодами, а также для операционной системы. Преимущество такого решения в том, что никакие проблемы одного приложения (к примеру, в результате сбоев, технического обслуживания или высокой нагрузки) не влияют на работу других. Главный недостаток — расходы, ведь если понадобится ввести новые приложения, то придется инвестировать средства в покупку нового аппаратного обеспечения.

КЛАССИЧЕСКИЙ АРХИТЕКТУРНЫЙ ПОДХОД

Для того чтобы избежать такой финансовой западни, предприятия могут оптимизировать свою среду, объединив ресурсы. На одном сервере JEE размещается сразу несколько приложений, которые параллельно выполняются на сервере приложений (см. Рисунок 2). В таком случае требуется гораздо меньше аппаратного обеспечения, но отдельные приложения оказывают сильное влияние на другие приложения. К примеру, если какая-то ошибка или пик нагрузки приложения для продаж вызовут сбой или снижение производительности сервера JEE, то это приведет к помехам в работе остальных приложений или доступ к ним будет невозможен.

ВИРТУАЛИЗАЦИЯ И СИСТЕМНЫЕ РЕСУРСЫ

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

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

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

АРХИТЕКТУРНЫЙ ПОДХОД ОТ CONSOL

Подход, представляющий собой альтернативу виртуализации, заключается в использовании архитектуры серверов JEE от компании Consol, особенно подходящей для эксплуатации серверов приложений JEE (см. Рисунок 4). По мнению его создателей, этот подход из серии «лучшая практика» (Best Practice) объединяет достоинства классической архитектуры с преимуществами виртуализации. Решение нацелено, в первую очередь, на снижение затрат и повышение доступности, оно пригодно как для малых, так и для больших приложений и структур JEE, однако применимо только в случае систем, производных от UNIX и Linux, таких как Solaris, RedНat Linux и SuSe.

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

УПРОЩЕНИЕ ОБСЛУЖИВАНИЯ

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

ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ — ЛЕГКО И ПРОСТО

В виртуальной среде каждую виртуальную систему приходится обслуживать отдельно, поскольку она всегда состоит из операционной системы и приложения. Сравнение предлагаемого Consol подхода с таким решением виртуализации показывает, что у Consol программное обеспечение сервера приложений и операционная система устанавливаются лишь единожды, а значит, и обслуживать их надо один раз. Такие профилактические работы, как установка заплат и администрирование обновлений, требующие больших затрат времени, усилий персонала и денежных средств, сводятся к минимуму. Кроме того, это решение предлагает готовые, стандартизованные — «коробочные» (out-of-the-box) — структуры серверов приложений.

Подход Consol базируется на распространенных механизмах операционных систем Linux и UNIX. Они функционируют аналогично, так что у системного администратора, которому приходится заниматься всем ландшафтом ИТ на предприятии, не должно возникать больших проблем при внедрении. Дополнительные важные преимущества заключаются в отсутствии сопутствующих расходов: ведь в результате исключаются затраты на приобретение лицензий для дополнительного программного обеспечения виртуализации, а кроме того, нельзя недооценивать те инвестиции, которые направляются на получение опыта и умений, необходимых для построения виртуализованного серверного ландшафта.

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

ПРЕИМУЩЕСТВА ВИРТУАЛИЗАЦИИ И ТРЕХУРОВНЕВОГО ПОДХОДА

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

Кристиан Ботта – старший консультант в Consol Consulting & Solutions Software.


© ITP Verlag


Рисунок 1. Классический подход с физически разделенной трехуровневой архитектурой. Для каждого приложения предусмотрен собственный сервер Web.

Рисунок 2. Трехуровневая архитектура с совместно используемыми ресурсами сервера приложений. Предприятию, рассматриваемому в качестве примера, потребуются семь аппаратных компонентов: три сервера Web, один сервер приложений и три сервера баз данных.

Рисунок 3. Виртуализованная среда серверов JEE.

Рисунок 4. Архитектура серверов JEE компании Consol. Вместо девяти требуются семь аппаратных компонентов: три сервера Web, один сервер приложений и три сервера баз данных. Если подход Consol применить и к трем серверам Web, то их количество удастся сократить до одного, а общее число аппаратных компонентов — до пяти.