“Ви пишете код, AWS його виконує. Немає необхідності керувати інфраструктурою, немає серверів для оновлення. Просто розгорніть і працюйте.”
Ось у чому краса серверлес — і якщо ви новачок, AWS робить старт дуже простим.
Розробляйте без головного болю від серверів
Що таке серверлесс?
Серверлесс не означає без серверів. Це означає, що вам не потрібно ними керувати. У серверлес-середовищі 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 робить старт дуже простим.
Розробляйте без головного болю від серверів
Що таке серверлес?
Серверлес не означає без серверів. Це означає, що вам не потрібно ними керувати. У серверлес-середовищі 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