Введение в AWS Lambda

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

проблема

Вы имеете в виду проект. Вы формулируете алгоритм в своем уме. Вы оцениваете параметры технологического стека, которые вы можете использовать для создания своего проекта. Все идет очень хорошо, пока вы не поймете, что вам необходимо загрузить необходимое программное обеспечение, IDE, инструменты и выделить место на сервере для обслуживания вашего кода. Хорошо, вам нужно будет настроить базовую инфраструктуру, прежде чем вы начнете создавать код для своего проекта. Ох, но вам нужно, чтобы ваше приложение работало как на компьютерах, так и на мобильных интерфейсах. Это означает, что больше инфраструктуры нужно настроить до того, как вы начнете программировать.

Слишком много накладных расходов на начальных этапах разработки? Слишком много накладных расходов на управление инфраструктурой, даже когда ваш проект масштабируется? Ваш проект выходит за рамки сметы расходов? Ваш фокус разделен между всеми вещами, кроме кодирования?

Решение - это проблемы, но AWS Lambda является решением.

AWS Lambda - безсерверные вычисления

AWS Lambda позволяет запускать ваш код без выделения ресурсов для серверов и другой вспомогательной инфраструктуры. Вы можете кодировать в любом типе приложения или серверной службы, не беспокоясь о сервере или вспомогательных DLL / программном обеспечении. Вам нужно только сосредоточиться на своем коде. Остальное все заботится AWS, начиная с обслуживания вашего кода, запуска вашего кода на определенных событиях и заканчивая управлением большим количеством серверного пространства, когда ваш код расширяется.

  • AWS выставляет вам счета в зависимости от времени выполнения вашего кода, кратного 100-миллисекундным кадрам. Плата за то время, пока ваш код простаивает на сервере, не взимается. Какая лучшая мотивация для написания эффективного кода!
  • Термин «безсерверный» часто обозначает переход к облаку. Благодаря облаку вы можете делегировать свои операционные обязанности AWS и уделять больше внимания обеспечению лучшего взаимодействия с потребителем с помощью своего приложения.
  • При этом AWS выполняет такие задачи, как управление инфраструктурой, кластеризация, исправления, безопасность, обслуживание операционной системы и т. Д.

Почему AWS Lambda?

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

1) Принесите свой собственный код

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

2) Хост других сервисов AWS

AWS - это универсальный магазин для всей необходимой инфраструктуры. Он имеет простую интеграцию в различные сервисы, такие как хранилище (S3), базы данных (RDS, DynamoDB), серверы (EC2), управление безопасностью (IAM), сетевое взаимодействие (Route53, CloudFront) и многое другое.

3) Пользовательский код

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

4) Оплата за использование

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

5) Автоматическое масштабирование

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

6) Амазонское аварийное восстановление

Поскольку ваш код и данные реплицированы в нескольких зонах доступности, любой сбой объекта не влияет на ваше приложение. Запросы автоматически направляются в другую зону.

Давайте начнем с AWS Lambda Tutorial

В восторге? Давайте начнем с AWS Lambda. Так как это обычай в мире программирования, мы начнем с простой программы «Hello World».

Предварительно необходимые шаги

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

Создать аккаунт AWS

  • Откройте консоль AWS. Нажмите «Создать новую учетную запись AWS».

  • Заполните свою информацию и обновите данные своей карты. Amazon не будет взимать с вас плату, если вы не превысите лимит бесплатного использования. Предел использования бесплатного уровня является достаточным для однопользовательской разработки.
  • После завершения процесса регистрации снова перейдите по ссылке на шаге 1. На этот раз войдите в консоль со своим именем пользователя и паролем.

Введите лямбда-консоль

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

Вот так выглядит на первый взгляд лямбда-консоль:

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

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

Создание лямбда-функции AWS

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

Шаг 1

Теперь у нас есть три варианта:

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

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

Теперь нажмите «Использовать план» и найдите слово «привет». Появятся следующие результаты. Давайте создадим наше приложение hello world, используя NodeJS.

Шаг 2

Теперь мы подошли к экрану конфигурации для нашей функции. Введите имя по вашему выбору и выберите «Создать новую роль из шаблонов политики AWS» в раскрывающемся списке «Роль выполнения». Дайте имя роли как «lambda_basic_execution».

Примечание . Роль выполнения определяет разрешения, которые AWS Lambda может использовать при выполнении вашего кода. Базовое выполнение означает, что лямбда просто выполнит код, в котором не задействована сторонняя библиотека. Если вашему коду необходимо взаимодействовать с Amazon S3 или RDS или EC2 или любыми другими сервисами, соответствующие функции доступа к этим сервисам должны быть предоставлены лямбда-функции AWS.

Нажмите на кнопку «Создать функцию» в нижней части экрана. Следующий экран появляется при успешном создании вашей функции.

