Hacker News new | ask | show | jobs
by konschubert 906 days ago
It’s hard to enforce api contracts between components of a monolith.

And when performance tanks, it’s hard to pin the root cause to a component.

Both of these could probably be fixed by tooling. Could be z as fun research project or maybe a company.

2 comments

You and I must work in very different contexts, as these questions are so obvious that they first seemed like satire to me.

You enforce API contracts in a monolith (or any codebase, really) via an at-least-modest amount of typing and a compiler. You diagnose performance issues via any number of tools, prominently including metrics and profilers.

My context for this is a lot of years working with backend languages like Java, Rust, etc. though the same assurances and tooling are available for most every platform I’m aware of.

Sure… and then the type of the return object if of API is

‘CustomerORMModel’… and now the api consumer can build n+1 query problems across components.

You need a few more restrictions than that. But I agree it’s doable.

That’s why Meta has thrift and Google has grpc.