Как стать автором
Обновить

Об эффективности бессерверных вычислений

Время на прочтение3 мин
Количество просмотров3.5K
Автор оригинала: Allan Chua

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

Не нужно тратить усилия на управление серверами

Бессерверная архитектура освобождает разработчиков и организации от необходимости управления базовой инфраструктурой. Кроме того, AWS берет на себя управление серверами от имени клиента и позволяет им сосредоточиться на создании функций и возможностей приложения.

Таким образом, в бессерверных системах организации в принципе не должны управлять никакими серверами. А это значит, что они могут рационально распределять свои средства по следующим направлениям:

  • управление масштабируемостью кластеров;

  • реализация мер по снижению рисков;

  • реализация стратегий аварийного восстановления;

  • применение патчей для закрытия уязвимостей системы безопасности;

  • установка обновлений операционной системы;

  • наем персонала для управления серверами.

Снижение рисков и затрат в области безопасности

Доверив AWS управление базовой инфраструктурой, вы получите еще один приятный бонус — существенно сократите свои риски в области безопасности и связанные с ними расходы. В AWS работают лучшие инженеры в области безопасности и инфраструктурного обеспечения. Используя бессерверную архитектуру, вы фактически поручаете управление своей инфраструктурой профессионалам мирового класса. Благодаря этому вы снижаете затраты и риски на уровне собственных отделов информационной безопасности.

Сокращение расходов на вычислительные ресурсы

Поскольку в AWS Lambda ресурсы тарифицируются по фактическому времени исполнения, мы можем сэкономить значительную сумму денег, исключив затраты, обусловленные:

  • простоем серверов (вы не платите за время, когда серверы не обрабатывают никаких вызовов);

  • необходимостью проектирования высокодоступных систем (вы не платите за резервирование и аварийное восстановление серверов).

Предоставляемые AWS Lambda API-интерфейсы обладают катастрофоустойчивостью, поскольку способны автоматически переключать исполнение функций между разными зонами доступности в пределах одного и того же региона AWS.

Сокращение затрат и времени на разработку

API-интерфейсы на основе AWS Lambda позволяют нам прицельно сосредоточиться на создании приложения. Мы экономим бюджетные средства, которые обычно уходят:

  • на настройку и обслуживание серверов;

  • на тестирование масштабируемости и отказоустойчивости кластеров;

  • на проектирование и внедрение систем аварийного восстановления.

Поскольку теперь всё это делегировано сервисам AWS, мы можем говорить о сокращении релизного цикла промышленной разработки.

Анонимный кейс

Последние полтора года я работаю в команде, в которой 90% бессерверной инфраструктуры. У нас в общей сложности 71 стек Cloud Formation — это чистая бессерверная магия, включающая более 460 Lambda-функций. В июле 2020 года мы выполнили 91000 API-вызовов, что потребовало 91 час фактического времени исполнения на уровне AWS Lambda и стоило нам ноль сингапурских долларов с точки зрения поддержки нашей среды разработки.

Мы также отправили 6.6 млн сообщений, используя SQS, и заплатили за это скромную сумму в два сингапурских доллара за тот месяц. С другой стороны, традиционная архитектура потребовала бы минимум 19 тысяч сингапурских долларов при следующих допущениях:

  • одна виртуальная машина EC2 t2.xlarge обходится в 0.185 сингапурских доллара в час;

  • обычно для поддержки высокодоступной HA-архитектуры нам требуется две таких виртуальных машины, что будет стоить 0.370 сингапурских долларов в час;

  • рассчитать стоимость аренды ресурсов EC2 за весь месяц можно по такой формуле:

Цена одного API-кластера в месяц

0.370 х 730 часов в месяц = $270.10 в месяц

 Умножим эту сумму на 71 (число API-стеков в нашей среде разработки)

270.10 x 71 = 19710 сингапурских долларов в месяц

Я не включил сюда затраты на зарплату администраторам, которых пришлось бы привлечь для управления парком виртуальных машин EC2 и непрерывного их мониторинга, а это весьма дорогой ресурс в Сингапуре. Надеюсь, что этот кейс помог вам убедиться в том, что бессерверные архитектуры действительно способны сократить затраты на разработку и промышленную эксплуатацию программных продуктов.

P. S. От переводчика

Лично я не жду, что процесс внедрения Serverless-архитектур будет быстрым. Массовых отказов от старой архитектуры в ближайшее также не предвидится. Чтобы работать с Serverless, нужно не просто выучить пару новых штук, а изменить своё мышление под новый тип разработки. О новых шагах Serverless-сервисов, подробностях и нюансах разработки можно узнать в сообществе Serverless в Telegram: Yandex Serverless Ecosystem.

Теги:
Хабы:
Всего голосов 16: ↑14 и ↓2+12
Комментарии17

Публикации