Вступ до AWS Lambda для початківців

Давайте крок за кроком дізнаємось про основи AWS Lambda та як запустити функцію.

вступ

Коли ви створюєте програми, ви хочете, щоб вони забезпечували чудову взаємодію з користувачем. Щоб статися магія, вашій програмі потрібен серверний код, який запускатиметься у відповідь на події.

Але керування інфраструктурою для розміщення та виконання коду серверної частини вимагає від вас розміру, надання та масштабування групи серверів, керування оновленнями операційної системи, застосування патчів безпеки та моніторингу всієї цієї інфраструктури на продуктивність і доступність.

Чи не було б чудово, якби ви могли зосередитися на створенні чудових програм, не турбуючись про їх інфраструктуру? Ось тут і з’являється AWS Lambda.

Що таке AWS Lambda?

AWS Лямбда це безсерверний обчислювальний сервіс, який дозволяє вам запускати свій код, не турбуючись про надання чи керування сервером. Ви можете запускати свою програму або серверну службу за допомогою AWS Lambda без адміністрування. Просто завантажте свій код на Lambda, і він запустить ваш код, навіть масштабує інфраструктуру з високою доступністю.

Код, який ви запускаєте в AWS Lambda, називається лямбда-функцією. На даний момент він підтримує наступні мови програмування:

  • Java
  • Python
  • C#
  • Node.js
  • Іди
  • PowerShell
  • рубін

Він також надає API середовища виконання, який можна використовувати для запуску функцій, написаних іншими (рідними) мовами програмування.

Для роботи з AWS Lambda існує лише одна передумова; ви повинні мати обліковий запис на AWS, з якого ви можете отримати доступ до консолі керування AWS.

  Як грати в ретро-ігри на телевізорі NVIDIA SHIELD за допомогою емуляторів

Ви можете викликати Lambda is FaaS (Function-as-a-Service) від AWS.

Функції AWS Lambda

Нижче наведено деякі важливі функції, які пропонує AWS Lambda:

  • AWS Lambda легко масштабує інфраструктуру без додаткового налаштування. Це зменшує обсяг операційної роботи.
  • Він пропонує кілька варіантів, як-от AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit та багато інших, щоб ініціювати подію.
  • Вам не потрібно інвестувати наперед. Ви платите лише за пам’ять, яку використовує лямбда-функція, і мінімальні витрати на кількість запитів, отже економічно вигідно.
  • AWS Lambda безпечний. Він використовує AWS IAM для визначення всіх ролей і політик безпеки.
  • Він забезпечує відмовостійкість як для служб, які виконують код, так і для функції. Вам не потрібно турбуватися про те, що програма буде вимкнена.

Ціни AWS Lambda

Ціна 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-файлу, але я використовую внутрішній редактор коду AWS.

  • Це простий код, який приймає лише числа від 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;
};
  • Тепер натисніть кнопку Перевірити у верхньому правому куті. Ви отримаєте спливаюче вікно для налаштування тестової події, введіть назву події та натисніть налаштувати.
  Як змінити часовий пояс у вашому браузері [Firefox]

  • Тепер натисніть «Зберегти», а потім «Тестувати».

У результатах виконання ви побачите вихід логіки функції, яку ми щойно написали. Він друкує – результат кидка кубика дорівнює 2.

  • Прокрутіть угору та натисніть детальні результати виконання, щоб отримати повне резюме цієї лямбда-функції з очікуваним виходом. Також доступні такі відомості, як ідентифікатор запиту, тривалість, виставлена ​​тривалість, налаштовані ресурси тощо з виведенням журналу.

  • Клацніть на вкладці моніторингу, щоб візуалізувати журнали хмарного спостереження та продуктивність лямбда-функції протягом певного часу.

  • Якщо ви потрапите в журнали, створені CloudWatch, ви зможете подивитись подробиці того, що сталося під час запуску лямбда-функції, яку відстежував CloudWatch.

Висновок

Початок роботи з Lambda це дуже легко. Якщо ваша бізнес-програма потребує запуску коду серверної частини, ви можете розглянути можливість використання безсерверної платформи, як-от AWS Lambda.

Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?