Модели 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 даёт готовое приложение — просто пользуетесь.
- Чем выше модель, тем меньше контроля, но и меньше рутины.