Модели IaaS, PaaS и SaaS

Три уровня облачных услуг и кто за что отвечает в каждом.

IaaS, PaaS, SaaS — три модели облачных услуг, различающиеся тем, какую часть стека (железо, ОС, среду, приложение) обслуживает провайдер, а какую — вы.

Аналогия с пиццей

Удобнее всего объяснить через еду. Хотите пиццу — можно испечь дома с нуля, купить полуфабрикат, заказать доставку или сходить в ресторан. Чем дальше, тем меньше вашей работы и больше чужой. С облаком так же: чем «выше» модель, тем меньше вы настраиваете сами.

IaaS — инфраструктура как услуга

Провайдер даёт «железо»: виртуальные серверы, диски, сеть. Операционную систему, среду выполнения и приложение настраиваете вы. Максимум контроля и максимум ответственности. В AWS это EC2 (виртуальные машины), EBS (диски), VPC (сети).

PaaS — платформа как услуга

Провайдер берёт на себя ещё и ОС со средой выполнения. Вы приносите только код приложения, а масштабирование и обновления делает платформа. В AWS это Elastic Beanstalk, RDS (управляемые базы данных), Lambda (запуск кода без сервера).

SaaS — программа как услуга

Готовое приложение, которым вы просто пользуетесь через браузер. Ничего не настраиваете — ни сервер, ни код. Примеры вне AWS: Gmail, Google Docs. У Amazon к SaaS относятся, например, Amazon Chime и WorkMail.

МодельВы управляетеПример AWS
IaaSОС, среда, приложениеEC2, VPC
PaaSтолько приложение/кодBeanstalk, RDS, Lambda
SaaSничего (только пользуетесь)Chime, WorkMail

Как работает под капотом

Под всеми тремя моделями лежит одно и то же физическое железо Amazon. Разница только в том, до какого слоя провайдер дотягивает свою автоматизацию. В IaaS вам отдают чистую виртуальную машину и говорят «дальше сами». В PaaS поверх машины уже развёрнут управляемый агент, который ставит обновления ОС, следит за здоровьем и масштабирует. В SaaS работающее приложение обслуживает целая команда Amazon, а вам видна только веб-страница. Чем выше уровень, тем больше слоёв скрыто за абстракцией.

Частые ошибки

  • Брать IaaS, когда хватило бы PaaS. Новички часто поднимают EC2 и вручную ставят базу данных, хотя RDS сделал бы это надёжнее и безопаснее.
  • Считать, что SaaS = AWS. Большинство сервисов AWS — это IaaS и PaaS; SaaS — лишь небольшая часть.
  • Путать ответственность за безопасность. Даже в PaaS защита данных и настройка доступов остаётся на вас.

Итог

  • IaaS даёт железо — настраиваете всё сами (EC2, VPC).
  • PaaS даёт платформу — приносите только код (Beanstalk, RDS, Lambda).
  • SaaS даёт готовое приложение — просто пользуетесь.
  • Чем выше модель, тем меньше контроля, но и меньше рутины.
Проверьте себя
1. Сервис AWS Lambda (запуск кода без управления серверами) ближе всего к какой модели?
AIaaS
BPaaS
CSaaS
DНи к одной из перечисленных
2. В модели IaaS за установку и обновление операционной системы отвечает:
AТолько провайдер (AWS)
BПользователь (вы)
CНикто
DАвтоматический робот без участия сторон