DEV Community

Cover image for How do you measure complexity to address architectural decisions?
Renato Byrro for Dashbird

Posted on

3 2

How do you measure complexity to address architectural decisions?

This notorious blog post by Martin Fowler throws an interesting perspective on microservices vs. monolith:

(...) don't even consider microservices unless you have a system that's too complex to manage as a monolith

The chart below illustrates his point:

  • With low complexity, use monolity to maximize productivity
  • With high complexity, use microservices to maximize productivity

Mololith vs. Microservices Curves
Source: Martin Fowler - Microservice Premium

So the question is: how do we judge where an application falls on this chart in terms of complexity?

There are measures of code complexity, such as McCabe and Halsteads.

But what if one is just starting new application development. There's no code yet.

How would you judge whether it's better to start monolith or microservices?

Cover image credit: Markus Spiske

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay