Perceived strengths and weaknesses of Docker
There's an interesting discussion over in LinkedIn's DevOps group about the strengths and weaknessed of Docker, which starts with the following question:
"Docker, The New 'Shiny'
Which is fine, it's always fun to see something new. I have one of my engineers drooling over it. I'm a little more skeptical as I've seen the pain rushing at the new shiny item can impose 12 months down the line. I want to go in with eyes a bit more 'Wide Open'. What do you see as it's challenges, pitfalls and concerns?"My take: neither the technology, nor the idea of delivering an entire system as a deliverable (as pointed out by Damon Edwards in the thread) is that new; we're not talking about entirely untested tech or concepts here.Docker's (well, LXC's) lightweight nature, its take on how to define container and its management API are some of the things that set it apart from previous technologies in this area. I think it's also pretty clear (and expected!) that there are still many questions to address, such as:
- Docker as a "native interface" that developers code against vs. an implementation for a platform (how it's used in Openshift, Cloud Foundry and, indeed, how dotCloud used Docker's predecessor when it was still a PaaS provider)?
- How to manage a large Docker environment (cf. the recent libswarm release)?
- How to define apps consisting of multiple containers (cf. the recent acquisition by Docker of Orchard Laboratories)? We're doing some interesting work in this area with XL Deploy, by the way.