System Design SpaceSystem Design Space
Onboarding
Back to table of contents

Software Architecture

19 chapters

This page contains all chapters in this theme. Open chapters in sequence or use this page as a section map.

1

What is software architecture and why is it in System Design?

Original Contenteasy

Introductory chapter: architecture, key decisions and why think about it when designing systems.

Open chapter
2

Architecture at Scale: How We Make Architectural Decisions

Original Contentmedium

Talk by Alexander Polomodov (author of system-design.space) at ArchDays 2020: how to scale decision making through RFC/ADR, architectural boundaries and lightweight governance. This process has been rolled out and is used at T-Bank.

Open chapter
3

Evolution of T-Bank architecture (2006 -2025)

Original Contenthard

18 years of development: from a COTS startup to a tech company with 46M clients. Platform Engineering, import substitution and decentralized governance.

Open chapter
4

Fundamentals of Software Architecture (short summary)

Book Summarymedium

Architectural characteristics, styles (Layered, Microservices, Event-Driven) and soft skills of an architect from Mark Richards and Neal Ford.

Open chapter
5

Head First Software Architecture (Head First. Software architecture)

Book Summaryeasy

An introduction to architectural thinking through the 4 dimensions: characteristics, solutions, logical components and architectural styles.

Open chapter
6

Software Requirements (short summary)

Book Summaryhard

Classics from Karl Wiegers: requirements levels, elicitation techniques, MoSCoW and Kano prioritization, change management.

Open chapter
7

Clean Architecture (short summary)

Book Summarymedium

Classics from Uncle Bob: SOLID principles, component cohesion and coupling, Main Sequence and plugin architecture.

Open chapter
8

Software Architecture: The Hard Parts (short summary)

Book Summaryhard

Monolith decomposition, saga patterns, orchestration vs choreography and data management in distributed systems.

Open chapter
9

Building Evolutionary Architectures (short summary)

Book Summaryhard

Fitness Functions for Architectural Verification, Connascence, Architectural Quantum and Database Evolution.

Open chapter
10

Evolutionary architecture in practice

Original Contenthard

Analysis of Alexander Polomodov's talk: incremental changes, fitness functions, coupling and triggers of architectural evolution.

Open chapter
11

Continuous Architecture in Practice (short summary)

Book Summaryhard

6 principles of continuous architecture: from projects to products, quality attributes, delay decisions and architecture for DevOps.

Open chapter
12

Software Architecture for Busy Developers (short summary)

Book Summarymedium

ATAM for analyzing architectural trade-offs, quality attributes, cloud native approaches and API-driven architecture.

Open chapter
13

A Philosophy of Software Design (short summary)

Book Summaryhard

The philosophy of dealing with complexity from John Osterhout: deep modules, information hiding, strategic programming and red flags.

Open chapter
14

Tidy First? (short summary)

Book Summaryhard

Kent Beck's book on small structural changes: tidyings, separate tidying, and design economics through coupling, cohesion and optionality.

Open chapter
15

Evolution of software architecture with Grady Booch

Documentarymedium

Podcast with UML co-author about the development of architecture, the role of the architect and modern challenges.

Open chapter
16

UML: Diagrams as an Architectural Language

Original Contentmedium

Original chapter on UML: Key Diagrams, Benefits and Practical Applications.

Open chapter
17

C4 Model: context, containers, components, code

Original Contentmedium

Practical guide to the C4 Model based on the official website: 4 levels of diagrams, notation and workflow modeling.

Open chapter
18

BPMN: Business Process Modeling Language

Original Contentmedium

Practical introduction to BPMN 2.0.2: elements of notation, gateways, swimlanes and workflow process modeling.

Open chapter
19

ArchiMate: a holistic model of enterprise architecture

Original Contenthard

Introduction to ArchiMate: layers, aspects, relationships and practical workflow from strategy to process flow.

Open chapter