Я дам вам мою точку зрения. Разработчики должны заботиться о докере, поскольку есть другие разработчики, которые хотят использовать докер и уже накопили опыт в этом. Они готовы взять на себя роль инженера DevOps и быть разработчиком. Таким образом, Ops-часть DevOps - это то, на чем они сейчас основаны.
В эти дни вы найдете все больше и больше ребят, которые могут разрабатывать, организовывать, автоматизировать тесты, автоматизировать задания и создавать инструменты для мониторинга и запуска этого полного пакета в одиночку. Это ребята, которые продвигают Docker и другие инструменты среди сообщества разработчиков.
Кроме того, рыночный поток направлен на виртуализацию, автоматическое масштабирование, автоматизацию, машинное обучение и докер вписывается во все это. Стало очень важно использовать докер. Предприятия готовы платить 2 раза за одного парня, который берет на себя все эти обязанности, и когда есть спрос на таких парней, поставки также начнутся. Это с точки зрения работника-работодателя.
Технически, в организациях, в которых я работал, есть отдельные команды разработчиков и DevOps, хотя они очень тесно сотрудничают для поставок. Инженеры и разработчики DevOps разделяют подавляющее большинство навыков здесь, и поэтому иногда приходится обсуждать обязанности.
Минимум, который может сделать разработчик, - это поделиться своими двоичными файлами, но он должен понимать, что двоичные файлы будут использоваться для запуска в контейнере Docker, и для этого ему необходимо понять, как работает Docker. Что касается кубов, роев, мезо и т. Д., Разработчик может даже не заботиться о том, что используется, но основы докера должны быть очень хорошо поняты разработчиком, и с самого начала должно быть мышление для создания приложения, слабо связанного для повторного использования в качестве микро-услуги. Если приложение построено на основе этого мышления (для которого требуются основы докера), то инженеры DevOps могут использовать его для автоматического масштабирования, организации, тестирования, развертывания и мониторинга.
Кроме того, в большинстве случаев не существует одного размера, подходящего для всех видов вещей. Разработчик не знает четко, как создать дружественное к докеру приложение, а инженер DevOps совершенно справедливо не знает внутренности процесса сборки приложения. Следовательно, в большинстве случаев организации предпочитают передавать обе эти задачи одному и тому же парню, чтобы ускорить процесс. Если есть отдельные вещи, то от команды DevOps до команды разработчиков требуется непрерывный механизм обратной связи, чтобы приложения были более футуристичными и готовыми к Docker / Cloud / Scaling.