B
B2w ago

Single Instance vs Multiple for prod/dev (EE License/Billing)

Hello everyone, Im looking for some help and advice regarding architecture design using windmill. We are a security company, so isolation is our top most concern. We love the permission system built into each workspace, but are having some difficulty finding the best infrastructure design. We would like separate dev, and prod environments. Our dev workers would not be running flows and long running tasks, just used for testing scripts and dev work. Our prod instance would be auto scaling and use schedules for long running jobs. Some of our scripts are shared and common, but there are some that are unique/customized per tenant of our apps. We'd have granular access to be able to assign some of our users to some of these tenants. Our main decisions are: - Should we stick to 1 windmill instance, separate workspaces on windmill (dev/prod), and separate worker groups for each environment, and restrict workers to worker groups with tags. Use folders in prod for each tenant and the folder IAM for user permissions. - or deploy totally separate windmill instances, use windmill workspace per tenant, and manage IAM at workspace level. Our main concerns are: - billing/license: if we go with 1 instance, will our dev workers be billed as prod ? I noticed the license key is per instance, but I can run a worker with a dev license on the same instance. So not sure how that would work in billing/pricing. - we would like to have fast CI/CD and SDLC, and maintaining a workspace per client (approach 2) seems like a nightmare. I see the forking option, but not sure if this would make the ability to migrate/sync code and changes across multiple workspaces any easier. - how to tie in git sync in to either of the architectures above in a way that scales and doesn't become a nightmare. We are on the EE plan and are open to any infrastructure design. Currently our setup is on AWS with ECS. I'd really appericiate any guidance or words of wisdom about this. Thanks!
1 Reply
rubenf
rubenf2w ago
billing/license: if we go with 1 instance, will our dev workers be billed as prod ? I noticed the license key is per instance, but I can run a worker with a dev license on the same instance. So not sure how that would work in billing/pricing.
Yes. It's not intentional but have no way to distinguish that without it being abuse prone
we would like to have fast CI/CD and SDLC, and maintaining a workspace per client (approach 2) seems like a nightmare. I see the forking option, but not sure if this would make the ability to migrate/sync code and changes across multiple workspaces any easier.
CLI is fast and can automate many things, would recommend trying. It might be quite tedious to maintain those however I agree.
how to tie in git sync in to either of the architectures above in a way that scales and doesn't become a nightmare.
Have one "common" repo that takes a single staging source and on commit, get pushed to many target workspaces

Did you find this page helpful?