✨ Посібник для початківців по серверлес на AWS: Створіть свій перший Lambda додаток за кілька хвилин

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

Ось у чому краса серверлес — і якщо ви новачок, AWS робить старт дуже простим.

pic

Розробляйте без головного болю від серверів

Що таке серверлесс?

Серверлесс не означає без серверів. Це означає, що вам не потрібно ними керувати. У серверлес-середовищі AWS:

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

Це ідеально підходить для:

  • API
  • Подієвих додатків
  • Автоматизаційних скриптів
  • Фонових завдань
  • Запланованих задач

Переваги очевидні:

  • Платіть лише за час роботи вашого коду — більше не потрібно платити за простоюючі сервери
  • Автоматичне масштабування — від одного користувача до мільйона без змін
  • Прискорена розробка — зосередьтесь на функціях, а не на управлінні інфраструктурою

Основні концепції серверлес-архітектури

Розглянемо основні сервіси, які підтримують серверлес-додатки в AWS:

Lambda Functions

Lambda — це обчислювальний механізм серверлес-додатків, який запускає ваш код у відповідь на події. Лямбда-функції — це невеликі частини коду, що виконуються при активації і зникають після завершення роботи, причому AWS обробляє всю підкладку інфраструктури.

Lambda функції:

  • Запускаються в ізольованому, безпечному середовищі
  • Масштабуються автоматично в залежності від кількості вхідних подій
  • Підтримують декілька мов програмування (JavaScript, Python, Java, .NET, Go, Ruby)
  • Оцінюються на основі часу виконання та використаної пам'яті

API Gateway

API Gateway — це вхідна точка для вашого серверлес-додатку, що дозволяє запускати Lambda-функції через HTTP/HTTPS запити. Він перетворює Lambda-функції на веб-доступні API, які можна викликати з браузерів, мобільних додатків або інших сервісів.

API Gateway обробляє:

  • Маршрутизацію запитів і валідацію
  • Аутентифікацію та авторизацію
  • Обмеження запитів і обмеження пропускної здатності
  • Форматування відповіді
  • Підтримку CORS
  • Версійність API

S3 (Simple Storage Service)

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

S3 надає:

  • Майже необмежену ємність для зберігання
  • 99.999999999% надійності
  • Події, що спрацьовують при створенні, оновленні або видаленні файлів
  • Можливість хостингу статичних вебсайтів
  • Політики життєвого циклу для автоматичного переміщення або видалення об'єктів

DynamoDB

DynamoDB — це повністю керована служба NoSQL баз даних, яка ідеально підходить для серверлес-додатків. Вона забезпечує величезну масштабованість з постійною швидкістю обробки і не потребує адміністрування бази даних.

DynamoDB надає:

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

EventBridge

EventBridge (раніше CloudWatch Events) — це служба автобусу подій, яка сприяє подієвим архітектурам. Вона дозволяє вашим серверлес-додаткам реагувати на зміни в різних сервісах AWS та вашому додатку без написання складного інтеграційного коду.

EventBridge дозволяє вам:

  • Створювати правила для відповідності подіям і спрямовувати їх до цільових об'єктів, таких як Lambda-функції
  • Фільтрувати події на основі їх вмісту
  • Планувати події на певний час
  • Підключатися до сторонніх SaaS додатків
  • Будувати складні подієві робочі процеси

CloudWatch

CloudWatch надає моніторинг та спостережуваність для вашого серверлес-додатку.

“Ви пишете код, AWS його виконує. Немає необхідності керувати інфраструктурою, немає серверів для оновлення. Просто розгорніть і працюйте.”
Ось у чому краса серверлес — і якщо ви новачок, AWS робить старт дуже простим.

pic

Розробляйте без головного болю від серверів

Що таке серверлес?

Серверлес не означає без серверів. Це означає, що вам не потрібно ними керувати. У серверлес-середовищі AWS:

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

Це ідеально підходить для:

  • API
  • Подієвих додатків
  • Автоматизаційних скриптів
  • Фонових завдань
  • Запланованих задач

Переваги очевидні:

  • Платіть лише за час роботи вашого коду — більше не потрібно платити за простоюючі сервери
  • Автоматичне масштабування — від одного користувача до мільйона без змін
  • Прискорена розробка — зосередьтесь на функціях, а не на управлінні інфраструктурою

Основні концепції серверлес-архітектури

Розглянемо основні сервіси, які підтримують серверлес-додатки в AWS:

Lambda Functions

Lambda — це обчислювальний механізм серверлес-додатків, який запускає ваш код у відповідь на події. Лямбда-функції — це невеликі частини коду, що виконуються при активації і зникають після завершення роботи, причому AWS обробляє всю підкладку інфраструктури.

Lambda функції:

  • Запускаються в ізольованому, безпечному середовищі
  • Масштабуються автоматично в залежності від кількості вхідних подій
  • Підтримують декілька мов програмування (JavaScript, Python, Java, .NET, Go, Ruby)
  • Оцінюються на основі часу виконання та використаної пам'яті

API Gateway

API Gateway — це вхідна точка для вашого серверлес-додатку, що дозволяє запускати Lambda-функції через HTTP/HTTPS запити. Він перетворює Lambda-функції на веб-доступні API, які можна викликати з браузерів, мобільних додатків або інших сервісів.

API Gateway обробляє:

  • Маршрутизацію запитів і валідацію
  • Аутентифікацію та авторизацію
  • Обмеження запитів і обмеження пропускної здатності
  • Форматування відповіді
  • Підтримку CORS
  • Версійність API

S3 (Simple Storage Service)

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

S3 надає:

  • Майже необмежену ємність для зберігання
  • 99.999999999% надійності
  • Події, що спрацьовують при створенні, оновленні або видаленні файлів
  • Можливість хостингу статичних вебсайтів
  • Політики життєвого циклу для автоматичного переміщення або видалення об'єктів

DynamoDB

DynamoDB — це повністю керована служба NoSQL баз даних, яка ідеально підходить для серверлес-додатків. Вона забезпечує величезну масштабованість з постійною швидкістю обробки і не потребує адміністрування бази даних.

DynamoDB надає:

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

EventBridge

EventBridge (раніше CloudWatch Events) — це служба автобусу подій, яка сприяє подієвим архітектурам. Вона дозволяє вашим серверлес-додаткам реагувати на зміни в різних сервісах AWS та вашому додатку без написання складного інтеграційного коду.

EventBridge дозволяє вам:

  • Створювати правила для відповідності подіям і спрямовувати їх до цільових об'єктів, таких як Lambda-функції
  • Фільтрувати події на основі їх вмісту
  • Планувати події на певний час
  • Підключатися до сторонніх SaaS додатків
  • Будувати складні подієві робочі процеси

CloudWatch

CloudWatch надає моніторинг та спостережуваність для вашого серверлес-додатку.

Перекладено з: ✨ A Beginner’s Guide to Serverless on AWS: Build Your First Lambda App in Minutes