Along with our production org, we have 3 full sync sandboxes, Mule APIs and Heroku.
We are in the process of setting up an app, which is really just going to hold a postgreSQL database that is written to from a Mule API. That data is then accessible internally through an API endpoint that can be used by anyone.
Due to the multiple environments, I am trying to figure out the best way to structure the apps/db.
My thought is that there would be two Heroku Apps, both with their own database. One app would be the "staging" app that was used for Dev/QA/UAT, and the other would be the Production app.
Within the Staging Database, I would anticipate just having a schema for each of the environments, since the same tables and structures would be used across all 3 of the full sync sandboxes.
Each SF instance would just then connect to the Postgres DB and read/write to the corresponding schema.
What is the typical setup for something like this? If we had tiered resources $$$ * each SF instance, that would add up quickly when 3 of the 4 were non-prod.