I’m wondering what the best way to deploy a stack with multiple customers at scale is. We are currently using NodeRed, MQTT, InfluxDB and Grafana in separate VM’s.
We plan to scale out to multiple customers and wondered what the best method for handling this is. Should we have one FlowFuse instance and have every customer in that one instance? Should we have a VM per customer (cloud or on prem) and deploy the stack in docker, maybe with Terraform or Ansible? Personally I like that idea to segregate customers with separate installs and VM’s. If we did this is there a way to ‘preconfigure’ FlowFuse with users and teams and settings? Maybe even preconfigured NodeRed instances’ with preconfigured flows.
Have a team per customer on one FlowFuse is likely the easiest way for you to handle this. With the combination of Stacks and Templates most of the ops work per customer should work. Furthermore, FlowFuse is designed to be multi tenant, and data is segregated for users.
is there a way to ‘preconfigure’ FlowFuse with users and teams and settings?
Users and teams can be automated with the FlowFuse API: FlowFuse API • FlowFuse Docs. There’s support for SSO in FlowFuse’s paid tier, but not for SCIM / LDAP for example for provisioning. Let us know if that’s something you’re interested in.
@zj Thanks, got Flowfuse deployed on Digital Ocean now. Seems to be working well other than some HTTPS issues. I’ll take a look how to use Stacks and Templates as most of our instances are going to want similar modules installed. We’ll use one Flowfuse for all customers as you recommended