Maksim Samasiuk - Fotolia

Minio object storage offers 'go big' container storage

Minio's object storage software is written in the robust Go programming language and supports Amazon S3 storage APIs for developers working in container environments.

Startup Minio is making its open source, distributed object storage generally available for developers looking to use storage in containerized deployments.

Minio's container-based object storage for cloud applications and DevOps allows developers to store unstructured data on private and public clouds. It supports Amazon Simple Service Storage (S3) APIs so developers can move applications and storage between Amazon Web Services (AWS) and other cloud providers. It is built for unstructured data, specifically photos, videos, log files, backups and container virtual machine images.

The object storage server, which supports object sizes ranging from a few kilobytes to a maximum of 5 TB, supports erasure coding, bit rot detection and AWS Lambda notification. It has data protection capabilities that can handle a failure of up to half the number of servers and drives in use with its erasure code and bit rot detection that detects corrupted data in container deployments.

The Minio object storage software is built on the open source Go programming language created by Google Labs. The Minio cloud storage stack has three major components: the cloud storage servers, the Minio desktop client for file management with Amazon S3-compatible servers, and Minio SDKs for Go, Java, Python and JavaScript.

Minio provides the MinFS, a FUSE driver for Amazon S3-compatible object storage servers.

Mike Matchett, an IT analyst at Taneja Group, said Minio object storage aims to be full-scale S3-type storage for the enterprise. It has built-in AWS Lambda capabilities in its object storage, which is a database procedure that puts small bits of code down in the storage layer that trigger specific tasks and functions.

"It's a database procedure where little bits of code run not in the main application but are triggered in the back end or somewhere in the I/O stream," Matchett said. "Minio supports elastic search, query services, [and] in-memory caching. It's opened the world up on the idea of Lambda capabilities for storage to execute [certain tasks] for you.

"You are pushing some processes into storage," he said. "Parts of it can be language translation, machine-based scoring, picture translation, data redaction and native search. The whole idea is they want to provide you with the ability to go big. How they architected it to achieve this kind of scalability is by writing it in the Go language. It's a more robust application. It protects data from hardware failure and silent data corruption. They put a lot of effort into this."

Designed for containers

Minio CEO and co-founder Anand Babu Periasamy was also the co-founder of Gluster and helped create GlusterFS, an open-source scale-out file system. Red Hat acquired Gluster for $136 million in 2011.

"Minio is designed for container environments like Docker," Periasamy said. "The Go language is a very practical language. It addresses all the limitations of C++. It's the language of choice for modern applications, such as container software and cloud software. It's also become the language of choice for server applications."

Periasamy said the Minio object storage open source community has more than 125 code contributors and more than 750 members on the Gitter-Slack channel, with a majority of the members located in the United States, Europe and Japan. It is more widely deployed as a Docker container and it has had more than 450,000 Docker downloads in the last three months.

Minio launched in November 2014 and it has raised a total of $3.35 million from investors that include General Catalyst Partners, Nexus Venture Partners, Index Ventures and AME Cloud Ventures. The company has 16 employees.

Periasamy said the Minio object storage also supports replication and data copying, which helps developers port storage between cloud providers.

"We have developed a mirroring feature that allows you to move from Amazon to Minio or Minio to Amazon," he said. "Minio and Amazon S3 speak the same APIs but once you run Minio, you no longer need Amazon. You can run Minio on their cloud and make Minio look like S3. Minio looks like Amazon S3, even on Google Cloud. You can run Minio on Google or Microsoft Azure so you are no longer limited."

Next Steps

How to manage data with object storage

Object versus file: Which is best for cloud apps?

How to implement object storage

Dig Deeper on Storage architecture and strategy