Как оптимизировать инфраструктуру с помощью AWS Serverless

Можно ли сократить расходы на инфраструктуру в разы, просто изменив архитектуру? CTO Freedom Cloud Kazakhstan Арман Нургалиев объясняет, когда serverless действительно экономит бюджеты, почему Lambda — не универсальное решение и в каких сценариях она работает лучше Kubernetes.

О себе  

Мой путь начался в электроэнергетике, позже я перешел в IT. Сейчас мы с командой строим публичные и вычислительные облака в Казахстане, и я хочу поделиться опытом в сфере облачных решений.

Что такое serverless  

В инфраструктуре есть три классические модели:

  1. IaaS — вы покупаете машину и сами обслуживаете ее.
  2. PaaS — берете машину в лизинг, а компания помогает с обслуживанием.
  3. SaaS — вы просто вызываете такси, не думая о машине.

К ним добавилась четвертая модель — FaaS, Function as a Service, или serverless. Здесь код запускается только по запросу. Это дает абстракцию, эластичность и экономию: вы платите только за выполненные операции.

Пример: вендинговый автомат работает только тогда, когда вы делаете заказ. Ночью он простаивает — и вам не нужно оплачивать его работу. Так же и с serverless: если нагрузка непостоянная, расходы снижаются в разы.

Практика  

Я работал в Саудовской Аравии с тикетинговой платформой для концертов. В сезон мы платили $12 000 в месяц за Kubernetes и базы данных. После перехода на AWS Lambda расходы сократились до $6000 в сезон и $3000 в несезон.

Lambda автоматически масштабируется: приходит запрос — функция запускается, обрабатывает его и завершает работу. Вы платите только за выполненный запрос.

Ограничения Lambda

— выполнение максимум 15 минут
— поддержка не всех языков
— cold start — задержка при первом запуске
— сложный мониторинг и дебаг — нужны инструменты вроде AWS CloudWatch.

Где использовать  

Serverless подходит для задач с нерегулярной нагрузкой: отчеты, HR‑системы, пиковые события, бэкапы. Например, бухгалтерия Aviasales формирует отчеты несколько раз в день — контейнер держать 24/7 не нужно, Lambda справляется за минуты.

Serverless снижает расходы, ускоряет масштабирование и позволяет стартапам обходиться без больших DevOps‑команд. Но это не универсальное решение: при постоянной нагрузке выгоднее использовать кластеры.