Дискуссии вокруг облачных вычислений неизменно возвращают нас к трем основным моделям предоставления облачных сервисов: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) — инфраструктуре, платформе и программному обеспечению, предлагаемым в качестве услуги.

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

Хотите написать приложение своими силами? Обратите внимание на поставщиков IaaS, которые создадут вам условия для разработки собственных приложений.

Желаете прояснить для себя концепцию использования чужого ПО, выполняющего вспомогательные функции и позволяющего сосредоточиться на решении прикладных задач? Присмотритесь к механизму Google App Engine, воплощающему в жизнь идеологию PaaS.

Последняя категория упоминается в классификации не всегда, потому что у нее пока не слишком много поклонников. Но времена меняются.

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

 

Трудности, связанные с PaaS

Перечислим, над какими вопросами следует задуматься, приступая к оценке возможностей PaaS.

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

2. Сложность. Каждый поставщик PaaS имеет свой, отличный от других, набор функций, а среда проектирования создается в соответствии с его представлениями о том, как должен выглядеть процесс разработки приложений. Определить, насколько подходит вам та или иная среда PaaS, весьма непросто. И такое решение сильно отличается от традиционных сред, разворачиваемых на территории клиента.

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

4. Необходимость приобретать новые навыки. Разработчикам приложений придется изучать новую среду и технику разработки приложений в ней. Хотя многие разработчики приложений в облаке имеют в штате высококвалифицированный персонал, способный быстро осваивать новые технологии, кому-то придется столкнуться с потерей темпа и дополнительными трудностями.

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

Действительность такова, что каждая новая платформа ставит перед пользователями новые задачи. Важно понять, с какими трудностями людям придется столкнуться при попытке воспользоваться преимуществами новой платформы.

Bernard Golden. Cloud Computing: What You Need to Know About PaaS. CIO Magazine. September 08, 2011