MinIO – Not Your Father’s Object Storage Platform

Disclaimer: I recently attended Storage Field Day 19.  My flights, accommodation and other expenses were paid for by Tech Field Day. There is no requirement for me to blog about any of the content presented and I am not compensated in any way for my time at the event.  Some materials presented were discussed under NDA and don’t form part of my blog posts, but could influence future discussions.

MinIO recently presented at Storage Field Day 19. You can see videos of the presentation here, and download my rough notes from here.

 

MinIO – A Sharp Looking 3-Piece Suite

AB Periasamy spoke to the delegates first, describing MinIO as “a high performance, software-defined, distributed object storage server, designed for peta-scale data infrastructure”. It was built from scratch with the private cloud as its target and is comprised of three components:

  • MinIO Server
  • MinIO Client
  • MinIO SDK

He noted that “the private cloud is a very different beast to the public cloud”.

Why Object?

The MinIO founders felt strongly that data would continue to grow, S3 would overtake POSIX, and that the bulk of data would exist outside of AWS. It’s his opinion that private cloud finally started emerging as a real platform last year.

 

Architecture

A number of guiding principles were adopted by MinIO when designing the platform. MinIO is:

  • Focused on performance. They believe it is the fastest object store in existence;
  • Cloud native. It is the most K8s-friendly solution available for the private cloud;
  • 100% open-source enables an increasingly dominant position in the enterprise;
  • Built for scale using the same philosophy as web scalers; and
  • Designed for simplicity. Simplicity scales – across clients, clouds, and machines.

 

[image courtesy of MinIO]

 

Other Features

Some of the other key features MinIO is known for include:

  • Scalability;
  • Support for erasure coding;
  • Identity and Access Management capability;
  • Encryption; and
  • Lifecycle Management.

MinIO is written in Go and is 100% open source. “The idea of holding customers hostage with a license key – those days are over”.

 

Deployment Use Cases

MinIO delivers usable object storage capability in all of the places you would expect it to.

  • Big Data / Machine Learning environments
  • HDFS replacements
  • High performance data lake / warehouse infrastructure
  • Cloud native applications (replacing file and block)
  • Multi-cloud environments (portability)
  • Endpoint for streaming workloads

 

Thoughts and Further Reading

If you watch the MinIO presentation, or check my notes, you’ll see a lot of slides with some impressive numbers in terms of both performance and market penetration. MinIO is not your standard object storage stack. A number of really quite big customers use it internally to service their object storage requirements. And, because it’s open source, a whole lot of people are really curious about how it all works, and have taken it for a spin at some stage or another. The story here isn’t that MinIO is architecturally a bit different from some other vendors’ storage offerings. Rather, it’s the fact that it’s open source and accessible to every punter who wants to grab it. This is exactly the reason why neckbeards get excited about open source products. Because you can take a core infrastructure function, and build a product that does something extremely useful from it. And you can contribute back to the community.

The big question, though, is how to make money of this kind of operating model. A well known software company made a pretty decent stab at leveraging open source products as a business model, delivering enhanced support services as a way to keep the cash coming in. This is very much what MinIO is doing as well. It has a number of very big customers willing to pay for an enhanced support experience via a subscription. It’s an interesting idea. Come up with a product that does what it says it will quite well. Make it easy to get hold of. Help big companies adopt it at scale. Then keep them up and running when said open source code becomes a mission critical piece of their business workflow. I want this model to work, I really do. And I have no evidence to say that it won’t. The folks at MinIO were pretty confident about what they could deliver with SUBNET in terms of the return on investment. I’m optimistic that MinIO will be around for a while longer, as the product looks the goods, and the people behind the product have spent some time thinking through what this will look like in the future. I also recommend checking out Chin-Fah’s recent article for another perspective.