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

На крупных предприятиях, как правило, используется по 3–5 тыс. приложений, работающих поверх сложных хитросплетений ИТ-систем, соответственно, управление портфелем приложений в корпорациях нередко считают дорогостоящим кошмаром. Среды и инструменты PaaS помогают упростить ИТ-портфель компании путем быстрого выявления наиболее важных приложений и снижения затрат на сопровождение менее ценных. Инструменты PaaS могут играть важную роль на этапе рабочей эксплуатации благодаря поддержке сложных наборов правил автоматизации и возможности гибкого выделения ресурсов приложениям с неравномерной нагрузкой. Таким образом, инструменты PaaS не только управляют разработкой, но и обеспечивают оркестровку всего SDLC. По мере созревания сред и инструментов PaaS они неизбежно выйдут за пределы мира стартапов и начнут шире применяться на крупных предприятиях.

PaaS в жизненном цикле ПО предприятия

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

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

Сервисы-первопроходцы

Первые интегрированные облачные инструментарии разработки в основном ассоциировались с конкретными сервис-провайдерами — как, например, App Engine от Google или Force.com и Heroku от Salesforce. Еще один первопроходец — Amazon Elastic Beanstalk — это скорее не PaaS, а платформа для развертывания сервиса EC2 самой Amazon. Ранние инструменты не позволяли переносить приложения между облаками, поскольку были рассчитаны на привязку к определенному провайдеру. Кроме того, многие из ранних PaaS, в том числе не ассоциируемые с конкретным сервис-провайдером, ограничивались каким-то одним языком или каркасом программирования. Например, Heroku и независимая платформа облачных приложений Engine Yard в основном были ориентированы на Ruby, а CumuLogic предлагал только среду Java. Сегодня все больше поставщиков PaaS осознают, что для выживания в долгосрочной перспективе потребуется поддержка большинства стандартных языков и сред программирования, и это становится нормой.

Azure

На первый взгляд, Microsoft Windows Azure выглядит образцовым примером целиком интегрированной системы PaaS, предлагающей богатый набор инструментов разработки, тестирования, сборки, отладки и развертывания. Но, несмотря на многие достоинства, Azure на сегодня остается лишь нишевым средством, предназначенным только для разработчиков приложений Windows и .NET. На Azure переходит относительно мало пользователей альтернативной публичной платформы Amazon. Тем не менее, подчиняясь требованиям крупных корпоративных клиентов, Microsoft обновляет сервисы и ценовые модели — например, в Azure появилась поддержка виртуальных машин Red Hat Linux и возможность развертывания платформы в виде частного облака. Но заинтересует ли Azure в дальнейшем более широкую аудиторию, пока неясно.

Cloud Foundry

До недавнего времени у Cloud Foundry была репутация самой зрелой и широко применяемой из сред с открытым кодом. Cloud Foundry пользуется поддержкой VMware, а Active State и другие компании добавили к платформе важные для предприятий особенности: ролевую безопасность, поддержку внутрикорпоративных расчетов и полного набора облачных гипервизоров. Но когда в декабре 2012 года VMware отсоединила Cloud Foundry (вместе с подразделениями Spring, GemFile, Pivotal Labs и Greenplum), создав новую компанию Pivotal Initiative во главе с Полом Маритцем, стало ясно, что Cloud Foundry потеряла авторитет в глазах предприятий, неверно поняв принципы работы рынка Open Source. Пока трудно судить, добьется ли успеха набор облачных сервисов разработки ПО и анализа Больших Данных, предлагаемый Pivotal Initiative.

OpenShift

Платформа Red Hat OpenShift, появившаяся в апреле 2013 года, рассчитана на крупные предприятия, которых устраивают инструменты с открытым кодом, но при условии наличия сопровождения и технической поддержки. Сама среда выглядит многообещающей, предлагая богатый набор средств разработки и утилит управления облаками и образами виртуальных машин. Эта комплексная, ориентированная на предприятия платформа имеет все шансы стать популярной, а опыт работы Red Hat на рынке Open Source обещает поддержать OpenShift на плаву несмотря на запоздалый рыночный дебют.

Начинающие провайдеры PaaS

ServiceMesh оснащает свою платформу Agility полным комплектом инструментов разработки, оркестровки и управления, но внушительная начальная стоимость делает ее доступной лишь для крупных заказчиков. AppFirst, оператор сервиса мониторинга приложений, предназначенного для специалистов по DevOps, предлагает также простые в установке инструменты управления жизненным циклом разработки. CumuLogic, FeedHenry и CloudBees — операторы платформ PaaS экономкласса, а их сервисы опираются на модель SaaS и не имеют уровней оркестровки и других дополнений, присущих более дорогостоящим платформам. Перечисленное — лишь самая верхушка айсберга, поскольку на рынке PaaS регулярно появляются новые имена. В таблице приводится перечень наиболее известных на сегодня PaaS.

PaaS: новые возможности разработки в облаках
Таблица. Наиболее популярные PaaS

 

 

Рекомендации по внедрению PaaS

Для большинства предприятий важнее всего скорость ввода в действие новых приложений, позволяющих «поймать» очередную волну бизнес-возможностей. Облачные интегрированные инструменты и платформы как раз и позволяют быстро разрабатывать и внедрять приложения — в этом отношении PaaS обещают предприятиям возможность по максимуму использовать преимущества облачных архитектур. Но для этого нужна будет платформа, предлагающая полностью интегрированные инструменты SDLC, оркестровки и посредничества.

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

***

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

Бет Коэн (bfcohen@luthcomputer.com) — президент, независимое консалтинговое агентство Luth Computer Specialists по облачным решениям.

Beth Cohen, PaaS: New Opportunities for Cloud Application Development, IEEE Computer, September 2013, IEEE Computer Society. All rights reserved. Reprinted with permission.