Что такое лямбда-слои AWS?

AWS Lambda - это вычислительный сервис, предлагаемый Amazon в составе Amazon Web Service (AWS) , который позволяет запускать бэкэнд-коды без управления сервером и его подготовки. Только затраченное время вычислений оплачивается, вам не нужно платить, пока ваш код работает. AWS Lambda может быть настроен на включение дополнительного кода и контента в виде разных слоев. Слой - это ZIP-архив, который содержит все библиотеки, пользовательскую среду выполнения или другие зависимости. Слои позволяют использовать библиотеки в ваших функциях, фактически не включая их в пакет развертывания, что значительно упрощает разработку.

Лямбда-слои AWS

AWS Lambda Partners предлагает свои собственные уровни для клиентов AWS в области безопасности, мониторинга и управления приложениями.

1. Уровни безопасности

Облачная безопасность является высшим приоритетом в AWS. Вы и AWS разделяете ответственность за безопасность облака и безопасность в облаке.

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

Примеры уровней безопасности от партнеров APN:

  • Protego предлагает модуль самозащиты Protego Function (FSP).
  • PureSec помогает управлять и внедрять лучшие практики обеспечения безопасности на сервере.
  • Twistlock обеспечивает контроль безопасности со своими слоями Defender.

2. Уровни мониторинга

AWS Lambda автоматически отслеживает все функции Lambda, а показатели передаются через CloudWatch. Лямбда автоматически отслеживает количество запросов, количество запросов, приводящих к ошибкам, и продолжительность выполнения каждого запроса. Консоль AWS Lambda, консоль CloudWatch и другие ресурсы AWS отображают частоту запросов и частоту ошибок ваших функций Lambda. Примеры уровней мониторинга от партнеров APN:

  • Datadog предлагает инструментальный слой для Python
  • Epsagon предлагает слой, который позволяет распределенную трассировку Epsagon.
  • IOpipe предлагает настраиваемые и многомерные оповещения.
  • NodeSource предлагает эффективный мониторинг для Node.js.

3. Уровни управления приложениями

Консоль AWS помогает вам контролировать и управлять лямбда-приложениями. Стеки AWS CloudFormation перечислены в меню приложений с функциями Lambda. Следующая информация о вашем приложении будет отображаться:

  • Шаблон SAM или шаблон AWS CLoudFormation - это шаблон, который определяет ваше приложение.
  • Ресурсы - ресурсы AWS, определенные в шаблоне вашего приложения. Выберите имя функции из списка, чтобы управлять лямбда-функциями приложения.

Примеры уровней управления приложениями от партнеров APN:

  • Serverless Framework позволяет разработчикам развертывать серверные приложения.
  • Stackery отображает список всех слоев вашей учетной записи, которые вы можете применить к своей функции.

Партнеры AWS Lambda Runtime API

Вы можете выбрать пользовательскую среду выполнения при создании или обновлении функции с помощью Lambda Runtime API. Ваши собственные среды выполнения могут быть опубликованы или вы можете использовать среды выполнения, предоставленные другими. Примеры партнеров APN, которые предоставили поддержку для новых сред выполнения:

  • Alert Logic предоставляет библиотеки времени выполнения для Erlang и
  • BluAge обеспечивает поддержку
  • Stackery предоставляет слой времени выполнения PHP.

Конфигурации

Вы можете добавить до 5 слоев в конфигурацию вашей функции во время или после создания функции. Версии слоев могут быть указаны и могут быть обновлены позже в конфигурации функции.

Добавление слоя в функцию

  • Команда:

  • пример

  • Вы можете добавить несколько слоев из одной учетной записи в качестве функции или из другой учетной записи, указав его путь.
  • Версии каждого уровня можно указать, указав полный ARN версии уровня.
  • Предыдущие слои будут перезаписаны при добавлении новых слоев в ту же функцию.
  • Укажите пустой список, чтобы удалить все слои.

  • Функции получат доступ к слоям во время выполнения в / opt
  • Версия в последнем примененном слое используется, если один и тот же файл появляется в нескольких слоях.
  • Если слой был удален его создателем, функция продолжает работать, пока существует версия слоя.

Создание слоя

  • Команда:

  • Наряду с командой используются имя, описание, ZIP-архив и список дополнительных сред выполнения, совместимых со слоем.
  • пример

  • Новая версия создается, когда каждый раз вызывается версия publish-layer.
  • Команда для поиска совместимых слоев с временем выполнения вашей функции,

  • Команда для просмотра всех версий слоя есть,

  • Команда для получения более подробной информации о версии,

  • Команда для удаления версии слоя есть,

  • Функции не могут быть настроены для использования версий слоя, как только вы удалите его.

Включение библиотек в слой

Поместите библиотеки в папки, поддерживаемые во время выполнения, чтобы включить их в слой.

  • Джава:

  • Python:

  • Рубин:

  • Все:

Разрешения слоя

  • Чтобы настроить функцию в слое или использовать слой в другой учетной записи, необходимы разрешения политики пользователя от владельца.
  • Команда для добавления таких разрешений,

  • Разрешения применимы к одной версии слоя.
  • Разрешения должны предоставляться каждый раз, когда вы создаете новую версию слоя.

Вывод

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

Рекомендуемые статьи

Это руководство по лямбда-слоям AWS. Здесь мы обсуждаем различные уровни AWS Lambda, которые включают уровни безопасности, уровни мониторинга и уровни управления приложениями вместе с его конфигурациями. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Что такое AWS RedShift?
  2. AWS Kinesis
  3. Сервисы AWS
  4. Что такое AWS CloudFront?
  5. Топ 9 полезных сравнений Эрланга и Хаскелла
  6. Конкуренты AWS с функциями