Serverless
- не статические сайты
- сервера есть
- нет необходимости администрировать
- легко масштабироваться
- высокая доступность
Platform as a Service
- полный контроль над кодом
- минимальный контроль над окружением
- AWS Elastic Beanstalk, Heroku Apps
Backend as a Service
- минимальный контроль над серверным кодом
- нет контроля над окружением
- логика описывается на стороне клиента
- Parse, Firebase - данные
- Auth0, AWS Cognito - аутентификация
Function as a Service
- минимальный контроль над окружением
- event-driven контейнеры
- AWS Lambda, Azure Functions
Traditional
Serverless
Pros
- можно снизить операционные затраты
- снижение затрат на разработку
- снижение затрат на масштабирование
Cons
- зависимость от вендора
- мультиаренда
- безопасность
- нет возможности тонкой оптимизации
- ограничения реализаций
Cases
Cases
Cases
Pros
- экономия на cold start
- экономия на context switch shared-сервера
- экономия памяти (3Mb < 35Mb)
- экономия денег
Context Switch
Compare with Containers
Compare with Competitors
Cons
- надо бандлить
- надо выбирать между JS и WASM