The popularity of containers has created a problem with storage. So CoreOS, a three-year old company that builds data center infrastructure modeled after the webscale giants, has come up with an open source container storage project called Torus.
Containers split up an operating system into virtual compartments to run applications or workloads. However, a pain point has emerged related to persistent storage of all the necessary data for the applications or workloads.
CoreOS has created a container-based infrastructure, which it refers to as Google-like infrastructure for everybody else (Gifee). Now, it’s using the same technology premise for Torus that it uses for its primary container orchestration platform.
Wei Dang, head of product at CoreOS, explains that the company’s technology groups containers into clusters, aggregating resources into a pool. These clusters create a distributed system. But accessing stored data between containers can be a problem.
“All of our products are designed to solve for existing problems in the container space,” says Dang. “The largest problem is in the area of storage. That’s our motivation for Torus.”
An app could be in machine A, while its data resides on machine B, says Dang. “Coordinating where data resides; that becomes a distributed systems problem.”
Torus aggregates the individual storage disks within a container cluster into one big collective pool. Then it handles data placements and data replication.
It makes sure data is replicated on other machines so if any individual machine goes down, the data is not lost. Replication is managed to guard against failure, but at the same time, it manages available storage capacity.
CoreOS is using its etcd technology — a distributed database that handles the configuration of entire clusters — as the basis for Torus.
“We developed etcd early on, and we realized we could use it to build distributed storage as well,” says Dang. “Being able to manage data is a hard distributed systems problem. Torus leverages etcd to manage overall state for the cluster.”
CoreOS expects that storage vendors will probably come up with techniques to integrate their current storage products into container infrastructures. But he says, “Our approach has been a new storage solution, required for this world where you have thousands of containers operating dynamically across an entire cluster.”
The company is initially making Torus available as open source code on GitHub, but expects to integrate container storage into its commercial offerings over time.
In May, CoreOS raised $28 million in a Series B that was led by GV (Google Ventures). And it recently announced it was putting OpenStack in containers that run on Kubernetes with a project it calls Stackanetes.