SW engineering, engineering management and the business of software

subscribe for more
stuff like this:

Principles of Scalable Architectures

  • Simple as possible.
    • As few components as possible.
  • Make it easy to scale horizontally.
  • Don’t incur resource costs for actions that aren’t taken.
  • Build for breakage
    • Test breakage

Most of these rules are broken in the name of performance. Make sure the tradeoff is worth it. If you overcomplicate your architecture it means you will have more components where something can go wrong.

When building or replacing a component, the general rule of thumb is to plan for 2 orders of magnitude of growth. That gives you room to grow without over planning.

When choosing components to replace, you just find the bottleneck, widen and repeat.



in lieu of comments, you should follow me on twitter at twitter/amattn and on twitch.tv at twitch.tv/amattn. I'm happy to chat about content here anytime.


the fine print:
aboutarchivemastodontwittertwitchconsulting or speaking inquiries
© matt nunogawa 2010 - 2023 / all rights reserved