Software architecture

Photo by Siyuan on Unsplash

What is software architecture?

Software architecture consists of four parts:

  • System structure (architecture styles): like monolithic or microservices.
  • Architecture characteristics: Including availability, reliability, testability, scalability, fault tolerance… etc.
  • Architecture decisions: The rules (disciplines) defining how the system should be constructed, example will be which layers can access which layer. (Variance model should be created to assess cases that can not follow the rules)
  • Design Principles: Soft guidlines created for the team to decide what to do in certain scenarios, as the hard diciplines (decisions) can not be defined for every cases. Example of a principle (guidline) might be dev team should leverage asynchronous messaging between services.

--

--