Understanding Docker versus Virtual Machine and How to Combine
The team at RightScale did some A/B testing to illustrate how to deploy applications using docker compared to traditional VM installations. There is a lot of buzz around the Docker container infrastructure, legacy LXC implementations, and options which pit containers versus VM without much context.
This is why this great article they put together about how they’ve leveraged containers to deploy was a nice round up of detail to show what is possible using this methodology. They also bring to light some issues that were discovered along the way during the test and what some new users to containers are finding as hiccups in getting started.
Containers Add to the Toolbox. They Don’t Replace it
One of the biggest misconceptions that come up is that Docker and container deployment is going to somehow replace what is being done today with virtual machine instances. This is far from the case, and as newcomers to container infrastructure usually discover early, there is more to think about when embracing an app-centric containerized deployment methodology.
VM technology, including that made available by enterprise virtualization vendors and cloud providers, has enabled a larger control surface which has distinct advantages and disadvantages. Moving further up the virtualization stack to PaaS (Platform-as-a-Service) and container deployments such as Docker, we limit the control surface and complexity. This allows for the emphasis to be put on the application design and architecture for a true scale-out model.
Re-Think Performance and Redundancy
The new ways of deploying and managing applications into virtualized and containerized environments requires a new way of thinking about performance and redundancy. Application and infrastructure designers will have to re-think the traditional scale and performance strategies to adapt to new tools available thanks to better abstractions.
While many organizations may think that simply “bringing Docker to the data center” is the solution. The real solution will come as the application environments mold to fit the new deployment use-cases. Just as virtualization was slow to become optimized and fully understood, containers will bring the same growing pains through their evolution in the coming months and years.
Keep watching here as we will definitely be bringing forward news as Docker continues to take hold in the data center and the cloud. There are certainly exciting times ahead.