Serverless — это подход, при котором функции сервера для приложений разработчика переданы облачным сервисам. Сервера баз данных, очереди, API Gateway и прочая инфраструктура становится лишь сервисами, которые проще обслуживать.
Приложения, которые работают в serverless-среде, называют cloud native приложениями. В такой парадигме, разработчики намного меньше тратят времени на инфраструктурные моменты (и больше — на реализацию непосредственной ценности).
Они запускаются как пакеты в контейнерах (в т.ч. FaaS, functions as a service) облачного провайдера: Яндекс.Функции, Google Cloud и др. — и пользуются BaaS (backend as a service).
BaaS-инфраструктура включает постоянно работающие компоненты:
VPS, в которой развернут Kubernetes и вы управляете контейнерами.
Сам по себе Kubernetes не работает с нативным запуском приложений serverless. Но есть сервисы, которые помогают использовать Kubernetes в serverless-подходе. Так, можно подключить Knative для запуска приложений, а сервисы Managed Kubernetes — для разворачивания собственные окружения.
При некоторых допущениях, подход serverless может быть использован где угодно.
Но лучше всего он подходит для отложенных или фоновых задач:
Такие задачи либо выполняются по расписанию, либо не подразумевают мгновенного ответа пользователю. Это соответствует serverless-модели, в которой приложения (функции) не работают постоянно, а запускаются по мере необходимости и в случае неиспользования автоматически отключаются. На запуск функции требуется до нескольких секунд — для отправки уведомлений это не критично.
Однако это не означает, что serverless нельзя использовать в частях приложения, с которыми взаимодействует пользователь и для которых важно время ответа. Напротив, функции serverless применяются для:
О serverless https://about.gitlab.com/topics/serverless/
Смотреть все
Ваша заявка отправлена успешно
Отправить снова
Контакты