Сегмент программных средств, относящихся к категории серверов приложений, является одним из старейших в системе корпоративного инфраструктурного ПО, но при этом никак нельзя сказать, что на нем “все тихо и спокойно”. Напротив, как раз тут на протяжении всей своей истории (наверное, за точку отчета ее современного этапа можно взять середину 90-х годов) он отличается острой конкуренцией и постоянным появлением новых игроков, реально угрожающих позициям традиционных лидеров. Сейчас можно говорить о начале нового витка борьбы, который во многом определяется началом широкого использования таких моделей, как сервисно-ориентированная архитектура (SОА), Cloud Computing (облачные вычисления) и Open Source. Анализ современной ситуации на рынке серверов приложений содержится в выпущенном этой осенью отчете “Магический квадрант для серверов приложений масштаба предприятия” (Magic Quadrant for Enterprise Application Servers) компании Gartner.

Что такое сервер приложений

В самом общем виде определение сервера приложений выглядит так: это ПО, которое является контейнером для исполнения бизнес-логики прикладных программ, то, что часто называется также ПО промежуточного уровня (middleware). По сути это высокоуровневый функционально-объектный слой (он соответствует термину Framework, до сих пор не имеющему общепринятого перевода на русский язык), функционирующий в среде ядра ОС и обеспечивающий исполнение программ, написанных с помощью вполне определенных программных моделей, в частности, таких наиболее известных, как Java Platform, Enterprise Edition (Java EE); Spring Framework, Microsoft .NET Framework и Common Object Request Broker Architecture (CORBA). Некоторые такие модели ориентированы на применение одного языка программирования (например, Java EE), другие (в частности, .NET Framework и CORBA) позволяют применять несколько разных языков. Какие-то модели используют декларативный подход к программированию на базе графического описания и применения метаданных. Какие-то придерживаются традиционных методов, например использования библиотек API и компиляции исполняемых модулей.

Сразу обратим внимание на то, что Windows Server фактически представляет собой набор из сервера приложений (.NET Framework) и собственно операционной системы. Понятно и то, что аналогичный высокоуровневый промежуточный слой нужен не только серверам, но и ПК. Но для настольных систем такое ПО не выделяется исследователями в отдельный класс, во многом потому, что тут доминирует Windows. Отметим также, что кроме серверов приложений общего назначения (именно о них идет речь в данном исследовании) на рынке имеются специализированные системы, ориентированные на решение определенного класса задач. Примером такого ПО является, в частности, платформа “1С:Предприятие”.

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

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

Сегодня на корпоративном рынке доминируют две архитектуры серверов приложений — .NET (только в исполнении Microsoft) и мультивендорская Java EE (ранее известная как J2EE). Но при этом серьезную конкуренцию лидерам составляют новые программные модели, такие как Spring Framework, PHP, Ruby on Rails, Apex Code, Plain Old Java Object (POJO). Серверы приложений могут быть доступны пользователям в виде продуктов, устанавливаемых собственно внутри компаний, или в качестве облачных сервисов, предоставляемых провайдером.

Общая расстановка сил

С точки зрения Gartner, серверы приложений могут применяться в трех основных сценариях: 

  • “временно-ориентированные” (opportunistically oriented) проекты — быстрая разработка и развертывание приложений в ответ на бизнес-требования, которые “не могут ждать”. В этом случае время реализации проекта является более важным, чем обеспечение доступности, масштабируемости и т. д.; 
  • проекты “массового рынка” — не очень сложные прикладные системы, создаваемые небольшими ИТ-компаниями. Здесь важны такие параметры, как низкая стоимость, простота развертывания, поддержки и управления, надежность. Функциональность, масштабируемость и производительность не столь существенны; 
  • “систематично-ориентированные” (systematically oriented) проекты — реализация критически важных для бизнеса корпоративных систем, рассчитанных на долгосрочный период эксплуатации (не менее трех лет). Наряду с разнообразной функциональностью тут необходимы надежность, безопасность, управляемость, масштабируемость, производительность.

По оценкам Gartner, в 2008 году общий объем рынка серверов приложений составил примерно 2,5 млрд. долл. и в ближайшие пять лет будет расти в среднем на 6,5% в год до величины 3,3 млрд. долл. в 2013-м. Но в магическом квадранте компании рассматриваются только поставщики продуктов класса серверов приложений масштаба предприятия (EAS) — таких, которые могут применяться в третьем сценарии. При этом отмечается, что многие такие решения можно успешно использовать и в двух других вариантах.

