Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why not...

> branch from whatever branch is in prod

> implement change on that branch (in this case adding a column), test

> deploy to prod

I realize the build and deployment process may be more complex than that making it hard... but it doesn't have to be.

I agree that a microservice OR even another system (a collection of services) is a good solution if you need to make quick iterative changes, and you can't do so with your current system.



That workflow is exactly what I do, but it's on a small codebase rather than on a big one.

The benefits of working on a small repo include:

* Faster compilation (only depend on exactly the libraries you need)

* Faster testing (only need to run the tests which are actually relevant)

* Easier to understand for new joiners because there's just less code to sift through

* Faster startup (this is probably java specific - the classloader is slooow)

* No (okay, fewer) rebase wars

* Easy to see what's currently being worked on because the Pull Requests tab isn't 200 long

* Very fast rollbacks without needing to recompile a git revert (just hotswap the container for that particular service). You can't do this in a monolith without risking rolling back someone else's important changes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: