3 ms·
It's not easy unless you begin with that mind-set from day one. In fact, it gets tricky as you have "location-flagged" functionality depending upon Cloud or Se
by HarveyKandola 6y ago
It's not easy unless you begin with that mind-set from day one.
In fact, it gets tricky as you have "location-flagged" functionality depending upon Cloud or Self-hosted.
We did this from scratch @ Documize by making (bold?) choices around deployment/runtime and database schema design for both SaaS and self-hosted "products":
- run the exact same binary (we used Golang)
- share/use the exact same database schema
- data migration process the same for schema changes
- support multi-tenanting: "enterprise" self-hosted also multi-tenanting so different teams/departments internally get different URLs
- use the same "build" process to compile and ship
Probably plenty more I could tell you!
- x3n0ph3n3 6y agoI know it's not easy, but it's the only viable path form my experience. I ended up doing something similar, but taking our SaaS product and packaging it in a way that it could be run On-Prem. There was a really interesting feedback cycle where we wanted to make the On-Prem and SaaS deployments work as similarly as possible.