Учебное пособие по AWS Lambda: ваше руководство по бессерверным вычислениям Amazon



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

Учебное пособие по AWS Lambda

Сегодня мы поговорим об AWS Lambda. AWS Lambda - это вычислительный сервис, предлагаемый Amazon. Вам должно быть любопытно, поскольку AWS предлагает несколько других вычислительных сервисов, таких как AWS EC2, AWS Elastic Beanstalk, AWS Opsworks и т. Д., Тогда зачем еще один вычислительный сервис? В этом руководстве по AWS Lambda вы узнаете, что такое AWS Lambda, почему она используется и в каких случаях ее следует учитывать.

Давайте посмотрим, как Amazon определяет AWS Lambda, а затем мы глубоко погрузимся в ключевые концепции, разберемся с вариантом использования и, в конце концов, на практике.





Лямбда-бессерверные вычисления - учебное пособие по aws lambda

Что такое AWS Lambda?

Amazon объясняет, что AWS Lambda (и лямбда) как «бессерверная» вычислительная служба, то есть разработчикам не нужно беспокоиться о том, какие ресурсы AWS запускать или как они будут ими управлять, они просто помещают код в лямбда, и он запускается. , это так просто! Это поможет вам сосредоточиться на основной компетенции, то есть на создании приложений или коде.



Где я буду использовать AWS Lambda?

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

Итак, как это работает?

Код, который вы хотите запустить Lambda, известен как Лямбда-функция . Теперь, как мы знаем, функция запускается только тогда, когда она вызывается, верно? Вот, Источник события - это объект, который запускает лямбда-функцию, после чего задача выполняется.

Давайте рассмотрим пример, чтобы понять это более ясно.



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

Итак, эту задачу по загрузке изображения можно определить как Источник события или «триггер», который вызовет лямбда-функцию, и затем все эти задачи могут быть выполнены с помощью лямбда-функции.

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

Давайте теперь разберемся в этом примере с реальными ресурсами AWS,

Рис. Пример использования Lambda с S3

Здесь мы будем загружать изображения в форме объектов в корзину S3. Эта загрузка изображения в корзину S3 станет источником события или «триггером».

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

анзибль против шеф-повара против марионетки
  1. Пользователь загружает изображение (объект) в сегмент источника в S3, к которому прикреплено уведомление, для Lambda.
  2. Уведомление читается S3, и он решает, куда отправить это уведомление.
  3. S3 отправляет уведомление в Lambda, это уведомление действует как вызов функции лямбда.
  4. Роль выполнения в Lambda может быть определена с помощью IAM (Identity and Access Management), чтобы предоставить разрешение на доступ к ресурсам AWS, для этого примера здесь это будет S3.
  5. Наконец, он вызывает желаемую лямбда-функцию, которая работает с объектом, который был загружен в корзину S3.

Если бы вам пришлось решать этот сценарий традиционно, наряду с разработкой, вы бы наняли людей для управления следующими задачами:

  • Размер, подготовка и масштабирование группы серверов
  • Управление обновлениями ОС
  • Примените исправления безопасности и
  • Контролируйте всю эту инфраструктуру на предмет производительности и доступности.

Это было бы дорогостоящим, утомительным и утомительным занятием, поэтому потребность в AWS Lambda оправдана.AWS Lambda совместима с Node.JS, Python и Java, поэтому вы можете загрузить свой файл в виде zip-архива, определить источник события, и все готово!

Вы можете узнать больше о S3 AWS здесь для более глубокого понимания.

Теперь мы знаем -Как работает лямбда иЧто лямбда лань s .

Nой, давай понять-

  • Где использовать лямбду?
  • Какой цели служит лямбда, чтодругие сервисы AWS Compute - нет?

Если бы вам нужно было разработать решение проблемы, вы бы смогли определить, где использовать Lambda, верно?

Итак, у вас как у архитектора есть следующие возможности для выполнения задачи:

  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

Давайте возьмем вышеупомянутый вариант использования в качестве примера и поймем, почему мы выбрали Lambda для его решения.

AWS OpsWorks и AWS ElasticBeanstalk используются для развертывания приложения, поэтому наш вариант использования не создать приложение , но для выполнения внутреннего кода.

Тогда почему не EC2?

Если бы вы использовали EC2, вам пришлось бы спроектировать все, например, балансировщик нагрузки, тома EBS, программные стеки и т. Д. В лямбде вам не нужно ни о чем беспокоиться, просто вставьте свой код, а AWS сделает все остальное!