Первое, что видно в квадранте, — довольно большое число игроков, 28 компаний, некоторые из которых предлагают решения Open Source. Второй важный момент — наличие ряда платформ, изначально ориентированных на вариант облачной вычислительной модели (в частности, нужно обратить внимание на Salesforce.com). В целом, хотя есть четко выделенная группа лидеров, видна острая конкурентная ситуация на рынке, которая предоставляет заказчикам широкий спектр выбора наиболее подходящих им решений. Gartner считает, что в ближайшее время здесь появятся новые серьезные игроки, такие как Google и Tibco, чьи решения (соответственно App Engine и Silver) находятся пока в режиме бета-тестирования.

Gartner отмечает в отчете, что требования пользователей к продуктам категории EAS постоянно изменяются, расширяются. То, что раньше считалось дополнительными возможностями (например, поддержка сервисно-ориентированных интерфейсов и интероперабельности), становится обычными функциями. Обычной технологической практикой является также применение вчерашних инноваций, в частности использование Grid-моделей, микроядерной архитектуры, распределенного кэширования, многоарендной архитектуры (multitenancy). При этом все шире используются отраслевые стандарты, такие как протоколы Web Services и REST (protocol or representational state transfer) API, причем значительную роль при этом играют нормативные регулирующие требования. Хотя некоторые новшества, например расширения класса XTP, поддержка событийно-ориентированного управления процессами или той же многоарендной архитектуры, пока представляют собой конкурентные отличия продуктов.

Одной из ключевых тенденций развития рынка EAS является все более широкое использование модели Cloud Computing. Движение вендоров в этом направлении идет двумя путями: использование в рамках этой модели традиционных продуктов, изначально ориентированных на применение внутри компаний, и разработка качественно новых решений, сразу предназначаемых для облачных вычислений. Так или иначе, но именно Cloud выдвигает новые технологические требования, такие как многоарендность и горизонтальное масштабирование. Одни серверы приложений сегодня уже используются в режиме сервиса (service / cloud-enabled application server, SEAP), а другие идут еще дальше и, пополнившись средствами разработки, превращаются в сервисные платформы приложений (application platforms as a service, APaaS). Некоторые вендоры в своих продуктах в той или иной степени используют все эти инновации, но нужно отметить, что их подходы к применению многоарендности различаются.

Группа лидеров

IBM

Семейство ПО IBM WebSphere включает представительный набор EAS-предложений (в том числе серию продуктов WebSphere Application Server — WAS), который покрывает широкий диапазон требований заказчиков: для “временно-ориентированных” проектов (WebSphere sMash), для массового рынка (WAS Community Edition, WAS Express), для масштабируемых корпоративных решений (WAS Network Deployment, WebSphere Virtual Enterprise, CloudBurst Appliance, WebSphere Virtual Enterprise и другие). Некоторые из этих средств доступны в виде облачных сервисов IBM и Amazon Web Services EC2. При этом нужно иметь в виду, что IBM имеет в своем распоряжении мощные наборы средств разработки (Rational) и управления ИТ (Tivoli). WAS-решения базируются в целом на стандартах Java EE и SOA, обеспечивая при этом поддержку разных моделей программирования (в том числе SCA, OSGi/Spring, динамические языки), событийно-процессных и XTP-архитектур, а также виртуализационно-облачных возможностей.

В то же время нужно сказать, что присутствие IBM на массовом рынке пока невелико. Выпущенный в середине 2008 года WebSphere sMash также имеет относительно небольшую инсталлированную базу и весьма ограниченную поддержку со стороны третьих фирм. Продукты для облаков (WAS Hypervisor Edition, CloudBurst Appliance) появились относительно недавно, и пока в этой сфере IBM заметно отстает от лидеров. В целом Gartner отмечает, что стратегия IBM в области APaaS находится в ранней стадии своей реализации.

Microsoft

.NET Framework вместе с Internet Information Server (оба являются интегрированными компонентами Windows Server) представляют собой полный набор функциональности ESA. Правда, отдельного продукта, который можно было бы назвать сервером приложений, у Microsoft пока нет, хотя компания еще год назад заявила о намерении выпустить такое решение (проект Dublin). Кроме того, нужно сказать о такой программной платформе, как Microsoft BizTalk Server. Облачные предложения Microsoft реализованы в виде бета-версии Windows Azure Platform и недавно анонсированной технологии программируемой облачной платформы (xRM).

