Home / Academy / System Design & Data Architecture
Course Overview

What You Will Learn

Moving from code to scalable systems, this class focuses on designing robust, high-performance architectures that handle real-world data and traffic. Students will learn core principles of system design, including load balancing, caching, database sharding, message queues, microservices, and disaster recovery. On the data architecture side, the course covers relational vs. NoSQL databases (PostgreSQL, MongoDB, Redis), data modeling, ETL pipelines, data warehousing, and governance. Through case studies and hands-on design exercises, participants will architect systems that are reliable, maintainable, and scalable, preparing them for senior engineering, solutions architect, or data engineering roles.

Program Curriculum

Course Content

Explore the full learning path section by section and preview what is included in this program.

What is System Design?
Preview Text
Why System Design Matters in Real Software Projects
Text
Locked
Functional vs Non-Functional Requirements in Architecture
Text
Locked
Trade-Off Thinking in Architecture
Text
Locked
Client-Server Architecture
Text
Locked
N-Tier Architecture
Text
Locked
Monoliths and Layered Systems
Text
Locked
Microservices as an Architectural Style
Text
Locked
Choosing the Right Architecture Style
Text
Locked
What is a Distributed System?
Text
Locked
Benefits and Challenges of Distribution
Text
Locked
Network Latency, Partial Failure, and Timeouts
Text
Locked
Designing for Distributed Complexity
Text
Locked
Horizontal vs Vertical Scaling
Text
Locked
Load Balancing Concepts
Text
Locked
High Availability Principles
Text
Locked
Traffic Distribution Strategies
Text
Locked
Rate Limiting and Traffic Shaping
Text
Locked
CAP Theorem Explained
Text
Locked
Strong Consistency vs Eventual Consistency
Text
Locked
Consistency Models in Real Systems
Text
Locked
Designing for Data Correctness and Availability
Text
Locked
Database Replication
Text
Locked
Database Partitioning
Text
Locked
Database Sharding
Text
Locked
Read Replicas and Read/Write Separation
Text
Locked
Choosing a Data Scaling Strategy
Text
Locked
Event-Driven Architecture
Text
Locked
Message Queues and Why They Matter
Text
Locked
RabbitMQ Fundamentals
Text
Locked
Kafka Fundamentals
Text
Locked
CQRS – Command Query Responsibility Segregation
Text
Locked
Event Sourcing Overview
Text
Locked
When Event-Driven Design is a Good Fit
Text
Locked
Why Caching Matters
Text
Locked
Application Caching with Redis
Text
Locked
Caching Strategies and Invalidation
Text
Locked
Content Delivery Networks (CDNs)
Text
Locked
Choosing What to Cache
Text
Locked
API Gateway Concepts
Text
Locked
Kong, Nginx, and AWS API Gateway Overview
Text
Locked
Service Discovery Concepts
Text
Locked
Consul and Eureka Overview
Text
Locked
Edge Routing, Security, and Traffic Control
Text
Locked
System Reliability and Fault Tolerance
Text
Locked
Circuit Breaker Pattern
Text
Locked
Retry Patterns and Backoff
Text
Locked
Bulkheads, Isolation, and Failure Containment
Text
Locked
Health Checks and Recovery Strategies
Text
Locked
SLA, SLO, and SLI
Text
Locked
Reliability Trade-Offs in Real Systems
Text
Locked
Understanding the E-Commerce Problem Space
Text
Locked
Identifying Core Services and Boundaries
Text
Locked
Designing API Flows for Product Browsing and Checkout
Text
Locked
Scaling the Data Layer for Orders and Catalog
Text
Locked
Caching, Queues, and Reliability in the E-Commerce System
Text
Locked
Final Architecture Review and Trade-Off Analysis
Text
Locked
System Design & Data Architecture

System Design & Data Architecture

$88.00
Not enrolled
Category Software Engineering
Instructor Filimon Shferaw
Lessons 11 Sections
Instructors

Meet the Instructor

  • Filimon Shferaw
    Senior Software Engineer