“Containers” is definitely the hottest buzzword in the developer community. Some in this community are more than convinced that “Containers” or specifically “Docker” are the future of virtualization. They intend to state that current server virtualization a-la VMware, KVM and such is likely to be rendered as irrelevant. Is this really the case?
Virtualization has been prevalent for over a decade and a half. Clearly, more applications are now running on virtual servers than on bare metal servers. Moreover, virtual servers are now running inside the data center and also in the public cloud. The main value that virtualization introduced is the decoupling of the application from particular hardware and from the operating system.
Virtualization for the most part enabled mobilizing applications across servers, across data centres and out of the data center into the public cloud with any combination of mobility that users may require.
Virtualization has reached a level of security that enterprises trust as a safe environment for their applications to run.
Containers, as exemplified by Docker are adding another dimension of mobility. They are even lighter than hypervisor virtualization as the developer really has no worry about the operating system and overall environment of where his or her application will run. It is much easier to switch from development phase to production and the two environments can be fairly decoupled.
Containers can run on bare metal servers or virtual servers. The reality is, that most applications packaged as containers are running in production within virtual servers. Hence, the benefits arise from the convenience of containers packaging and from the security and mobility of hypervisor virtualization. Of course, when performance is critical and the hypervisor overhead is unacceptable for the particular application, virtual servers will likely be bypassed in favour of bare metal servers; but this is not likely to be the true for the majority of cases.
In essence, the container technology and hypervisor virtualization are more complementary than overlapping. Therefore, it won’t be long before we see more applications packaged as containers and running within virtual servers, thus enhancing the agility of deployments in conjunction with the convenience of developers.