Это глава из написанного мной «Руководства по сборке с помощью Serverless AWS». Для получения дополнительной информации о целях и фокусах руководства, пожалуйста, прочтите главу «Введение».

Оглавление:

  1. "Введение"
  2. Бессерверное введение (Вы здесь)
  3. Введение в облако и AWS
  4. Инфраструктура как код
  5. "Я"
  6. ВПК
  7. Лямбда
  8. API-шлюз
  9. ДинамоДБ
  10. S3
  11. Облачные часы
  12. Облачный фронт
  13. Маршрут 53
  14. СНС
  15. СКС
  16. Кинезис
  17. Семейство инструментов разработчика
  18. Бессерверные контейнеры

Я почти исключительно использую бессерверные технологии. Некоторые из наиболее популярных бессерверных предложений AWS, которые я использую, включают Lambda, API Gateway, SNS и DynamoDB. У каждого из них есть своя цель, о которой я расскажу в этом руководстве. Я хочу сохранить сфокусированный объектив для этого руководства и не допускать расползания масштаба.

У меня есть несколько продуктов, висящих в Интернете, и все они построены на бессерверных технологиях. Стоимость хостинга равна нулю, пока кто-то не заплатит мне за пользование услугой. Из того, что я видел от других и испытал в своей профессиональной жизни, когда речь идет о затратах на AWS, я уникален тем, что ничего не плачу, пока мои продукты не будут использованы. Стоимость является одним из самых больших преимуществ использования бессерверных архитектур и одним из самых больших отличий, на которые я обращаю внимание, прежде чем рассматривать услугу как ту, которую я хочу использовать. Можно возразить, что бессерверные технологии в будущем будут стоить дороже, когда они находятся под нагрузкой или при постоянном трафике, но я видел, что верно обратное, если код написан так, чтобы идти рука об руку с архитектурой.

Прежде чем заняться AWS и эксплуатацией, я был инженером-программистом. Я все еще инженер-программист, и мне очень нравится писать код. Основная причина, по которой я так глубоко погрузился в AWS, заключалась в том, что после того, как я написал код, мне нужно было каким-то образом поделиться им. Любой может запустить сервер на своей локальной машине и отправлять запросы к localhost. Дополнительный уровень сложности появляется, когда приходит время размещать этот код или сервис публично. AWS и предоставляемая им возможность абстрагирования позволяют мне справиться с этой сложностью. При этом мне нравится понимать, что происходит за кулисами любой технологии, с которой я работаю, поэтому я предложу такое же объяснение в этом руководстве. Однако использование бессерверных сервисов, которые предоставляет AWS, позволяет мне сосредоточиться на написании кода, а управление инфраструктурой становится легкой задачей. Это еще одно огромное преимущество бессерверных технологий: экономия времени. Настройка бессерверной архитектуры не только занимает меньше времени, чем традиционная инфраструктура, но и увеличивает экономию времени на стандартном серверном коде. Я больше не пишу логику маршрутизации, я просто создаю новую функцию Lambda с логикой и говорю API Gateway, чтобы он обработал все остальное за меня.

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

Следующая глава: Введение в облако и AWSПредыдущая глава: ВведениеКатегории: руководство по созданию бессерверных aws

Первоначально опубликовано на https://thomasstep.com 4 октября 2021 г.