Microservices or Nanoservices?

Raphael Yoshiga
ITNEXT
Published in
4 min readNov 16, 2022

--

Photo by Rick Mason on Unsplash

It’s almost Christmas 2022, and the software development industry has learned many lessons. One of them was that monoliths are evil. But what if instead we went the other extreme and made too many services? This is what we will reflect on.

Monoliths disadvantages

  • One big deployment causes deployment delays and coordination.
  • One big scaling model, compared to the microservices scalability per service.
  • Because it’s one big codebase, the coupling might cause difficulties updating dependencies or even programing language choices.

So instead of monoliths, the holy silver bullet of the moment is Microservices, which solves the monolith disadvantages. But what we need to understand is, Software engineering is a profession of trade-offs, so what are the downsides of microservices?

  • Code is split across multiple repositories. Debugging or understanding requires hops.
  • API calls instead of module calls add network latency and more complex error handling.
  • Multiple pipelines, monitoring and alerts are to be set up.

So what if we got those downsides and made them exponentially worse by making many mini-services? What we will be calling NanoServices.

What do I mean by nano…

--

--

Writer for

CEO at FCamara UK. TDD evangelist with over 14 years of experience in developing scalable software.