Ich gebe dir meine Perspektive. Entwickler sollten sich für Docker interessieren, da es andere Entwickler gibt, die bereit sind, Docker zu verwenden, und bereits ein Know-how darin aufgebaut haben. Sie sind bereit, die Rolle eines DevOps-Ingenieurs zu übernehmen und gleichzeitig Entwickler zu sein. Der Ops-Teil von DevOps ist das, worauf sie jetzt aufbauen.
Heutzutage finden Sie immer mehr Leute, die Tests entwickeln, orchestrieren, automatisieren, Jobs automatisieren und Tools erstellen können, um dieses Komplettpaket im Alleingang zu überwachen und in die Produktion zu bringen. Dies sind die Leute, die Docker und andere Tools in der Entwickler-Community vorantreiben.
Die Marktflut geht auch in Richtung Virtualisierung, automatische Skalierung, Automatisierung, maschinelles Lernen, und Docker passt in all diese Bereiche. Es ist sehr wichtig geworden, Docker zu verwenden. Die Unternehmen sind bereit, 2x für einen einzelnen Mann zu zahlen, der all diese Aufgaben übernimmt, und wenn eine Nachfrage nach solchen Männern besteht, beginnt auch das Angebot. Dies ist aus Sicht eines Arbeitnehmers-Arbeitgebers.
Technisch gesehen gibt es in den Organisationen, in denen ich gearbeitet habe, separate Entwicklungs- und DevOps-Teams, obwohl sie bei Lieferungen sehr eng zusammenarbeiten. Die DevOps-Ingenieure und -Entwickler teilen hier die überwiegende Mehrheit der Fähigkeiten, und daher wird manchmal über Aufgaben verhandelt.
Das Nötigste, was ein Entwickler tun kann, ist, seine Binärdateien freizugeben. Er muss jedoch verstehen, dass die Binärdateien zum Ausführen in einem Docker-Container verwendet werden und dass er die Funktionsweise von Docker verstehen muss. Bei Kubes, Schwärmen, Mesos usw. ist es dem Entwickler möglicherweise nicht einmal wichtig, was verwendet wird, aber die Grundlagen des Dockers sollten vom Entwickler sehr gut verstanden werden, und es sollte von Anfang an eine Denkweise vorhanden sein, um die Anwendung zu erstellen, die lose für die Wiederverwendung als gekoppelt ist Mikrodienste. Wenn die Anwendung auf dieser Denkweise basiert (für die Docker-Grundlagen erforderlich sind), können die DevOps-Ingenieure sie von dort aus verwenden, um sie automatisch zu skalieren, zu orchestrieren, zu testen, bereitzustellen und zu überwachen.
Außerdem gibt es meistens keine Einheitsgröße für alle möglichen Dinge. Ein Entwickler weiß nicht genau, wie man eine Docker-freundliche App erstellt, und ein DevOps-Ingenieur kennt die Interna des App-Erstellungsprozesses zu Recht nicht. In den meisten Fällen ziehen es Unternehmen daher vor, beide Aufgaben demselben Mitarbeiter zu übertragen, um die Arbeit zu beschleunigen. Wenn es separate Dinge gibt, ist ein kontinuierlicher Feedback-Mechanismus vom DevOps-Team zum Entwicklerteam erforderlich, um die Apps futuristischer und Docker / Cloud / Skalierung-fähiger zu machen.