Our stack has Rails for authentication, React for the frontend, and a Flask API. Everyone currently runs all three locally. Would moving Rails to a shared development server make things easier, and should each developer get a separate instance?
Should we run Rails auth on a shared dev server?
Answers
Before moving anything remote, I'd try a Docker Compose setup for the three services. One command to bring up the stack could remove a lot of the hassle while keeping each developer's code and data isolated.
That still leaves everyone running Rails locally, of course. If the main problem is resource usage rather than startup friction, a remote setup may be worth considering instead.
Reply to this answer
A remote Rails service can work, but I'd give each developer or feature branch its own instance rather than pointing everyone at one mutable development instance.
The tricky part is state, not just processes. A shared database, migration, configuration change, or bad test data can break someone else's local work. Separate instances need their own configuration and data isolation, plus a way to deploy and clean them up. You'll also want to check how local frontend and API URLs interact with authentication, cookies, and redirects.
Reply to this answer
Dev containers are another option if the pain is inconsistent tools and versions. Keep the container configuration in the project repository so changes to the toolset can be reviewed and versioned with the code.
You could also add scripts or editor actions to start the development processes together. That doesn't require putting authentication on a shared server.
Reply to this answer
I'd also ask why every task needs all three services running. If it's mostly to check that the apps agree on their interfaces, consumer-driven contract tests might cover much of that without a full stack running for every change.
That doesn't replace every integration test, particularly for authentication flows, but it could reduce how often developers need the whole environment.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Ravlen_6x:
Even with separate instances, the remote host's availability becomes part of the local workflow. That tradeoff is worth considering alongside the reduction in local processes.