...

/

Which Types of Applications Should Run As Serverless?

Which Types of Applications Should Run As Serverless?

This lesson informs us about the characteristics of an application which make it suitable for serverless computing.

Initially, the idea was to have only functions running as serverless loads. Those would be single-purpose pieces of code that contain only a small number of lines of code. A typical example of a serverless application would be an image processing function that responds to a single request and can run for a limited period. Implementations of serverless computing impose restrictions like:

  • The size of applications (functions).
  • Their maximum duration in cloud providers.

But, if we adopt Kubernetes as the platform to run serverless deployments, those restrictions may not be valid anymore.

We can say that any application that can be packaged into a container image can run as a serverless deployment in Kubernetes.

The size and fast boot-up of the application

That, however, does not mean that any container is as good a candidate as any other. The smaller the application, and the faster its boot-up time, the better the candidate for serverless deployments.

However, things are not as straightforward as they may seem. Not being a good candidate does not mean that one should not compete at all. Knative, like many other serverless frameworks, does allow us to ...