Дискуссии вокруг облачных вычислений неизменно возвращают нас к трем основным моделям предоставления облачных сервисов: 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