Luca Botti wrote:Hi all,
I am just asking because Docker, while simple at the start, requires a complete new mindset related to deployment. And, to me, it looks like to be "production ready" it needs a complete devops infrastructure to be effective.
While experimenting from the command line is quite simple, things can get out of control fast, so the complete "assemble-deploy-manage" shall be in place. Not only Kubernetes or Swarm, but also on the Dev side (whatever you use).
Just my thinking.
Regards
Great question!
In my experience, most organisations don't have much of a devops infrastructure. Indeed, the company we worked for where we introduced Docker had relatively little.
This is why our book contains a lot of material considered 'impure' Docker - ie not microservices, monolithic and not highly orchestrated 'data centre as an operating system' type work.
Docker helped us turn our monolithic application into a single
unit which could be easily shipped for testing or support or dev purposes. We wrote our own simple automation tool to help achieve this -
ShutIt
Once this was in place the concepts of phoenix deployment and reproduction of state were more easily digested by devs, test and support alike.
And finally, this could be placed in a DevOps pipeline more easily, as state was more easily recovered.
The book covers all these steps, and is structured to go from 'command line' to fully-orchestrated production deployments.
In terms of things getting 'out of control', this is why Platforms as a Service were created. The one I'm most familiar with (origin/OpenShift) takes care of a lot of the heavy lifting of managing the build and deployment of your images, leaving the dev or ops team to get on with curating this environment.
Ian Miell