How Containerd was built?
Containerd was originally build alongside Docker, surprisingly, it wasn’t forked or inherited from the docker codebase but was created as a new project around the same time when OCI (Open Container Initiative) was formed and run c was created. it started with as specific branch where docker pulled its containary piece out and put it as a separate kind of project where more people could collaborate. Then it gradually grew in scope from a container supervisor to full runtime. it was initially a process supervisor that sat between the full Docker runtime and run c. Over the years it has grown in scope from a process supervisor to a full runtime.
The CRI (Container Runtime Interface) was originally out of the process and that was the last piece that came into Containerd. That’s how Containerd had its growth over the years from the supervisor to a full runtime and then adding in the CRI (Container Runtime Interface), Containerd became a runtime for Kubernetes. In between all this, it was donated to CNCF (Cloud Native Community Foundation). Now it is a CNCF (Cloud Native Community Foundation) graduated project.
What Is Containerd?
Containerd in simple terms is a container runtime that is, Containerd is a software responsible for running and managing containers on a host system. It is a resource manager which manages the container processes, image, snapshots, container metadata and its dependencies. Going further, Containerd is a daemon for Linux and Windows, that manages the complete container life cycle of its host system from image transfer and storage to container execution and supervision and beyond. So basically Containerd is a complete package for the container lifecycle.
Containerd is a CNCF (Cloud Native Community Foundation) graduated project. It was the fifth project to graduate from CNCF on 2019. In this article we will learn about Containerd and why it is consider the secret hero of the cloud native world.