loft-sh / loft

Namespace & Virtual Cluster Manager for Kubernetes - Lightweight Virtual Clusters, Self-Service Provisioning for Engineers and 70% Cost Savings with Sleep Mode
https://loft.sh/docs/introduction
Other
737 stars 65 forks source link

Sassifying a single tenant application #202

Closed gridworkz closed 2 years ago

gridworkz commented 2 years ago

We're thinking Loft can help here. We have a single tenant application that we would like to turn into a multi-tenant Saas offering. Almost identical to what Mattermost did with their single tenant application. It's very attractive since we don't have to tweak the code to handle tenants at the application layer. We want to do this at the infrastructure layer.

We're in the process of building something similar to Mattermost's customer web server where customers can login, manage subscriptions / billing etc., then hit the submit button and spin up an isolated cluster with our application (and it's operator) running in it. Our guess is that we can do the spin-up part much lighter and cheaper with Loft.

Any comments or thoughts on this would be appreciated. (or if this has already been done somewhere - even better)

LukasGentele commented 2 years ago

@gridworkz That's a very common use case. We have quite a few startups who are using Loft for this purpose.

gridworkz commented 2 years ago

Thanks for getting back. I'd be keen on seeing how this is done. Are there any resources we could look at to get started? Cheers, Dave

carlmontanari commented 2 years ago

Hey Dave! Sorry for the delay here. Probably the docs should cover most of the basics. How you actually go about spinning stuff up will of course be dependent on your environment/tooling/etc., but generally there are three ways to spin stuff up with loft: ui, loftctl, or via normal k8s manifests/kubectl; you can check 'em out here at the vcluster creation section of the docs for example. Hopefully that'll give you some ideas how ya can get things spun up. Feel free to join our slack as well -- it may be a better spot for random questions/comments and such, you can join here.

I'll go ahead and close this now, but definetly join us in slack or reopen if you have any issues!