Kalpana Kalpana (Editor)

Minio

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Minio, Inc

Operating system
  
Cross-platform

Repository
  
List

Minio

Stable release
  
RELEASE.2016-12-13T17-19-42Z

Written in
  
Go (programming language)

Type
  
Object storage, Cloud Storage

Minio Inc, is a Silicon valley based technology startup, founded by Anand Babu Periasamy (AB), Garima Kapoor and Harshavardhana in November, 2014. The name Minio stands for minimalism. Minio Inc aims to liberate applications to move to any private or public cloud environment, by enabling them to easily build their own scalable cloud storage infrastructure.

Contents

Minio, Inc is the prime developer of Minio cloud storage stack. Minio is a cloud storage server released under Apache License v2, compatible with Amazon S3.

Minio is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB

Minio Cloud Storage Stack

Minio cloud storage stack has three major components, the cloud storage server, Minio Client aka mc, a desktop client for seamless file management with Amazon S3 compatible servers and Minio SDKs that can be used by applications to interact with any Amazon S3 compatible server. Minio Inc also provides MinFS, a FUSE driver for Amazon S3 compatible object storage servers.

Minio Server

Minio cloud storage server is designed to be minimal and scalable. It is light enough to be bundled along with the application stack, similar to NodeJS and Redis. It can store unstructured data such as photos, videos, container/VM images, log files and archives.

Minio cloud storage server is based on a cloud-native architecture with support for multi-tenant use cases. One can keep each tenant relatively small and add new Minio server instances as and when required. This way, one can scale from few hundred tenants to millions, still the complexity does not scale proportionately. Millionth instance of Minio server is as simple as its first instance.

Deployment

Minio server is hardware agnostic and works on a variety of physical and virtual/container environments. This essentially reduces infrastructure to containers running on commodity servers with local disks and still have enterprise level data safety and scalability.

Minio server can be installed on physical or virtual machines or launched as Docker containers and deployed on container orchestration platforms like Kubernetes, Mesosphere, and Docker Swarm.

Minio Client

Minio Client (mc) provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc. It supports file-systems and Amazon S3 compatible cloud storage service (AWS Signature v2 and v4). You can use 'mc' to talk to any Amazon S3 compatible cloud storage server.

Minio Client is supported on Linux, Mac and Windows platforms. For step by step instructions on how to use 'mc' with Minio Server, Amazon S3 and Google Cloud Storage, please refer to Minio Documentation site .

It is production ready to use.

Minio Client SDK

Minio Client SDK provides simple APIs to access any Amazon S3 compatible object storage server. Minio Client SDK is currently available for Go, Java , Python , JavaScript . For step by step instructions on how to use Minio Client SDK please refer to the Minio Documentation site .

MinFS

MinFS is a FUSE driver for Amazon S3 compatible object storage server. MinFS enables legacy applications to use Amazon S3 compatible object storage by mounting the object store onto the file system. For further details please refer to Minio Documentation site .

Minio Server Modes

Minio server supports default, erasure coded, and distributed modes.

Default Mode

Minio server in default mode has a single Minio server instance with a single backing disk 2

Erasure coded Mode

To enable erasure coded mode, run Minio server in default mode with a minimum of four disk drives 3

Distributed Mode

Minio server in distributed mode lets you pool multiple drives (even on different machines) into a single object storage server. As drives are distributed across several nodes, distributed Minio can withstand multiple node failures and yet ensure full data protection. See details on how to run distributed Minio here

References

Minio Wikipedia