One of the more common misperceptions about containers is that they can only be employed within the context of lightweight stateless applications that don’t require any use of persistent storage. In reality, large numbers of databases that require access to persistent storage are starting to be deployed on containers.
To accelerate that process, CoreOS today announced Torus, an open source project charged with building and maintaining a distributed storage system to containers being managed by open source Kubernetes container orchestration software. Torus itself leverages the etcd software that CoreOS developed to create a key/value store database.
Wei Dang, head of product at CoreOS, says the goal is to make it simpler to run long-running applications based on containers. To enable that, Torus provides access to a library with an interface that appears as a traditional file. Using the etcd consensus process, this distributed file can be exposed to applications in multiple ways. At the moment, Torus supports exposing this file as block-oriented storage via a Network Block Device (NBD). In the future, CoreOS expects to add support for other classes of storage, including object storage systems. Torus also provides support for consistent hashing, replication, garbage collection, and pool rebalancing through an internal peer-to-peer application programming interface (API) with support for both encryption and Reed-Solomon error correction expected shortly.
While many existing storage systems are adding support for containers, Dang says that most of them are commercial platforms that were not designed to meet the I/O rigors of a microservices architecture. In addition, Dang notes that support for Kubernetes makes deploying Torus much simpler than almost any other storage system supporting container applications.
Capable of supporting both Docker and rkt containers developed by CoreOS, Torus is the latest addition to what CoreOS describes as a Google Infrastructure for Everyone Else (GIFEE) platform through which IT organizations will be able to manage container environments at scale.
Naturally, CoreOS is not the only vendor with container management ambitions. But given its partnership with Google, the number of tools it is producing to manage containers is multiplying at a fairly rapid rate.