Moving to shore confidence in the openness of containers as a platform for a broad range of applications running on microservices, the Open Container Initiative (OCI) announced today that work has begun on an open container Image Format Spec project.
While not wholly unexpected, CoreOS CTO Brandon Philips says the Image Format Spec project is the most strategic initiative OCI is engaged in. Previously, OCI created an OCI Runtime Spec that makes it simpler to run containers anywhere. The Image Format Spec will guarantees that a container image itself can be packaged once and run anywhere.
Philips says the fruits of the Image Format Spec project should manifest themselves in a few months. While not especially complicated to create, there are number of existing tools, container registries and management platforms that will need to be updated to support the Image Format Spec, says Philips. The the OCI project is starting with the Docker v2.2 image format as its base because that version supports appc and Docker image format. There is, however, no need to alter existing containers images built using those tools. Once completed the way container images are built, verified, signed, named, and distributed will all be standardized.
The goal of the OCI Image Spec is to allow developers to package and sign application containers, then run them in a variety of container engines. Developers will then be able to choose the build tools and the execution scheme that best meets their needs. The containers themselves will run without modification in a variety of runtimes, from rkt and Docker, to Kubernetes and Amazon ECS.
Pressure to standardize containers has been building from both independent software vendors, cloud service providers and internal IT organizations. Vendors leading the development of the OCI Image Format Spec include CoreOS, Docker, Google, Microsoft and Red Hat. The completion of this project should eliminate any potential threat of being locked into a particular container format or framework.
In the meantime, organizations of all sizes continue to rapidly adopt containers. There’s still some debate about where the best run those containers. Cloud service providers, for example, seem to prefer to run containers on bare metal servers to drive high utilization rates. In contrast, enterprise IT organizations for the moment tend to favor deploying containers on virtual machines so they leverage their existing tools to manage and secure them. Less clear is to what degree both stateless and stateful applications will move to containers. For the moment at least enterprise IT organizations tend to prefer to run stateful applications involving databases on virtual machines.
The degree to which any organization will opt to embrace multiple container platforms remains to be seen. Most organizations will opt to standardize on one. But being able to move from one format to another gives organizations leverage when negotiating with a provider of the container platform. It should also go a long way to leveling the playing field between rival container formats.