Например , в EC2 вы бы устанавливали на свою виртуальную машину пакеты программного обеспечения, которые поддерживали бы ваш код, но в Lambda вам не нужно беспокоиться о какой-либо виртуальной машине, просто вставьте простой код, и Lambda выполнит его за вас.

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

Например , регистрируя активность электронной почты для, скажем, небольшой компании, будет больше активности в течение дня, чем ночью, также могут быть дни, когда нужно обрабатывать меньше писем, и иногда весь мир может начать вам писать по электронной почте! В обоих случаях к вашим услугам Lambda.

Учитывая этот вариант использования для крупной социальной сети, где электронные письма никогда не заканчиваются из-за огромной базы пользователей, Lambda может быть не лучшим выбором.

Вы можете узнать больше о EC2 AWS здесь для более глубокого понимания.

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

Некоторые ограничения зависят от оборудования, а некоторые связаны с архитектурой, давайте обсудим их все.

Аппаратные ограничения включая размер диска, который ограничен 512 МБ, объем памяти может варьироваться от 128 МБ до 1536 МБ. Затем есть и другие, например, время ожидания выполнения может быть увеличено до 5 минут, полезная нагрузка тела запроса может быть не более 6 МБ, а тело запроса - 128 КБ. Полезная нагрузка тела запроса подобна данным, которые вы отправляете с запросом «GET» или «PUT» в HTTP, где в качестве тела запроса будут использоваться тип запроса, заголовки и т. Д.

Java-программа для проверки палиндрома

На самом деле это не ограничения, а границы проектирования, которые были установлены в архитектуре Lambda, поэтому, если ваш вариант использования не подходит, вы всегда будете иметь в своем распоряжении другие вычислительные сервисы AWS.

В этом руководстве по AWS Lambda мы обсуждали, как выполнение задач в Lambda «не» утомительно и утомительно. Давайте теперь покроем и часть расходов.

Цены в AWS Lambda

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

  • Номер Запросы что вы делаете для своей лямбда-функции
  • В продолжительность для которого выполняется ваш код.

Запросы

  • Вы платите за количество запросов, которые вы делаете через все ваши лямбда-функции.
  • AWS Lambda считает запрос каждый раз, когда он начинает выполнение в ответ на источник события или вызывает вызов, в том числе тест, вызываемый с консоли. Теперь посмотрим на цены:
    • Первый миллион запросов каждый месяц - бесплатно.
    • 0,20 $ за миллион запросов после этого.

Продолжительность

  • Продолжительность рассчитывается с момента начала выполнения вашего кода до момента его возврата или завершения, она округляется до ближайших 100 мс.
  • Цена зависит от объема памяти, который вы выделяете для своей функции, с вас взимается 0,00001667 долларов США за каждую использованную ГБ-секунду.

* Источник: официальный сайт AWS.

Если вы дошли до этого момента, вы готовы к практическому использованию лямбды. Давайте повеселимся!

Практическое занятие: AWS Lambda DIY

Давайте создадим лямбда-функцию, которая будет регистрировать «объект был добавлен» после того, как вы добавите объект в конкретную корзину в S3.

Шаг 1: В Консоли управления AWS в разделе вычислений выберите AWS Lambda.

Шаг 2: В консоли AWS Lambda нажмите «Создать функцию Lambda».

Шаг 3: На следующей странице вам нужно выбрать чертеж. Например, мы выберем пустую функцию для нашего варианта использования.

Шаг 4: На следующей странице вы (1) установите триггер, поскольку мы собираемся работать с S3, (2) выберите триггер S3 и затем (3) нажмите Next.

Шаг 5: На странице конфигурации заполните данные. Вы можете поместить свой собственный код или скопировать тот же код из этого варианта использования. После этого заполните обработчик и роль, оставьте расширенные настройки как есть, в конце нажмите «Далее».

запустить запрос куста из командной строки

Шаг 6: На следующей странице просмотрите всю информацию и нажмите «Создать функцию».

Шаг 7: Теперь, когда мы создали функцию для корзины S3, в тот момент, когда вы добавляете файл в корзину S3, вы должны получить для нее журнал в CloudWatch, который является службой мониторинга от AWS.

Поздравляю!Вы успешно выполнили лямбда-функцию.

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

Если вы сочли это руководство по AWS Lambda релевантным, вы можете ознакомиться с живым курсом Edureka под руководством инструктора на , совместно созданный практиками отрасли.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев, и мы свяжемся с вами.