What if you can package an application with all of its dependencies into a standardized unit for software development, so it will always run the same, regardless of the environment it is running in. This will reduce a lot of headache especially in the cloud, make software automation much easier, and fix issues faster. It’s a real revolution in the world of virtualization. This solution already exists, and it’s called Docker.
About two months ago, Docker announced, along with a broad coalition of vendors, users, start-ups, and industry leaders : The Open Container Project. A minimalist, non-profit, openly governed project, Open Source, vendor neutral, under the auspices of the Linux Foundation for the express purpose of defining common specifications around container format and runtime.
The first part of the project was donated by Docker which is runC, is a CLI tool for spawning and running containers according to the OCF specification. And while the specification is still a work in progress, you will see this code changing permanently to comply with it.
The 5 principles of Standard Containers :
The specification for Standard Containers is straightforward. It mostly defines 1) a file format, 2) a set of standard operations, and 3) an execution environment. The goal of a Standard Container is to encapsulate a software component and all its dependencies in a format that is self-describing and portable, so that any compliant runtime can run it without extra dependencies, regardless of the underlying machine and the contents of the container. The reason why 5 principles of standard containers are defined :
1. Standard operations
4. Designed for automation
5. Industrial-grade delivery
The Open Container Initiative
The OCI was officially launched on 22nd June 2015, with sponsors including : Apcera, AT&T, AWS, Cisco, ClusterHQ, CoreOS, Datera, Docker, EMC, Fujitsu, Google, Goldman Sachs, HP, Huawei, IBM, Intel, Joyent, Kismatic, Kyup, the Linux Foundation, Mesosphere, Microsoft, Midokura, Nutanix, Oracle, Pivotal, Polyverse, Rancher, Red Hat, Resin.io, Suse, Sysdig, Twitter, Verizon, VMWare.
The first draft of the specification is not fully ready, but you can find what have been already done on this github repository. The distribution of packages based on OCI is very simple, but actually the most interesting part will be on the developer’s side to package their application correctly.
OCI is a key element to accelerate the easy-to-deploy cloud solutions into the market, and it’s really time to see differently how applications are developed and deployed into the cloud. The future of the IT is already here, and the most interesting part that it’s Open !
Find out more about OCI at : https://www.opencontainers.org