3

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?

  • 1
    Microservices is a generic term for when a backend is structured as a cluster of distinct but intercommunicating modular services rather than a single monolithic program or architecture. Serverless functions are a way to make microservices by writing a standalone codebase that operates on a cloud-powered non-provisioned runtime instances. It's unclear what you are referring to with "Lambda Functions", but AWS Lambda is a specific example of a serverless function service hosted by AWS. – Abion47 Feb 05 '21 at 21:56

2 Answers2

9

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.

Jonas
  • 121,568
  • 97
  • 310
  • 388
  • So, to talk about a specific case: I would want to extend an eCommerce Application using for e.g. Kyma Project. I would implement any functionality (function), would deploy it to Kyma, connect the eCommerce Application to Kyma. So the whole would be a Microservice - right? :) – klouisbrother Feb 05 '21 at 22:31
0

In my humble opinion microservices and serverless are two antagonist paradigms of running on the cloud (as of this writing 2023).

The modern approach to microservices usually involve Kubernetes, and for serverless (that would by a synonym of Lambda & Functions) you can use Google Cloud Functions or AWS Lambda.

morhook
  • 685
  • 7
  • 19