Давайте изучим основы AWS Lambda и пошаговое выполнение функции.
Содержание
введение
Когда вы создаете приложения, вы хотите, чтобы они обеспечивали отличный пользовательский интерфейс. Чтобы волшебство произошло, вашему приложению нужен внутренний код, который запускается в ответ на события.
Но управление инфраструктурой для размещения и выполнения серверного кода требует от вас определения размера, предоставления и масштабирования группы серверов, управления обновлениями операционной системы, применения исправлений безопасности, а затем мониторинга всей этой инфраструктуры на предмет производительности и доступности.
Было бы неплохо, если бы вы могли сосредоточиться на создании отличных приложений, не беспокоясь об их инфраструктуре? Вот где на помощь приходит AWS Lambda.
Что такое AWS Lambda?
AWS Lambda — это сервис для бессерверных вычислений, который позволяет запускать код, не беспокоясь о предоставлении серверов или управлении ими. Вы можете запускать свое приложение или серверную службу с помощью AWS Lambda без необходимости администрирования. Просто загрузите свой код в Lambda, и он запустит ваш код, даже масштабируя инфраструктуру с высокой доступностью.
Код, который вы запускаете в AWS Lambda, называется лямбда-функцией. В настоящее время он поддерживает следующие языки программирования:
- Джава
- питон
- С#
- Node.js
- идти
- PowerShell
- Рубин
Он также предоставляет API среды выполнения, который можно использовать для запуска функций, написанных на других (родных) языках программирования.
Для работы с AWS Lambda есть только одно необходимое условие; у вас должна быть учетная запись на AWS, откуда вы можете получить доступ к консоли управления AWS.
Вы можете позвонить Lambda — это FaaS (функция как услуга) от AWS.
Возможности AWS Lambda
Ниже приведены некоторые важные функции, предлагаемые AWS Lambda:
- AWS Lambda легко масштабирует инфраструктуру без дополнительной настройки. Это снижает объем оперативной работы.
- Он предлагает несколько вариантов, таких как AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit и многие другие, для запуска событий.
- Вам не нужно вкладывать деньги вперед. Вы платите только за память, используемую лямбда-функцией, и минимальные затраты на количество запросов, поэтому это рентабельно.
- AWS Lambda защищен. Он использует AWS IAM для определения всех ролей и политик безопасности.
- Он обеспечивает отказоустойчивость для служб, которые выполняют код и функции. Вам не нужно беспокоиться о том, что приложение не работает.
Цены на АВС Лямбда
Стоимость AWS Lambda зависит от продолжительности и памяти, используемых написанной вами лямбда-функцией. Максимум, который вы можете выделить для лямбда-функции, — 3008 МБ памяти с шагом 64 МБ. Ниже таблица цен со всеми платами памяти на 100 миллисекунд.
Как работает AWS Lambda?
- Сначала вы создаете функцию и добавляете к ней базовую информацию, например язык программирования, который будет использоваться в функции.
- Затем вы пишете свой код в лямбда-редакторе или загружаете его на поддерживаемом языке программирования в виде zip-файла.
- После отправки лямбда-кода служба выполняет масштабирование емкости, установку исправлений и администрирование инфраструктуры.
- Чтобы запустить код, вам нужно запустить лямбда-функцию с помощью внешнего сервиса AWS, который может вызывать лямбда-функцию. Например, это может быть ведро S3.
- В течение нескольких секунд лямбда будет готова автоматически запускать вашу функцию при возникновении события. AWS Lambda запускает ваш код при вызове триггерного события. Он обеспечивает управление сервером и мониторинг для вас.
- Если вашей функции требуется много вычислительной мощности, она выберет тип экземпляра с большей вычислительной мощностью и оперативной памятью, или, если ваш лямбда-код выполняется всего две секунды, он выберет самый низкий из возможных экземпляров, что сэкономит вам деньги и время.
Вот как работает AWS Lambda внутри. Позвольте мне показать вам демо на AWS Lambda.
Создание функции AWS Lambda
Для этой статьи я собираюсь сделать очень простую игру, используя лямбда-функцию в Node.js. Я создам лямбда-функцию, которая бросает кости, генерирует случайное число от 1 до 6 и печатает его.
- Перейдите в Консоль управления AWS и в строке поиска введите Lambda, щелкните Lambda.
- Появится окно функции, нажмите Создать функцию.
- Вы получите разные варианты создания функции с их объяснением. Поскольку я создаю его с нуля, я выберу Автора с нуля.
- После этого вам нужно заполнить некоторую необходимую информацию для этой лямбда-функции. Введите имя функции и выберите версию Node.js, которую вы хотите использовать для этой функции.
- Также необходимо выбрать исполнительную роль. Поскольку в моей учетной записи AWS не определены существующие роли, я выберу вариант создания новой роли. Щелкните Создать объект.
- Вы получите сообщение об успешном завершении соединения. Нажмите на окно конструктора, чтобы свернуть его.
- Далее будет окно кода функции.
- Вставьте код ниже в редактор. Вы также можете загрузить код с помощью zip-файла, но я использую внутренний редактор кода AVS.
- Это простой код, который принимает только числа от 1 до 6 и использует случайную математическую функцию для генерации случайного числа и вывода его при вызове функции.
exports.handler = async (event) => { const min = 1; const max = 6; const randomNum = Math.floor(Math.random() * (max - min + 1)) + min; const out="Dice throw result is: " + randomNum; return out; };
- Теперь нажмите кнопку «Тест» в правом верхнем углу. Вы получите всплывающее окно для настройки тестового события, введите имя события и нажмите «Настроить».
- Теперь нажмите «Сохранить», а затем «Проверить».
В результате выполнения вы увидите вывод только что написанной логики функции. Выведите — результат броска игральной кости равен 2.
- Прокрутите вверх и щелкните подробные результаты выполнения, чтобы получить полную сводку этой лямбда-функции с ожидаемым результатом. Также доступны такие сведения, как идентификатор запроса, продолжительность, продолжительность выставления счетов, настроенные ресурсы и т. д. с выводом журнала.
- Нажмите на вкладку мониторинга, чтобы визуализировать журналы облачного мониторинга и производительность лямбда-функции за определенное время.
- Если вы зайдете в журналы, созданные CloudWatch, вы сможете просмотреть сведения о том, что произошло при запуске лямбда-функции, которая отслеживалась CloudWatch.
Заключение
Начать работу с Lambda очень просто. Если для вашего бизнес-приложения требуется выполнение серверного кода, рассмотрите возможность использования бессерверной платформы, такой как AWS Lambda.
Вам понравилось читать статью? Как насчет того, чтобы поделиться этим с миром?