Beginning to scale - Infrastructure Design - Help needed!

This could be accomplished by owning the infrastructure and the deployed retool instances for each client while using Retool API to provision and grant access to your customers.

This is how it would work (Enterprise licence would be required in this process)

  • You start off by having an admin instance where you do all the development work (or multiple environments staging > production)
  • Once you're satisfied with your application, you source control your environment and push it to a repo (GitHub, GitLab etc)
  • Use Retool API to Create / Manage spaces
    • one takeaway here is you would still need to manage database provisioning and migration scripts across the whole deployment (there are some terraform modules that work with Retool)
    • worth noting is you're going to rotate and manage credentials / secrets via various available methodologies most notably IAC
    • Exposing the functionality to certain users or creating interfaces for them to own the data but not have access to Retool's native Admin UI
  • Conceptually last piece would be connecting newly deployed Spaces to the same branch and using it to deploy further changes

There are certain areas of this concept that you need to work around but it should be doable. I think there are probably a couple enterprises who’ve built their product on Retool already doing this.

Main challenge would be how do you deploy if your customers want to own the infra and you're the one providing them with a package in case they want to be behind a firewall or simply have their data on-premise due to certain regulation.

Wondering what are your thoughts here or if you want to chat on it?

3 Likes