Вот список отличий от макушки моей головы:
AWS ECS / Kubernetes:
Собственная реализация AWS / решение с открытым исходным кодом
Работает на AWS / Поддерживается большинством облачных провайдеров и локально
Определения задач / POD имеют различные функции
Работает на компьютерах EC2 или позволяет работать без серверов с Fargate (в бета-версии) / Работает на любом кластере (физических / виртуальных / облачных) машин, на которых работает контроллер kubernetes.
Поддержка AWS VPC / Поддержка нескольких сетевых моделей
Я бы также сказал, что у kubernetes чуть более крутая кривая обучения, но, в конечном счете, он дает больше свободы и, вероятно, является более безопасным выбором для будущего, учитывая широкое распространение.
Функции, поддерживаемые в обеих системах:
- Горизонтальная масштабируемость приложения
- Масштабируемость кластера
- Балансировка нагрузки
- Скользящие обновления
- Регистрация (с дополнительными системами регистрации)
- Проверка работоспособности контейнера
- APIs
Amazon уступил давлению со стороны клиентов и в настоящее время имеет управляемую поддержку kubernetes в бета-версии (EKS).
* edit: EKS выпущен сейчас - но с доплатой для узлов контроллера кластера, по сравнению с Google GKE, например.
Вот одна статья о теме.