IaaS, PaaS и SaaS: модели облака на понятных примерах
Основы3 минРедакция Innovialabs
Коротко
IaaS дает виртуальное железо, которое вы настраиваете сами, PaaS — готовую платформу, куда вы просто загружаете код, SaaS — готовую программу, которой вы пользуетесь через браузер.
Коротко: в чем разница
Три модели отличаются тем, какую часть работы провайдер берет на себя, а какую оставляет вам. Удобная аналогия — еда:
- IaaS — вы арендуете кухню с плитой и посудой, но готовите сами.
- PaaS — вам дают готовую кухню с поваром-помощником: вы приносите рецепт, остальное делают за вас.
- SaaS — вы приходите в ресторан и просто заказываете блюдо.
Кто за что отвечает
| Уровень | Свой сервер | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Данные и доступы | Вы | Вы | Вы | Вы |
| Приложение (код) | Вы | Вы | Вы | Провайдер |
| Среда выполнения, библиотеки | Вы | Вы | Провайдер | Провайдер |
| Операционная система | Вы | Вы | Провайдер | Провайдер |
| Виртуализация, сеть, хранилище | Вы | Провайдер | Провайдер | Провайдер |
| Физические серверы, дата-центр | Вы | Провайдер | Провайдер | Провайдер |
Обратите внимание на первую строку: за свои данные и права доступа вы отвечаете всегда, в любой модели. Это называют моделью разделенной ответственности.
IaaS: инфраструктура как услуга
Вы получаете виртуальные машины, диски, сети и балансировщики. Устанавливаете ОС, настраиваете окружение, деплоите приложение и поддерживаете все это сами.
Примеры: Amazon EC2, Google Compute Engine, Azure Virtual Machines, а также VPS у хостинг-провайдеров.
Когда выбирать:
- нужен полный контроль над окружением и сетью;
- нестандартный стек или особые требования к безопасности;
- есть DevOps-инженер или системный администратор.
Влияние на команду и бюджет: самая гибкая модель, но больше всего ручной работы — обновления, мониторинг, бэкапы, масштабирование. Расходы складываются не только из счета за ресурсы, но и из времени специалистов.
PaaS: платформа как услуга
Вы загружаете код, а платформа сама собирает, запускает, масштабирует и обновляет окружение. Часто PaaS включает управляемые базы данных, очереди, логи.
Примеры: Heroku, Google App Engine, Azure App Service, AWS Elastic Beanstalk, Vercel, Render.
Когда выбирать:
- небольшая команда, которая хочет заниматься продуктом, а не серверами;
- стандартный стек: Node.js, Python, PHP, Go, Java;
- важен быстрый выпуск обновлений.
Влияние на команду и бюджет: меньше работы по администрированию и быстрее запуск. Взамен — меньше контроля, ограничения платформы и риск зависимости от провайдера (vendor lock-in). При росте нагрузки PaaS может обходиться дороже, чем аналогичная инфраструктура на IaaS, поэтому стоит периодически пересматривать расходы.
SaaS: программа как услуга
Готовый продукт, которым вы пользуетесь через браузер или приложение по подписке. Устанавливать и обслуживать ничего не нужно.
Примеры: Google Workspace, Microsoft 365, Slack, Notion, Salesforce, amoCRM, Bitrix24 в облачной версии.
Когда выбирать:
- задача типовая: почта, документы, CRM, бухгалтерия, таск-трекер;
- нет смысла разрабатывать свое, если готовое решение покрывает потребности.
Влияние на команду и бюджет: минимум технической работы, предсказуемая подписка. Ограничения — кастомизация в рамках того, что позволяет продукт, и данные хранятся у провайдера. Обязательно проверьте, можно ли выгрузить данные, если решите уйти.
Как выбрать модель
- Типовая бизнес-задача? Сначала поищите SaaS.
- Нужен свой продукт или сервис? Начните с PaaS, если стек стандартный и команда небольшая.
- Нужны особые настройки, контроль над сетью или оптимизация затрат на большой нагрузке? Переходите на IaaS.
На практике компании комбинируют модели: CRM в SaaS, сайт на PaaS, тяжелая обработка данных на IaaS.
Частые ошибки
- Считать, что в облаке безопасность — забота провайдера. Неверно настроенные права доступа — ваша ответственность.
- Выбирать IaaS без людей, которые будут им управлять.
- Разрабатывать с нуля то, что уже есть в SaaS, тратя бюджет на неуникальную функциональность.
- Не продумать выход из PaaS или SaaS: экспорт данных и перенос кода.