Software Architectures [Dev Concepts #9]

Learn all about the different types of software architectures in this dev lesson!

In this video of the series Dev Concepts, we talk about the different types of software architectures like Monolith Apps, the Client-Server Model, Front-end and Back-end, 3-tier and multi-tier, and more. Svetlin Nakov also explains what the role of the software architect is and why it’s important.

Software systems are structured as set of interconnected components. This structure is called a software architecture.
Software systems consist of interconnected components organized in certain structure called architecture. Software architecture is a broad engineering discipline.
In large organizations the architecture is designed by the software architects.
In smaller organizations, the architecture is designed by the senior developers or by the technical team leader.
The software architecture defines the structure of the system: its components and their interactions.
 
Concepts related to software architectures are:
  • Monolith apps – applications, consisting of a single component
  • The “client-server” model, where the client requests resources from the server and displays them to the user
  • The concept of “front-end” (the user interface of the system) and “back-end” (the data storage and processing logic)
  • The classical “3-tier” and “multi-tier” architectural models, where the system is split into user interface, business logic and data storage
  • The concept of “SOA” (service-oriented architecture) and microservices (self-contained software components)
All these concepts are complicated, and developers learn them in detail as they gain experience for many years.

Lesson Topics

In this video we review the following topics:
  • Overview of Software Architectures – Monolith Apps, The “Client-Server” Model, 3-Tier/Multi-Tier Architecture
  • An Example of a Software Architecture
  • Front-End and Back-End

Lesson Slides

Leave a Comment

Scroll to Top