4 ms·
Strongly agree. When functionality is in the same service, you can have logs with a reasonable sequence, a shared clock, stack traces, cache consistency, fewer
by 6keZbCECT2uB 5y ago
Strongly agree. When functionality is in the same service, you can have logs with a reasonable sequence, a shared clock, stack traces, cache consistency, fewer failure points, one commit atomically updates both ends of an interface, etc. Since modularity is lower overhead, you encourage breaking things into smaller pieces with libraries. You can have softer API contracts which enable deleting old code and faster iteration.
Turning all software into a distributed system and solving the above problems isn't free, and your productivity is better spent elsewhere unless there's a payoff.
Smaller units of deployment, being isolated from implementation changes, etc. are all valuable, but more so across teams than within a team.