Простота и эффективность создания образа контейнера по сравнению с виртуальной машиной
Надёжный deploy и rollback. Можно обеспечить надёжную и частую сборку, развёртывания приложения с лёгким и простым откатом благодаря неизменному образу.
Разделение задач между Dev и Ops. Можно создавать образ контейнеров приложения во время сборки а не во время развёртывания приложения тем самым отделяя приложения от инфраструктуры.
Идентичная окружающая среда при разработке, тестирование и релизе. На ноутбуке работает всё также как и в облаке.
Изоляция ресурсов: предсказуемая производительность приложения.
Производительной среде надо управлять контейнерами, перезапустить другой контейнер в случае отказа одного, контролировать чтоб не было простоев не было бы проще если это поведение обрабатывалось системой?
Здесь приходит kubernetes на помощь, это отличный способ создавать и запускать приложения.
Kubernetes даёт нам Framework для гибкой работы распределённых систем. Он занимается масштабированием и обработки ошибок в приложение, предоставляет шаблоны развёртывание и.м.д..
Например Kubernetes может легко управлять канареечным развёртыванием вашей системы.