DEV Community

tamusjroyce
tamusjroyce

Posted on

Stop using the terms monolith and microservice

Stop using the terms monolith and microservice.

The concepts are distributed vs remoting. You can even setup API’s to do both. And I said can. Not that it should do both.

Martin Fowler is wrong in using monolith. He should say big-ball-of-mud. Linux 1.2a kernel was the last monolith. And the famous debate changed it, to this day, from being one.

gRPC, GraphQL, and message queues/event stores are not microservices. No matter how closely you try to get it to fit. Or even by extending microservices.

These are all remoting

Distributed means a registry like npmjs, nuget, github/gitlab, local, has a copy you pull into your project and use. Or an installer you download.

The question isn’t how remoting and distributed are different. But how are they similar? How are they the same?

It a website needs to do something secure, use remoting.

If functionality needs distributed, use distributed.

If what that otherwise distributed resource needs protected, use remoting.

There is more value in discussing the type of app you are writing:

Is a website too complex?
Should I create a desktop app? At least at first
etc…

Top comments (0)