Design systems that scale beyond a single codebase. Learn how to think like a software architect by exploring proven architectural patterns, cloud-native design, and real-world system tradeoffs. Model applications using monolithic and event-driven architectures, diagram complex systems, and understand the foundations of microservices and serverless computing. Design data pipelines and storage strategies, reason about machine learning system architecture, and make informed choices around caching, CDNs, IoT, and blockchain systems. By the end, you’ll be equipped to move from "working code" to well-designed, resilient architectures fit for modern software systems.
Overview
Syllabus
- Introduction to Software Architecture Patterns
- Define what software architecture is and why it matters. Explore foundational patterns, including MVC, layered, and event-driven architectures, to build intuition for structuring real-world systems.
- Communicating Software Architecture
- Turn architectural ideas into clear diagrams. Learn when to use sequence, event flow, and system diagrams—and how to create them with Mermaid and D2.
- Microservices and Modular Design Patterns
- Design modular systems with microservices. Explore when to split systems apart, how services communicate, and the tradeoffs around resilience, consistency, and performance.
- Cloud-Native Architectural Patterns
- Don't treat the cloud as an afterthought. Design cloud-native systems using 12-factor principles, stateless services, scalable architectures, and cost-efficient patterns.
- Data and AI Architecture Patterns
- Design data, machine learning, and AI systems by choosing the right storage, pipelines, and architectures—covering batch vs. streaming data, model serving, orchestration, and observability.
- Distributed Architecture Patterns
- Explore distributed system patterns through CDNs, IoT networks, and blockchain architectures, learning how specialized constraints shape real-world architectural decisions.
- Real-Time Financial Fraud Detection - Solution Design
- Design a real-time, cloud-native fraud detection architecture for a bank, balancing low latency, high throughput, compliance, observability, and elastic scaling using modern architectural patterns.
Taught by
Liam Stevens