Now that containerd has become the fifth project to officially graduate under the auspices of the Cloud Native Computing Foundation (CNCF), many enterprise IT organizations that typically wait for standards to solidify before investing in an emerging technology are likely to move more aggressively toward building new applications and employing containers to lift and shift legacy applications into the cloud.
Containerd provides a de facto container runtime standard that typically gets deployed between Docker engine and the runc executor defined as part of the Open Container Initiative (OCI). That capability makes it easier to manage the life cycle of containers on a host system, including everything from image transfer and storage to container execution and supervision to low-level storage and network attachments.
After having been employed in tens of millions of production systems, organizations that have embraced Docker containers are already familiar with the role containerd plays in their environments. The real significance of containerd graduation is that it shows the community behind containerd now extends well beyond Docker Inc., which contributed containerd to the CNCF last March. Senior IT leaders can take comfort in the fact that their investments in Docker technologies are not tied to the fortunes of any one vendor.
David Messina, EVP of Strategic Alliances at Docker Inc., says that in addition to greenlighting more application development projects based on containers, organizations will containerize many more existing legacy applications. The biggest advantage to using containers to lift and shift applications to the cloud is that IT organizations will not have to refactor applications in a way that would enable them to run on the virtual machines a cloud service has standardized on. It takes considerable time and effort to refactor on-premises applications running on VMware to run on a cloud service provider’s virtual machines. VMware, of course, is doing everything it can to make its virtual machines available on public clouds such as Amazon Web Services (AWS). But for many IT organizations, it will be much easier to containerize an application so it can be deployed anywhere regardless of what virtual machine is employed.
Of course, not every application needs to be moved into a public cloud. There are plenty of reasons to run applications on-premises based on performance needs, security concerns and compliance requirements. But it’s arguable that as many as half of the applications running in an on-premises environment could be more cost-effectively deployed on a public cloud. The primary reason most of those applications have yet to move into the cloud comes down to the time and effort. Trying to achieve that goal without employing containers requires more time than most IT organizations can allocate. Docker Inc., IBM and other service providers have built practices around migrating legacy applications using containers that are based on a fixed engagement to limit the cost of lifting and shifting those applications.
In the meantime, containerd will continue to evolve. For example, the latest version of containerd soon will be supported on both Windows and Linux environments. Regardless of the platform containerd shows up on, however, the number of new and legacy applications running in containers might one day soon achieve unexpected parity.