Hacker News new | ask | show | jobs
by treis 1110 days ago
In practice there's not much difference if you use a wrapper application. The wrapper application sets the version of modules and provides whatever glue they need. For Rails that would be gems in the Gemfile and mounted engines. To deploy a new version of your module you bump the version in the Gemfile and roll the nodes.

Essentially you have:

Modules = Microservices

Wrapper = Terraform/Helm Charts

And practically they work the same way.

This is another thing that used to make sense but no longer does. Back in the day we had pets and not cattle. You couldn't just roll someone's servers and expect everything to be fine. But today we write stateless cattle that can be killed at any moment.

1 comments

This seems to side step governance of the repository pulling said module version
You need governance of the client choosing a specific version of the service too.

Or, in other words, you can't have teams cooperating without governance.

If you allow at most 2 versions and expect team introducing change to rewrite all code...

At small size of code, tooling for that may be off-the-shelf for monolith.

Are there any rewrite told that work cross repos though?