Skip to content

Software architecture styles

An architecture style is the overall shape of one system: how its code is divided, how the parts talk to each other, and how it is deployed. Picking a style is usually the first, most expensive-to-reverse decision on a project.

How should this system be divided, and how should the parts communicate?

Not sure which to start with? Read Microservices vs modular monolith. It’s the choice most teams face first.

  • Service-oriented architecture (SOA)
  • Pipes and filters
  • Space-based architecture
  • Microkernel (plug-in) architecture

Written and edited by Abhinav Taduka, enterprise software architect.