Преимущество Microsoft — огромная инсталлированная база Windows Server и обширное сообщество разработчиков ПО, что делает ее продукты стандартом де-факто на массовом рынке. При этом компания постоянно наращивает свое присутствие в сфере крупных корпоративных проектов. У Редмонда есть весьма четкая стратегия реализации облачной модели вычислений. Но из достоинств Microsoft вытекают и ее слабые стороны — поддержка одной ОС и использование продуктов от одного поставщика. Из-за традиционной фокусировки на массовом рынке компания постоянно запаздывает с реализаций важных технологических инициатив (например, XTP и SOA). При этом у Microsoft появился ряд очень серьезных соперников (Google, Salesforce, VMware), также ориентированных на массовый рынок, но в конкурентной борьбе использующих иные деловые и технологические модели.

Oracle

Основу EAS-предложений Oracle составляет JEE-семейство Oracle WebLogic Server (WLS), полученное в результате приобретения в 2008-м компании BEA Systems, и собственная разработка Oracle Application Server (она еще поддерживается, но в стратегическом плане не развивается). Кроме того, в группу EAS-продуктов входят средство разработки Oracle JDeveloper, инструмент Oracle TopLink и средство Oracle Enterprise Manager для мониторинга, администрирования и управления. В случае удачного завершения приобретения Sun компания пополнит свой EAS-арсенал еще и целым портфелем EAS-технологий и в результате займёт ведущую роль в Java-сообществе.

WLS-семейство в целом фокусируется на поддержку мощных критически важных бизнес-приложений, но при этом отвечает требованиям широкого спектра клиентов, в том числе из малого и среднего бизнеса. Эти решения имеют большое распространение на рынке и используют самые современные технологические концепции. Но все же Oracle пока не имеет в своем портфеле EAS-решений, ориентированных на массовый рынок и обеспечивающих в должной мере поддержку стиля Web 2.0 (хотя приобретение Sun GlassFish может заполнить эту брешь в спектре ПО Oracle). Остановка развития Oracle Application Server представляет опасность в том плане, что нынешние пользователи этой системы могут перейти не на WLS, а на решения других поставщиков. Слишком активная стратегия приобретений порой ставит в тупик заказчиков Oracle, которые перестают ориентироваться в перспективах развития того или иного направления продуктов компании.

Red Hat

JBoss EAS — это JEE5-совместимый JBoss Application Server. Он доступен для бесплатной загрузки (без технической поддержки) или в составе пакета для предприятий в виде JBoss Enterprise Application Platform с оплатой поддержки по подписке. Кроме того, у Red Hat имеется набор JBoss Enterprise SOA Platform, в него входят сервер приложений и целый ряд технологий поддержки SOA, включая решение JBoss ESB. На модели программирования JSLEE основанное EAS-предложение JBoss Communications Platform, ориентированное на использование в телекоммуникационной отрасли. Для Web-проектов предлагается JBoss Enterprise Web Server, включающий сервер приложений Apache Tomcat. В семейство ПО JBoss входит и целый ряд других продуктов и инструментов, в том числе средства разработки и управления ИТ-инфраструктурой. Все это ПО, бесплатное или получаемое по подписке, распространяется по лицензиям LGPL 2.x или Apache Software и доступно в виде исходных кодов или объектных модулей.

JBoss EAS имеет отличную техническую репутацию на рынке, Red Hat является явным лидером среди поставщиков открытых EAS-решений, ее продукты имеют огромную инсталлированную базу и великое множество партнеров и пользователей. Фактически это единственное Open Source-семейство на ИТ-рынке, которое на равных конкурирует с предложениями ведущих проприетарных вендоров.

Но бизнес-стратегия Red Hat, нацеленная на повышение прибыльности подразделения JBoss, иногда имеет результатом замедление внедрения инженерных инноваций. Компания явно отстает от конкурентов в освоении передовых технологий, таких как XTP, событийное управление и облачные вычисления. Кроме того, широкое продвижение продукта на корпоративный рынок требует иных подходов к маркетингу, продажам и поддержке, нежели используемые до сих пор.