Docker and other container services are appealing for good reason. They are lightweight and flexible. For many organizations, they enable the next step of platform maturity by reducing the needs of a runtime to the bare essentials (at least, that's the intent).
When you dig into the benefits afforded by containers, it’s easy to see why so many companies have started projects to:
- Containerize their apps and supporting services
- Achieve isolation
- Reduce friction between environments
- Potentially improve deployment cycle times
The software development pattern of small things, loosely coupled, can go even further with an architecture built around containerization. We’re big fans at Threat Stack, and continue to invest in supporting our customers who rely on them. In fact, we recently announced official CoreOS support for our agent.
However, we have discovered that there is no shortage of misunderstandings about Docker (no surprise given the rapid growth and pace of change) and other container services in terms of:
- How their benefits are realized
- The impact on infrastructure/operations
- The implications on overall SDLC and Ops processes
Containers certainly offer plenty of benefits, and it makes good sense to explore whether and how they could work for your organization. But it is also a good idea to take off the rose-colored glasses first and approach this technology realistically.