Architecture Fundamentals
General material on what solution architecture is and what an architect is accountable for.
4 to work through
-
beginner Multiple choice
YouTube ingests hundreds of thousands of hours of video a day and serves billions of watch sessions. A new engineer proposes that "the architecture" of YouTube is its choice of programming languages and frameworks. What is wrong with that framing, and what is the architecture actually?
2 min answer -
intermediate
A team shows you a design with eight services. Without knowing the domain, what questions tell you whether the boundaries are right?
2 min answer -
intermediate
Instagram served 14 million users with three engineers on Django and Postgres. What does that tell you about how to choose an architecture for a new product?
2 min answer -
advanced
Prime Video's video-quality monitoring team moved from a serverless step-function pipeline back to a single long-running service and reported a large cost reduction. What actually changed, and which generalisation from this would be wrong?
2 min answer
16 terms in this topic
Abstraction
Exposing what a component does while hiding how it does it, so callers depend on the contract rather than the mechanism.
conceptAccidental vs Essential Complexity
Essential complexity comes from the problem and cannot be removed; accidental complexity comes from your solution and usually can.
conceptArchitectural Driver
The small subset of requirements and constraints that actually shape the structure of the system.
practiceArchitecture Principle
A durable, agreed rule that constrains design decisions in advance, stated with its rationale and its implications.
conceptArchitecture Style
A named, coarse-grained way of organising a whole system, as distinct from a pattern that solves one recurring problem inside it.
conceptCohesion
The degree to which everything inside one component belongs together and changes for the same reason.
conceptConway's Law
Systems tend to mirror the communication structure of the organisation that builds them.
conceptCoupling
The degree to which one component must know about, or change alongside, another.
conceptEncapsulation
Keeping a component's state private, so it can only be changed through operations that maintain its invariants.
practiceEvolutionary Architecture
Designing for guided, incremental change rather than trying to get the structure right once, up front.
practiceFitness Function
An automated check that an architectural characteristic still holds, run continuously rather than reviewed occasionally.
case-studyInstagram's Early Scaling
Instagram reached tens of millions of users on Django and PostgreSQL with a handful of engineers, by deliberately choosing boring technology and doin…
conceptModularity
The degree to which a system is composed of parts that can be understood, changed and replaced independently.
conceptNon-Functional Requirement
A requirement about how well the system must behave rather than what it must do — latency, availability, throughput, security, cost.
conceptSeparation of Concerns
Organising a system so each part addresses one concern, and a change to that concern touches one part.
conceptSolution Architecture
The design of a specific system that satisfies a specific business problem under a specific set of constraints.
Neighbouring topics
Requirements to Constraints
Turning stated requirements into the constraints that actually bound a design.
Functional vs Non-Functional
Behaviour versus quality of behaviour, and why only the second constrains structure.
Architectural Drivers
The small subset of requirements whose change would force the structure to change.
Quality Attributes
Availability, latency, throughput, security, cost — expressed as testable scenarios.
Architecture Principles
Durable agreed rules that rule options out, stated with rationale and implications.
Coupling
How much one component must know about, or change alongside, another.
Cohesion
Whether the things inside a boundary belong together and change for the same reason.
Modularity
Composing a system from parts that can be understood and replaced independently.
Separation of Concerns
Organising so that a change to one concern touches one place.
Abstraction & Encapsulation
Hiding mechanism behind contract, and protecting invariants by owning state.
Architecture Styles
System-level organising shapes, and how they differ from problem-level patterns.
Evolutionary Architecture
Designing for guided incremental change rather than for correctness on day one.
Fitness Functions
Automated checks that an architectural characteristic still holds.
Architecture Documentation
What to write down, at what altitude, and what nobody will ever read.
Conway's Law
Systems mirroring the communication structure of the organisation that builds them.
Trade-off Fundamentals
Why every architecture is a set of purchases, and how to state what you gave up.
Technical Constraints
Existing estate, skills, licences and platforms as inputs rather than obstacles.
Architecture Roles
Solution, enterprise, domain and platform architecture, and where each is accountable.
Reference Models
Shared conceptual frames — layering, tiers, viewpoints — and their limits.