Примечание. Имя ресурса ARN или Amazon - это уникальное имя вашей функции. Это может быть использовано в качестве конечной точки для запуска вашей функции. Триггеры в разделе конструктора - это место, где вы добавляете сервисы, которые могут запускать вашу функцию. В каждой службе, которая может запускать вашу функцию, ARN вашей функции должен быть настроен. Это как двусторонняя привязка сервисов. Служба триггера будет знать, что ей нужно попасть в вашу функцию, и ваша функция будет настроена на получение запросов от добавляемых вами служб триггера. Добавление триггеров является следующим уровнем лямбда-уроков и выходит за рамки этой статьи.

Шаг 3

Под подразделом конструктора находится подраздел «Код функции». Это ваша встроенная IDE, поддерживаемая Amazon. Это выглядит примерно так:

  • В раскрывающемся списке «Тип ввода кода» вы можете выбрать, хотите ли вы редактировать встроенный код, загрузить файл ZIP из своей системы или загрузить файл ZIP из Amazon S3. Параметры загрузки могут использоваться для сложных кодов, которые могут быть легко отредактированы в лучшей интегрированной среде разработки в вашей локальной системе.
  • Runtime - это язык / фреймворк, который поддерживает ваш код.
  • Обработчик - это функция вызова внутри вашей лямбда-функции AWS. Ваша лямбда-функция AWS может иметь несколько обработчиков, и вы можете указать, с какого обработчика начинать выполнение. Обработчики изображений как методы, предназначенные для выполнения определенных задач.

Шаг 4

В верхней части страницы вы увидите полосу с несколькими кнопками. Нажмите на Выбрать тестовое событие, чтобы протестировать наш код. Это предложит вам настроить тестовое событие, если оно не создано.

Настройте ваше первое тестовое событие, как показано ниже:

Сохраните тестовое событие и нажмите «Тест». Вы увидите результаты выполнения вашей функции.

  • Ответ - конечный результат, возвращаемый вашей функцией. Обратите внимание, что наша функция вернула key1.
  • Идентификатор запроса - каждый запрос к вашей функции имеет уникальный идентификатор запроса. Они используются Amazon для отслеживания запросов и генерации платежной информации.
  • Журналы функций - самая проницательная часть AWS Lambda. Это подробные журналы, которые указывают начало и конец выполнения вашей функции. В отличие от отладки в обычных средах разработки, AWS Lambda в значительной степени полагается на журналы в целях отладки. Они хранятся в CloudWatch и для будущих ссылок.

Поздравляем! Вы успешно создали лямбда-функцию. Но подождите, мы еще не вызвали это. Мы только что проверили это из нашей собственной среды. Давайте вызовем это из внешнего мира.

Вызов лямбда-функции AWS

Мы будем создавать REST API для вызова функции Lambda.

Шаг 1

Перейдите на Amazon API Gateway. Его также можно найти в разделе «Сервисы» -> «Сеть и доставка контента». Нажмите на Создать API.

Шаг 2

Настройте базовые детали API, как показано ниже, и нажмите «Создать API».

Шаг 3

Теперь ваш API создан, но в API не определен метод HTTP. Нажмите на выпадающее меню Действия и Создать метод. Вы увидите, что на левой панели появится меньшее выпадающее меню. Нажмите на GET из этого выпадающего списка. В общем, мы создаем метод HTTP GET для нашего API.

Шаг 4

Сконфигурируйте ваш метод GET для вызова лямбда-функции, как показано ниже. Вам нужно указать ARN вашей лямбда-функции в поле Lambda Function. Нажмите на Сохранить.

Как только ваш метод GET будет сохранен, вы попадете на экран ниже выполнения метода.

Шаг 5

Теперь ваш метод GET также создан. Но мы все еще не предоставили пары ключ-значение, которые мы сделали в нашей тестовой среде. Наша функция AWS Lambda ожидает три ключа и значения. Давайте определим их.

Нажмите на запрос интеграции и прокрутите вниз до Mapping Templates. Определите свой шаблон сопоставления, как показано ниже. Тип контента - приложение / JSON. Это просто формат параметров, которые вы будете отправлять в теле запроса.

API теперь готов к развертыванию.

Шаг 6

Нажмите на Действия и Развернуть API. Во всплывающем окне развертывания выберите New Stage и дайте осмысленное имя и описание.

Вы попадете на экран ниже с настроенной и готовой к использованию конечной точкой REST вашего API.

Нажмите на конечную точку, и браузер отправит запрос вашей функции Lambda и отобразит ответ.

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

Кто может изучать AWS Lambda?

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

AWS также имеет исчерпывающую документацию по всем своим услугам. Изучите документацию для более глубокого понимания мира AWS.

Карьера в AWS Lambda

Это не только лямбда, но и весь сектор Amazon Web Services сегодня процветающий. Существует спрос на специалистов по услугам AWS. AWS также предоставляет сертификаты, соответствующие вашему уровню знаний. Посетите веб-сайт AWS для получения дополнительной информации по этому вопросу.

Вывод

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

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

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

  1. Что такое AWS? | Как это работает?
  2. Карьера в Лазурном | Образование | Карьерная лестница
  3. Руководство по облачным вычислениям
  4. Каковы альтернативы AWS?
  5. Полное руководство для поставщиков облачных вычислений