Открыть сервис

PaaS

PaaS (от англ. Platform as a Service, «платформа как услуга») — это модель предоставления облачных вычислений, при которой заказчик получает доступ к готовой программно-аппаратной платформе для разработки, тестирования, развёртывания и управления приложениями, не управляя нижележащей инфраструктурой (серверами, операционными системами, сетями и хранилищами). PaaS является одним из трёх основных типов облачных услуг наряду с IaaS (Infrastructure as a Service) и SaaS (Software as a Service).

История

Концепция PaaS начала формироваться в середине 2000-х годов как развитие идей облачных вычислений и виртуализации. Первым коммерчески успешным продуктом в этой категории стала платформа Heroku, запущенная в 2007 году и ориентированная на разработчиков веб-приложений на языке Ruby. В 2008 году компания Google представила Google App Engine — платформу для приложений на Java, Python и Go, а Microsoft в 2010 году запустила Windows Azure (позднее переименованный в Microsoft Azure), который изначально позиционировался как PaaS-решение.

Рынок PaaS активно рос в 2010-е годы благодаря распространению микросервисной архитектуры, контейнеризации (Docker, Kubernetes) и DevOps-практик. Крупные облачные провайдеры, такие как Amazon Web Services (AWS) и Google Cloud Platform, включили PaaS-сервисы в свои портфели. К 2023 году объём мирового рынка PaaS оценивался в десятки миллиардов долларов США, а его доля в облачных расходах продолжала увеличиваться.

Архитектура и компоненты

PaaS-платформа предоставляет разработчику среду, включающую:

В отличие от IaaS, где пользователь самостоятельно настраивает операционную систему и промежуточное ПО, в PaaS эти компоненты управляются провайдером. Пользователь отвечает только за код приложения и его конфигурацию.

Классификация

PaaS-решения классифицируют по нескольким признакам:

По типу размещения

По функциональному назначению

По модели оплаты

Обычно используется модель Pay-as-you-go (оплата по факту использования), реже — фиксированная абонентская плата или бесплатные тарифы с ограничениями (free tier).

Преимущества и недостатки

Преимущества

Недостатки

Примеры PaaS-платформ

Heroku

Запущен в 2007 году. Поддерживает Java, Ruby, Python, Node.js, PHP, Go и Scala. Предоставляет простой интерфейс для развёртывания через Git. В 2010 году приобретён компанией Salesforce.

Google App Engine

Часть Google Cloud Platform. Позволяет запускать приложения на Java, Python, Go, PHP, Node.js и Ruby. Автоматически масштабируется и интегрируется с другими сервисами Google (Bigtable, Datastore, Cloud Storage).

Microsoft Azure App Service

PaaS-решение от Microsoft для веб-приложений и API. Поддерживает .NET, Java, Python, Node.js, PHP. Включает встроенную поддержку CI/CD и интеграцию с Azure DevOps.

AWS Elastic Beanstalk

Сервис от Amazon Web Services, автоматизирующий развёртывание приложений. Поддерживает Java, .NET, PHP, Node.js, Python, Ruby, Go и Docker. Позволяет сохранять контроль над инфраструктурой при необходимости.

Red Hat OpenShift

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

Применение

PaaS широко используется в следующих сценариях:

Влияние на разработку ПО

Внедрение PaaS способствовало распространению методологий DevOps и Agile, поскольку платформы автоматизируют рутинные операции по развёртыванию и мониторингу. Это позволило небольшим командам и стартапам создавать масштабируемые приложения без значительных капиталовложений в инфраструктуру. В то же время рост популярности PaaS стимулировал развитие контейнеризации и оркестрации, что привело к появлению таких технологий, как Docker и Kubernetes.

Критика

Основные критические замечания в адрес PaaS связаны с риском vendor lock-in: при использовании специфических API провайдера перенос приложения на другую платформу может потребовать значительной переработки кода. Также отмечается, что для приложений с очень высокими требованиями к производительности или специфическими аппаратными потребностями PaaS может быть неоптимальным решением из-за ограничений на настройку окружения.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →