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

And, how is complexity caused? What are the origins?

It is caused by bringing together unrelated things.

It is caused by violating the single responsibility principle.

So, we isolate state from communication. We separate interface from implementation. We see as many, where others see one. We try to see the network of dependencies, where others see a single line of code.

Using this new perception, we find that the large application entangles the change of (code) state of one part with every other through its deployment. The static typing guarantees only validate one specific instant in time, but nothing about the future or the past.

So, take a step back and see the deployment of code as a functional part of the code. Now the monolith forms complexity and the microservice isolates it to the minimal surface.

Take it one step further, and we see that the actor model is the exponent of this idea. Late binding, late dependency tracking, programming by behavioural contract.



>And, how is complexity caused? What are the origins? >It is caused by bringing together unrelated things.

It is also caused by wrongly separating things that are closely related and putting a network or something similar in between.

You cannot reduce software development to a formula.


No, so saying outright that microservices are better or worse is just that: a formula.


No, its a categorical consideration made without the needed context. Basically an opinion.




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

Search: