PaaS
Оригинальное название: Platform as a Service (PaaS)
Коротко
Облачная модель, в которой провайдер даёт готовую платформу для запуска кода: серверы, операционная система, среда выполнения и масштабирование уже настроены, разработчик загружает только приложение.
Что такое «PaaS»
Между арендой голой виртуальной машины и подпиской на готовый сервис есть промежуточная ступень. В модели IaaS клиент сам ставит веб-сервер, PHP и обновления. В SaaS он вообще не видит кода. PaaS забирает у разработчика заботу об окружении, но оставляет ему собственное приложение. Модель стала популярной в конце 2000-х благодаря Heroku и Google App Engine; сегодня похожие услуги есть у большинства облачных провайдеров, включая российских.
К PaaS относят и отдельные управляемые компоненты: базы данных, очереди, хранилища, которые провайдер разворачивает, обновляет и резервирует сам.
Как выглядит работа с платформой
Разработчик описывает, как запускать приложение, и отправляет код — через git, архив или образ контейнера. Платформа сама собирает окружение, ставит зависимости и запускает нужное число копий. Пример файла Procfile для PHP-приложения на Heroku и команды выкладки:
web: heroku-php-apache2 public/
git push heroku main
Здесь одна строка говорит платформе: процесс web — это Apache с PHP, корень сайта лежит в папке public. Масштабирование сводится к изменению числа копий в панели или командой, а развёртывание новой версии — к очередной отправке кода.
Ограничения, о которых узнают поздно
- Файловая система копий часто временная: всё, что приложение записало на диск, пропадает при перезапуске.
- Нельзя поставить произвольное расширение PHP или поменять настройки веб-сервера за пределами разрешённого.
- Привязка к платформе: переезд с одного PaaS на другой — отдельный проект.
- При росте нагрузки платформа обычно обходится дороже аренды сервера сопоставимой мощности.
PaaS для сайтов на CMS
WordPress и 1С-Битрикс рассчитаны на постоянный диск: туда загружаются картинки, пишется кеш, обновляются плагины и модули. На платформе с временной файловой системой придётся выносить загрузки во внешнее объектное хранилище и отказаться от обновлений через админку. Поэтому типичный сайт на CMS проще разместить на хостинге или своём сервере, а PaaS оставить для приложений, написанных под облако с самого начала.

