Monolithic

March 29, 2023 · View on GitHub

Notes:

  • A company may have more than one monolith
  • A monolith means a big heavy app

Pros:

  • Knowledge Sharing
  • Easier dependency management
  • Easier version management
  • Easier to track breakages across different projects
  • Easier to know what team is doing at a glance

Cons:

  • Harder to split code ownership
  • Harder to define responsibilities
  • Monolithic codebases can easily become a mess
    • No strong conventions
    • Can be harder to deploy
  • Increased complexity on codebase
  • Harder to distinguish responsibility of the codebase
  • A single release cycle where all components are released togther

Examples:

  • Facebook
    • Only WWW is a monolithic app

Questions:

  • When should you break down a monolithic app?
  • When should you unbundle a monolith?

Resources: