Opinionated Serverless on Kubernetes - but OSOK
also could mean One Shot, One Kill.
What are the major architectural ideas for this naïve serverless framework?
Usually serverless frameworks, which are based on Kubernetes, usually are using Pods
as the smallest entity, like knative.
However, scheduling of a Pod
is very expensive:
- Scheduler needs to find a node
- Init-container can delay start times
- IP address assignments/limitation (think AWS) as each
Pod
needs to have a dedicated one
Reusing an existing, already scheduled Pod
as long as possible (scale to zero use-case) by utilizing emphemeral container feature in Kubernetes. See kubernetes/enhancements#277 and KEP 277 for design and implementation details.