1

Containerization vs Serverless?

Profile picture
Architect at Self2 years ago

It seems that containerization and serverless are two competing cloud-native technologies. In big tech, which technology is more common and therefore more valuable to have for a new candidate?

63
2

Discussion

(2 comments)
  • 4

    I think it may depend on what your requirements are, both serverless and containerization works great.

    With Serverless, you won't have to worry too much about scaling if you mostly run business logic and don't have to be stateful(without leveraging and databases). It is also more economical when your workload is not even throughout the day and maybe its a cron job that only runs an hour a day. In AWS, Lambda also has integration with most of the event notification system within AWS so its generally a good option to use Lambda to handle event driven systems, although it could get costly at scale. Serverless also suffer from cold start if its not run frequently although there are provisioned concurrently for Lambda that mitigate that, but you pay more for such features too.

    Containers allow one to build and test the solution on any machine that can run docker theorectically, so that's a good developer experience vs having to deploy new code everytime to your own cloud account for serverless. With EKS you are also able to handle multiple microservices and configure it to scale appropriately when you get a load spike. And given that at least one instance of the container should always be running, you won't have cold start issue like Lambda, you also can customize the container resources more so than serverless. There would be more operation overhead when compared to serverless but would be cheaper for higher TPS.

  • 2
    Profile picture
    2 years ago

    Thats a great question. To add to the complexity of your questions there are now serverless containerized options like knative and such..

    This is really hard to predict but i would like to be cloud agnostic in general and use the containerized workloads since it has a lot less vendor tie in. Further ease of development and having more control with configuration are more cherries on top for containerized workloads