advanced

ECS / EKS

Выбирайте managed-оркестрацию: ECS для AWS-native простоты или EKS, когда важны переносимость Kubernetes и экосистема.

ECS и EKS запускают контейнеризованные Node.js-сервисы в AWS. ECS — нативная оркестрация AWS: tasks, services, launch type Fargate или EC2. EKS — управляемый Kubernetes, когда нужны переносимые манифесты, Helm и навык работы вне одного облака.

| Платформа | Когда уместна | |-----------|---------------| | ECS + Fargate | Малая команда, минимум ops по кластеру | | ECS на EC2 | Нужны GPU, свои AMI или тонкая экономика | | EKS | Важны экосистема Kubernetes и переносимость |

Оба варианта стыкуются с ALB, IAM roles for service accounts, CloudWatch Logs и Secrets Manager. Деплой — тот же digest образа из CI; настройте CPU/память, readiness probes и rolling update.

На интервью: task definition ECS vs Deployment в Kubernetes, Fargate vs EC2 под капотом, service discovery, IRSA в EKS и когда простота ECS оправдывает отказ от «своего» control plane.

Типовые ошибки: завышенные лимиты task/pod; нет readiness — трафик на ещё стартующие контейнеры; логи в stdout без агента сбора; админство кластера с локального kubeconfig в prod.

Компромисс — операционная простота ECS против переносимости и глубины экосистемы EKS.

Чеклист:

  • Образ по digest в task definition или манифесте.
  • Requests/limits и health/readiness probes.
  • Task role или IRSA вместо статических ключей AWS в контейнере.
  • Централизованные логи и метрики с первого дня.