When you think about the cloud, it helps to think about the types of businesses that have been built with elastic compute, networking and storage as a foundational component and self-service/multi-tenancy as the vehicle for customer engagement.
For the most part, those businesses succeeded at scaling by focusing their efforts on building their product, almost exclusively on a single public cloud platform. That public cloud platform was disproportionately AWS for obvious reasons - it was where the customers were. It created an exceptionally powerful cycle for AWS and an exceptionally profitable one.
These product-led businesses were really just focused on the development of their own products. The choice of a public cloud was important, but it wasn’t game changing. There are tens of thousands of businesses that are built on top of AWS - very few of them make the Cloud 100 lists. The ones that did have great product/market fit, delivered simplicity, ease of use, transparent economics and cloud-native scale - in both directions.
What is interesting at this point is the decision each and every one of these businesses is facing - how do I keep growing? Wall Street isn’t emotional. These companies need to consistently deliver growth.
That means finding new customers. That means running on different clouds. Other public clouds, private clouds, Kubernetes distributions - for some that even means edge clouds.
The “how do I keep growing” question masks a critical technical strategy choice. Where do I invest my effort?
For many readers the potential answer feels like: Azure? Google? But that misses the point.
The real point is whether you invest in dedicated teams to replicate the business on GCP. Another team to replicate the business on Azure. Another team to replicate the business on IBM Cloud. Another team team to replicate the business on VMware Tanzu. And so on and so forth - OpenShift, Ezmeral, Cisco’s IKE. Each additional native integration is an order of magnitude more complexity. The 6th cloud isn’t easier - it is actually harder. Harder to smooth the inevitable inconsistencies. Harder to manage the compromises associated with the lowest common denominator.
Kubernetes solves a ton of challenges in this regard and has commoditized significant portions of the infrastructure stack in the cloud - but there is a sticking point around storage.
Modern storage at scale is S3. Full stop.
GCP - not S3 compatible. Azure - not S3 compatible. Alibaba - not S3 compatible. The Kubernetes distributions support object storage, but depend on their partners for S3 compatibility. Furthermore, there are functional and performance differences that are fundamentally hard to overcome - even with Kubernetes.
To achieve the full benefit of commoditization from Kubernetes you have to have S3 compatible, software defined object storage as the starting point. This turns the public cloud into cheap, compostable, infrastructure on demand. So the real question becomes who do you choose for your Kubernetes-native, S3 compatible storage?
The answer to that question becomes the critical strategy choice - not what cloud do you target next because that question never ends.
The Answer: MinIO
Many of the cloud-native elite have thought this through and have made the decision to go with MinIO. Here is why:
- MinIO runs everywhere today both natively or via our gateway solutions.
- MinIO is the leader in performance - which in turn means that it is the leader in the number of workloads it can run. That means it can support analytics-driven datalakes, machine learning as a service, devops/artifactory backups, log analytics - even consumer apps like Tik Tok (yes, Tik Tok runs on MinIO).
- MinIO is the leader in Kubernetes. We were born in the cloud and use its techniques to ensure we run on every hybrid cloud platform.
- If you invest in dedicated teams - you are investing $5 to $10M a platform. A year. In engineers. Storage costs will vary. In MinIO you are likely investing $2M in engineers per year plus storage costs which have a neat ceiling function that makes the economics a no-brainer - even if you made your product available on 20 platforms.
- You even have the option to roll your own infrastructure clouds with innovative colo providers like Equinix and others. Here, you do a long term lease on the infrastructure, achieving pricing predictability, service guarantees and global reach. You then point your Azure, AWS, Oracle, Tanzu instances there. Yes, you pay for bandwidth, but depending on the application type, given it is primarily reads, it will be materially less expensive.
As a result, the cloud-native elite have chosen to standardize on MinIO, letting MinIO do the rest via Kubernetes.
Whether you are the hottest IPO of all time or the next one up - you have the aforementioned question - “where do I find growth” and the aforementioned choice, “invest in per cloud teams or invest in MinIO?”
The answer is pretty clear - you invest in MinIO.
More importantly, you can test out this hypothesis in a few hours. Download MinIO and run your application on it. Then run MinIO in every environment you want to run your business in. If your app runs on MinIO and MinIO runs in all your environments you have what you need to make a decision.
Follow that up with a commercial agreement with MinIO and you are off to the races.