Вступ до 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

Збуджений? Почнемо з AWS Lambda. Оскільки це звичай у всьому світі програмування, ми б почали з простої програми "Hello World".

Попередні кроки

Для початку роботи з AWS Lambda вам потрібно мати обліковий запис AWS. Він відрізняється від облікового запису Amazon, який ви використовуєте для покупок. Якщо у вас вже є, увійдіть до консолі та перейдіть до наступного розділу. Якщо ні, виконайте наведені нижче дії. Не хвилюйтесь, це абсолютно безкоштовно до тих пір, поки ваша заявка не перевищить ліміт вільного рівня.

Створіть акаунт AWS

  • Відкрийте консоль AWS. Клацніть на Створити новий акаунт AWS.

  • Заповніть свою інформацію та оновіть дані своєї картки. Amazon не стягуватиме з вас нічого, якщо ви не перевищите ліміт використання вільного рівня. Ліміт використання вільного рівня є рясним для розвитку одного користувача.
  • Завершивши процес реєстрації, знову перейдіть за посиланням на кроці 1. Цього разу увійдіть до консолі за допомогою свого імені користувача та пароля.

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

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

Ось так на перший погляд виглядає лямбда-консоль:

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

Ок, тому наступним кроком є ​​створення функції. Усі коди в лямбді називаються функціями, тому що вони добре виконують конкретне завдання. Зауважте кнопку створення функції у верхньому правому куті консолі Lambda. Ця кнопка переведе нас до нижнього екрана:

Створення функції AWS лямбда

Давайте подивимося, як створити функцію лямбда AWS, дотримуючись наведених нижче кроків.

Крок 1

Зараз у нас є три варіанти для початку:

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

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

Тепер натисніть на Використовувати креслення та шукайте слово привіт. Наступні результати з'являються. Давайте створимо наш привіт світовий додаток за допомогою NodeJS.

Крок 2

Тепер ми підходимо до екрана налаштування для нашої функції. Введіть назву, яку ви обрали, та виберіть "Створити нову роль з шаблонів політики AWS" зі спадного меню "Роль виконання". Назвіть назву ролі як "lambda_basic_execution".

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

Натисніть кнопку Створити функцію внизу екрана. На наступному екрані з’являється успішне створення вашої функції.

Примітка - Ім'я ресурсу ARN або Amazon - це унікальна назва вашої функції. Це може використовуватися як кінцева точка для запуску функції. Тригери в розділі дизайнера - це додавання служб, які можуть запустити вашу функцію. У кожній службі, яка може запустити вашу функцію, ARN вашої функції потрібно буде налаштувати. Це як двостороння прив'язка послуг. Служба тригера знає, що вона повинна впливати на вашу функцію, і ваша функція буде налаштована на отримання запитів від доданих тригерних служб. Додавання тригерів - це наступний рівень підручників лямбда та виходить за рамки цієї статті.

Крок 3

Нижче підрозділу дизайнера знаходиться підрозділ Код функції. Це ваш вбудований IDE за допомогою Amazon. Це виглядає приблизно так:

  • У спадному меню Тип введення коду ви можете вибрати, чи бажаєте ви редагувати вбудований код або завантажити поштовий файл зі своєї системи або завантажити поштовий файл з Amazon S3. Параметри завантаження можуть бути використані для складних кодів, які можна легко редагувати в деяких кращих IDE у вашій локальній системі.
  • Виконання - це мова / фреймворк, який підтримує ваш код.
  • Обробник - це функція виклику всередині вашої функції лямбда AWS. Ваша AWS лямбда-функція може мати декілька обробників, і ви можете вказати, з якого обробника розпочати виконання. Образотворці зображень як методи, призначені для виконання конкретних завдань.

Крок 4

У верхній частині сторінки ви побачите смужку з деякими кнопками. Клацніть на Вибрати подію тесту, щоб перевірити наш код. Це запропонує вам налаштувати тестову подію, якщо жодна не створена.

Налаштуйте свою першу тестову подію, як:

Збережіть тестову подію та натисніть на Тест. Ви побачите результати виконання своєї функції.

  • Відповідь - кінцевий результат, повернутий вашою функцією. Зауважте, що наша функція повернула ключ1.
  • Ідентифікатор запиту - кожен запит до вашої функції має унікальний ідентифікатор запиту. Вони використовуються Amazon для відстеження запитів та отримання вашої платіжної інформації.
  • Журнали функцій - найпроникливіша частина AWS Lambda. Це докладні журнали, які визначають початок і кінець виконання вашої функції. На відміну від налагодження у звичайних IDE, AWS Lambda сильно покладається на журнали з метою налагодження. Вони зберігаються у CloudWatch і для подальших посилань.

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

Викликати функцію лямбда AWS

Ми б створювали API REST для виклику функції Lambda.

Крок 1

Перейдіть до шлюзу API Amazon. Його можна також знайти у розділі Послуги -> Налагодження мережі та доставка вмісту. Клацніть на Створити API.

Крок 2

Налаштуйте основні дані API, як показано нижче, та натисніть кнопку Створити API.

Крок 3

Тепер ваш API створений, але в API немає визначеного методу HTTP. Клацніть спадне меню "Дії" та створити метод. Ви помітите, що на лівій панелі з’явиться менше спаду. Клацніть GET із цього спаду. Таким чином, ми створюємо метод HTTP GET для нашого API.

Крок 4

Налаштуйте свій метод GET для виклику функції лямбда, як показано нижче. Вам потрібно вказати ARN функції лямбда у полі Функція лямбда. Клацніть на Зберегти.

Як тільки ваш метод GET буде збережено, ви перейдете до наведеного нижче екрана виконання методів.

Крок 5

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

Клацніть на Запит на інтеграцію та прокрутіть вниз до Шаблонів карти. Визначте шаблон відображення, як показано нижче. Тип вмісту - application / json. Це просто формат параметрів, які ви надсилали б у своєму запиті.

Тепер API готовий до розгортання.

Крок 6

Клацніть на Дії та розгортати API. У спливаючому вікні розгортання виберіть Новий етап і дайте змістовне ім’я та опис.

Ви перейдете на екран нижче із кінцевою точкою REST вашого API, налаштованою та готовою до використання.

Клацніть на кінцевій точці, і браузер надішле запит на вашу функцію Lambda та відобразить відповідь.

Вітаємо! Ви також успішно викликали свою функцію лямбда. Досить досягнення.

Хто може навчитися AWS Lambda

Наразі повинно бути очевидно, що функція AWS Lambda вимагає трохи знань про сервіси, розгортання служб, запити та відповіді. Це основні речі, які повинен знати будь-який комп'ютерний програміст для створення веб-додатків. Якщо у вас недостатньо знань з цього приводу, рекомендується отримати ці знання, щоб забезпечити безпроблемне кодування в AWS Lambda.

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

Кар'єра в AWS Lambda

Це не лише Lambda, але весь сектор Amazon Web Services сьогодні процвітає. Існує попит на експертів із служб AWS. AWS також пропонує сертифікати, що відповідають вашому рівню знань. Перегляньте веб-сайт AWS для отримання додаткової інформації про це.

Висновок

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

Рекомендовані статті

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

  1. Що таке AWS? | Як це працює?
  2. Кар'єра в Лазурному | Освіта | Кар'єра
  3. Посібник з послуг хмарних обчислень
  4. Які альтернативи AWS?
  5. Повне керівництво постачальників послуг хмарних обчислень

Категорія: