Вопрос проверяет понимание различий между serverless-платформой AWS Lambda и оркестратором контейнеров Kubernetes, а также умение выбирать подход под задачу.
AWS Lambda и Kubernetes решают похожую задачу — запускать ваш код в облаке, но делают это принципиально по-разному. Lambda — это полностью управляемый serverless-сервис: вы отдаёте функцию, а AWS сама выделяет ресурсы, масштабирует и биллит по времени выполнения. Kubernetes — это платформа оркестрации контейнеров, где вы (или облако) управляете кластером, подами, сетью и хранилищем.
exports.handler = async (event) => {
const name = event.queryStringParameters?.name || 'world';
return { statusCode: 200, body: `Hello, ${name}` };
};
// Деплой: aws lambda create-function --function-name hello ...apiVersion: apps/v1
kind: Deployment
metadata:
name: hello
spec:
replicas: 3
selector:
matchLabels: { app: hello }
template:
metadata:
labels: { app: hello }
spec:
containers:
- name: hello
image: myrepo/hello:1.0
ports:
- containerPort: 8080Итог: Lambda выгодна там, где важны простота и оплата по факту, а Kubernetes — там, где нужен контроль, предсказуемость и гибкость для сложных систем.