Evolution in Software Architecture

Img src :Unfinished Evolution by György Csepeli

Introduction

What is Software Architecture?

Figure 1 : Software Architecture — Ref : Fundamentals of Software Architecture
Figure 2: Software Architecture Characteristics — Ref : Fundamentals of Software Architecture

What are the Expectations of an Architect?

Decision making

Continually analyzing the architecture

Keep current with the latest trends

Ensure compliance with decisions

Diverse exposure and experience

Have business domain knowledge

Possess interpersonal skills

Understand and navigate politics

The evolution of the Software Architecture

Monolith

Figure 3 : Monolithic Software Architecture
Figure 4 : Distributed Monolith

Distributed Monolith

Distributed SOA

Figure 5: Distributed SOA

Event-Driven Microservices Architecture

Figure 6 : Event-Driven Microservices with enabling functions
Figure 7 : Command Query Responsibility Segregation to improve DB Performance

EDM with Micro Frontends

EDM with Micro-Frontends

Benefits from Micro Frontends

  • Smaller, more cohesive, and maintainable codebases
  • More scalable organizations with decoupled, autonomous teams
  • The ability to upgrade, update or even rewrite parts of the frontend more incrementally than was previously possible

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store