Що таке serverless?
Serverless — модель запуску коду, за якої розробник завантажує функцію, а хмарний провайдер сам виділяє ресурси під кожен її виклик. Сервери, звісно, існують — просто ними не потрібно керувати, а оплата йде за фактичні виклики.
Такий підхід добре пасує для нерегулярних задач: обробка завантаженого файлу, реакція на вебхук, нічний звіт за розкладом, рідко використовуване API. Коли звернень немає, ви не платите нічого, а за сплеску навантаження масштабування відбувається автоматично.
Обмеження теж є: ліміт часу виконання, «холодний старт» при першому виклику після простою, відсутність стану між запусками та привʼязка до конкретної хмари. Для постійно навантаженого сервісу звичайний контейнер виходить дешевшим і передбачуванішим.
Повʼязані терміни
Хмарні технології — оренда обчислювальних ресурсів у провайдера замість купівлі власних серверів. Компанія бере потрібні потужності, бази та сервіси на вимогу й платить лише за фактичне споживання.
AWSAWS (Amazon Web Services) — найбільша хмарна платформа, що надає сотні сервісів: віртуальні сервери, сховища, бази даних, мережі, інструменти машинного навчання та моніторингу. Ресурси орендуються за потреби, оплата — за використання.
MicroservicesМікросервіси — архітектурний підхід, за якого застосунок складається з кількох невеликих самостійних сервісів. Кожен відповідає за свою область — оплату, каталог, сповіщення, — розгортається окремо й спілкується з рештою через API.
DevOpsDevOps — підхід до розробки, у якому створення програми та її експлуатація обʼєднані в один процес: та сама команда відповідає і за код, і за те, як він збирається, розгортається та працює на серверах. Мета — випускати зміни часто, швидко й безпечно.
APIAPI (Application Programming Interface) — це набір правил, за якими одна програма звертається до іншої: які запити можна надіслати, які параметри передати і в якому вигляді прийде відповідь. API дозволяє використовувати чужий сервіс, нічого не знаючи про його внутрішню будову.