CoreOS, makers of the open-source lightweight operating system by the same name, has launched an open source project called Torus that aims to deal with some of the storage challenges of containers.
Torus is a fully open source distributed storage system that provides storage primitives to containers and cluster orchestration platforms such as Kubernetes.
It's not that there aren't any legacy storage solutions that can be used with container infrastructure; there are. But they kind of create a mismatch between legacy technology and modern infrastructure. Existing storage solutions are intended for large machines, which in most cases are custom and proprietary hardware. Those solutions are expensive and not really designed for the clusters of small, inexpensive, commodity hardware that the modern cloud is built on.
"Storage for modern clusters must be uniformly available network-wide, and must govern access and consistency as data processing shifts from container to container, even within one application as it increments through versions," Barak Michener, a software developer at CoreOS wrote in a blog post.
Torus has four key principles for its architecture:
· Extensibility: Like etcd, Torus is a building block, and it enables various types of storage including distributed block devices, or large object storage. Torus is written in Go, and speaks the gRPC protocol to make it easy to create Torus clients in any language.
· Ease of use: Designed for containers and cluster orchestration platforms such as Kubernetes, Torus is simple to deploy and operate, and ready to scale.
· Correctness: Torus uses the etcd distributed key-value database to store and retrieve file or object metadata. etcd provides a solid, battle-tested base for core distributed systems operations that must execute rapidly and reliably.
· Scalability: Torus can currently scale to hundreds of nodes while treating disks collectively as a single storage pool.
Users can easily deploy and manage Torus as an application on any Kubernetes cluster. The first release of Torus is already available for testing on GitHub.
This article is published as part of the IDG Contributor Network. Want to Join?