Launch HN: Plural – Multi-Cloud OSS Application Deployments on Kubernetes
Hi HN!
Sam and Michael here. We are building an open-source management platform that deploys and operates any open source infra software on kubernetes in a production-ready way: https://www.plural.sh
I’ve been in open source for over a decade. I spent 4 years at Red Hat before spending the next 6 years building products at MongoDB. Most recently I was the Head of Product at Unqork where we saw how difficult it was to create a deployment for our app stack and its related services.
Michael has spent his career at Vine, Amazon, Frame.io and Facebook where he has built and scaled systems using open source solutions for millions of users.
We met each other in early 2021 and got excited to tackle this problem together: making multi-cloud open source infrastructure zero effort to install and manage.
We’ve interviewed over 60 development and devops teams and learned that existing solutions always fell short. Either they were too complex to build or too costly to manage. In particular we heard many times that data infrastructure was a complete bear to stand up and integrate. We wanted to build a platform that would supercharge devops team’s capabilities and we wanted to give users the ability to do this all in their own cloud: aws, azure, gcp or bare metal.
It was important for us to work with the open source vendors. By making it trivial for users to get going with open source software, we can bring great solutions directly from vendors to the platform, and most importantly, compensate the vendors for their work.
Here’s a short demo video if you want to check out how it works when installing something operationally complex like Airflow: https://www.plural.sh/video-plural-product-demo
Plural can run on AWS, Azure, GCP and in alpha on Equinix (bare) metal, deploying applications in Kubernetes, with logging and monitoring (prometheus/grafana) enabled out of the box. We have built full dashboarding and run books for managing and scaling your cluster and a simple install interface for quickly getting going with apps like Airflow, Kubeflow, Airbyte etc.
Today our catalog has over 30 apps ready to solve the most interesting use cases from AI/ML & data infrastructure to observability to caching. We hope our community will help us add more solutions to our catalog and we will focus on building our open source product. We will eventually create a paid edition (open core model) with enterprise-level features to address the needs of our most demanding users.
Try it out: https://github.com/pluralsh/plural & app.plural.sh/ and let us know what you think! Also, have you considered embedding open source OpenZiti? It would put a zero trust dataplane into the platform so that applications could be deployed anywhere and only require outbound internet. No DNS, no VPNs, no complex FWs or rule, no network engineering skills needed. https://openziti.github.io/ziti/overview.html The team have already 'zitified' Kubectl, Helm, Prometheus, SSH and more. That's a really cool suggestion. We'll look into that for sure. We're trying to integrate cilium as much as possible currently, esp for its zero trust networking in the dataplane, but adding more control plane security as well would be a great add. Makes sense. Ziti could still be used on the dataplane to provide higher security on top of Cilium. Could be worth having a chat with the team from Ziti, I know they are always interested to chat on things they can zitify - e.g.,
https://ziti.dev/blog/kubernetes/
https://github.com/openziti-test-kitchen They hang out here - https://openziti.discourse.group/ Definitely, thanks for the suggestion. We'll look into where we can work with them for sure. A nice zero trust networking solution is definitely on the list of priorities. Very cool. Multi-cloud should be super easy so that we can choose where to put workloads. Have you considered polling the cloud provider APIs to make hosting decisions based on spot pricing etc?? We currently deploy our clusters with a slew of scale-to-zero nodegroups including spot instances that can be selected easily using typical k8s constructs to somewhat accomplish this. We'll look into making this more usable as well, since configuring affinities is not the ideal user experience in a lot of cases. Very cool