stringtranslate.com

AWS Лямбда

AWS Lambda — это событийно-управляемая , бессерверная функция как услуга (FaaS), предоставляемая Amazon как часть Amazon Web Services . Она разработана для того, чтобы позволить разработчикам запускать код без предоставления или управления серверами. Она выполняет код в ответ на события и автоматически управляет вычислительными ресурсами, требуемыми этим кодом. Она была представлена ​​13 ноября 2014 г. [1]

Спецификация

Каждый экземпляр AWS Lambda представляет собой контейнер, созданный из Amazon Linux AMIs (дистрибутив Linux, связанный с RHEL ) и настраиваемого времени выполнения. Node.js , Python , Java , Go , [2] Ruby , [3] и C# (через .NET ) официально поддерживаются по состоянию на 2018 год . В конце 2018 года в AWS Lambda была добавлена ​​поддержка пользовательской среды выполнения [4] .

В 2019 году на ежегодной конференции по облачным вычислениям AWS (AWS re:Invent) команда AWS Lambda анонсировала «Provisioned Concurrency» — функцию, которая «поддерживает функции инициализированными и гиперготовыми к реагированию за двузначные миллисекунды». [5] Команда Lambda описала Provisioned Concurrency как «идеальный вариант для реализации интерактивных сервисов, таких как веб- и мобильные бэкэнды, чувствительные к задержкам микросервисы или синхронные API». [6]

URL-адрес функции Lambda предоставляет Lambda уникальный и постоянный URL-адрес , к которому могут получить доступ как аутентифицированные , так и неаутентифицированные пользователи. [7]

AWS Lambda Layers позволяет разработчикам легко управлять и совместно использовать общие компоненты в нескольких функциях Lambda. Он разработан для содействия повторному использованию кода и упрощения развертывания библиотек, пользовательских сред выполнения и других зависимостей, которые могут потребоваться функциям Lambda. Lambda Layers могут быть особенно полезны в архитектурах микросервисов, где несколько функций могут совместно использовать одни и те же зависимости. [8] Используя слои, можно гарантировать, что все функции используют одну и ту же версию библиотеки, что делает приложение более согласованным и простым в управлении.

Лучшие практики

Следование практикам DevSecOps может помочь конечным пользователям использовать и защищать приложения на основе Lambda более эффективно. [9] В приложениях на основе Lambda граница между инфраструктурой и бизнес-логикой размыта, и приложения обычно распределены по различным сервисам. По словам Янь Цуя, чтобы получить максимальную отдачу от усилий по тестированию, приложения на основе Lambda следует тестировать в основном для их интеграции, а модульные тесты следует использовать только в случае наличия сложной бизнес-логики. Кроме того, чтобы упростить отладку и реализацию приложений на основе Lambda, разработчикам следует использовать оркестровку в ограниченном контексте микросервиса и хореографию между ограниченными контекстами . [ 10]

Вспомогательные инструменты

Lambda Live Debugger — это инструмент с открытым исходным кодом , который помогает вам отлаживать функции AWS Lambda с вашего компьютера, пока они развернуты в облаке. Он поддерживает AWS CDK v2, Serverless Framework v3, AWS Serverless Application Model (SAM) и Terraform . [11]

Безопасность

В апреле 2022 года исследователи обнаружили вредоносное ПО для майнинга криптовалют, нацеленное на AWS Lambda, под названием «Denonia». [12] [13] [14]

Смотрите также

Ссылки

  1. ^ Serverless Development on AWS Building Enterprise-Scale Serverless Solutions . O'Reilly Media. ISBN 9781098141899.
  2. ^ Маннс, Крис (15 января 2018 г.). «Объявление о поддержке Go для AWS Lambda». Amazon Web Services . Получено 10 декабря 2019 г.
  3. ^ Маннс, Крис (29 ноября 2018 г.). «Объявление о поддержке Ruby для AWS Lambda». Amazon Web Services . Получено 10 декабря 2019 г.
  4. ^ «AWS Lambda теперь поддерживает пользовательские среды выполнения и позволяет совместно использовать общий код между функциями». Amazon Web Services . 29 ноября 2018 г. Получено 10 декабря 2019 г.
  5. ^ "Новое – Обеспеченный параллелизм для функций Lambda". aws.amazon.com . 3 декабря 2019 г. Получено 12 октября 2020 г.
  6. ^ "Новое – Обеспеченный параллелизм для функций Lambda". Amazon Web Services . 2019-12-03 . Получено 2020-02-03 .
  7. ^ "URL-адреса функций Lambda - AWS Lambda". docs.aws.amazon.com . Получено 01.03.2024 .
  8. ^ «Создание бессерверных SaaS-микросервисов с использованием слоев AWS Lambda | Блог AWS Partner Network (APN)». aws.amazon.com . 2022-08-11 . Получено 2024-02-02 .
  9. ^ Катцер, Джейсон (2020). Изучение Serverless: проектирование, разработка и развертывание с уверенностью . O'Reilly Media. ISBN 978-1492057017.
  10. ^ Cui, Yan (2020). Serverless Architectures on AWS (2-е изд.). Manning. ISBN 978-1617295423.
  11. ^ "Lambda Live Debugger". GitHub .
  12. ^ https://www.cadosecurity.com/blog/cado-discovers-denonia-the-first-malware-specially-targeting-lambda
  13. ^ https://indianexpress.com/article/technology/crypto/cryptocurrency-mining-malware-used-to-target-aws-lambda-research-7859739/
  14. ^ https://therecord.media/researcher-finds-cryptomining-malware-targeting-aws-lambda

Внешние ссылки