microservicesserverlesskyma

Difference Microservices vs. Lambda vs. Serverless-Functions


I was just trying to find a generic definition what are the differences between

  1. Microservices
  2. Lambda Functions
  3. and Serverless-Functions

My goal would be to implement a „real“ Microservice on Kyma - what are the key point which have been fulfilled, so that I do not „just“ implement a function?


Solution

  • Microservices

    This is a bad name that started to be used around 2013-2014. Essentially it means Service Based Architecture - you have an architecture composed of multiple services. The most important thing here is that the services can be owned by different teams and be developed, tested and deployed independently from other teams and services.

    "Functions"

    This can be AWS Lambda, Azure Functions, Google Cloud Functions, Google Cloud Run or Kubernetes Knative. The term "Functions" here are mostly a marketing term. You can deploy code consisting of one or more functions (as any other code). But it usually only runs for limited time, has a cold start penalty, it is typically only deployed on-demand when you receive an event, and you typically only pay for the running time.

    "Serverless" is another marketing term for the same thing.