Отличие микросервисов от Lambda и бессерверных функций

Я просто пытался найти общее определение, каковы различия между

  1. Микросервисы
  2. Лямбда-функции
  3. и бессерверные функции

Моей целью было бы реализовать «настоящий» микросервис на Kyma — какие ключевые моменты были выполнены, чтобы я не «просто» реализовал функцию?

2 ответа

Микросервисы

Это плохое имя, которое начали использовать примерно в 2013-2014 годах. По сути, это означает сервисную архитектуру — у вас есть архитектура, состоящая из нескольких сервисов. Самое главное здесь то, что сервисы могут принадлежать разным командам и разрабатываться, тестироваться и развертываться независимо от других команд и сервисов.

«Функции»

Это может быть AWS Lambda , Azure Functions, Google Cloud Functions, Google Cloud Run или Kubernetes Knative . Термин «Функции» здесь в основном является маркетинговым термином. Вы можете развернуть код, состоящий из одной или нескольких функций (как и любой другой код). Но обычно он работает только в течение ограниченного времени, имеет штраф за холодный запуск, обычно он развертывается только по запросу, когда вы получаете событие, и вы обычно платите только за время работы.

«Бессерверный» — это еще один маркетинговый термин, обозначающий то же самое.

По моему скромному мнению, микросервисы и бессерверные технологии — это две антагонистические парадигмы работы в облаке (на момент написания статьи 2023 год).

Современный подход к микросервисам обычно включает Kubernetes, а для бессерверных технологий (это синоним Lambda & Functions) вы можете использовать Google Cloud Functions или AWS Lambda.

Другие вопросы по тегам