
Compare monolith and microservices, explaining why monoliths are simple yet scale poorly, while independent microservices enable targeted scaling via api gateway, polyglot languages, and faster devops.
Compare ALB and API Gateway to learn when to use each: ALB handles application-layer traffic, while API Gateway provides request validation, mapping, and cross-account Lambda integration.
Compare vertical and horizontal scaling to manage server load with a load balancer, highlighting cutover downtime in vertical scaling and the rapid, cost-effective growth of horizontal scaling.
Discover how caching boosts data retrieval by reducing database access, and explore where to enable it—from API gateway and CloudFront to elastic cache and Redis—using time to leave.
Understand high availability and fault tolerance in system design. A load balancer distributes 100 TPS across two availability zones; if zone fails, fault-tolerant setups sustain 100 TPS at higher cost.
Explore distributed computing by contrasting centralized client-server systems with distributed architectures, highlighting horizontal scaling, load balancers, and resilience across multiple servers and availability zones.
Discover how hashing converts inputs to fixed-size outputs with a fast, deterministic hash function and how consistent hashing enables scalable database partitions.
Examine how hashing distributes requests across back end servers using a unique id and routes the request to the same server; down servers cause remapping and consistent hashing resolves it.
Explore how consistent hashing uses a hash ring, uniform distribution, and virtual replicas to minimize remapping when servers change, routing requests clockwise to backends.
Explore disaster recovery by analyzing RPO and RTO, compare backups and real-time replication, and learn how failure tolerance dictates strategy selection.
Compare disaster recovery options from backup and restore to multi-site active-active, showing how RPO drives cost and downtime across regions, with pilot light, warm standby, and aurora global database.
Cap theorem defines consistency, availability, and partition tolerance, and examines trade-offs with two-out-of-three scenarios using banking and social app examples.
Link to the Well Architected interactive map - https://wa.aws.amazon.com/map.html
Explore three-tier architecture with serverless and Kubernetes. Use Amazon S3 and CloudFront for static content; API gateway with Lambda for dynamic logic, and Aurora or DynamoDB as data stores.
Design a content based messaging system that routes insurance messages by type (car, house, motorcycle) using topic filtering and metadata, enabling independent backend scaling.
Design a high priority queuing architecture between system and system B to prioritize car insurance messages, using two queues and processing with AWS Lambda and auto scaling, including dead-letter support.
Encrypt data at rest using envelope encryption with data keys and master keys, choosing client-side or server-side encryption and relying on a managed key service for rotation and access.
Learn how data in transit is protected with SSL/TLS and mutual TLS, including certificate validation, public keys, pre-master keys, and encrypted client–server communication.
Compare TLS and mutual TLS, detailing how servers and clients validate certificates, authorities enable mTLS in B2B contexts, and how gateways handle termination and backend validation.
Compare IDS, IPS, and security groups/NACLs, detailing how IDS detects threats, IPS quarantines or blocks, and how AWS network firewall enables integrated protection.
Discover how IAM users, groups, and roles with policies secure access to Lambda, DynamoDB, and S3, covering single-account group permissions and service-to-service access.
Twelve (12) factor app
Know how to answer 12 factor app interview questions by focusing on portability, build–release–run cycles, dependencies, config, backing services, and stateless design, while acknowledging limits like concurrency and lift‑and‑shift.
Learn the cell based architecture, its cell router and self-contained cells, and how the control plane coordinates provisioning to achieve failure containment and reduced blast radius.
Master system design by mastering five must-know components: microservices with load balancer or api gateway, synchronous versus asynchronous patterns, database selection and optimization, caching, and security for scalable, available architectures.
Learn how timestamps in video descriptions let you jump to different areas of long system design videos for convenient revisits to specific design areas.
Timestamps:
0:00 Requirements and features
2:53 Video ingestion
5:36 Database
7:41 Video encoding
10:26 Adult content detection
12:00 Parallel processing
13:21 Content Delivery Network (CDN)
15:44 Searching and viewing video
20:47 S3 cost savings techniques
23:17 Security
Timestamps in the video:
00:00 Features and design requirements
02:06 Table design
05:36 Timeline design
08:53 Architecture on AWS
12:34 Database discussion with possible interviewer question
17:21 Edge case
19.24 Trending feature
21.34 Security
Twitter engineering reference article: https://www.infoq.com/presentations/Twitter-Timeline-Scalability/
Design a scalable, secure whatsapp-style chat system using a message queue, web socket API, microservices, and DynamoDB, with edge checks for online status.
Timestamps:
00:00 Requirements and design specs
01:42 Image store/retrieve design
06:21 Match search and database design
09:53 Tinder recommendation engine
15:50 Precomputing matches
17:43 Chat feature
Study below if going for interview with Uber:
Schemaless MySQL: https://eng.uber.com/schemaless-part-two-architecture/
Ringpop architecture: https://eng.uber.com/ringpop-open-source-nodejs-library/
design a ticket reservation system for fandango, ticketmaster, and live nation, separating ticket transactions from movie details with caching and relational seat locking for five-minute holds.
Design an IoT architecture using a lightweight NQT (MQTT) broker where sensors publish to topics and trigger lambdas, with edge computing via Greengrass or FreeRTOS and analytics via IoT analytics.
00:00 Requirements and design spec
04:57 Online store design
12:04 Cost effectiveness and scaling
14:04 Database design
20:32 Security
22:10 Analytics and high availability
Design a three-tier, serverless e-commerce architecture with a static presentation layer, API gateway, Lambda, shopping cart, product catalog, recommendations, and caching.
Keep learning and keep rocking ?
Instructor of this course, Rajdeep Saha, received LinkedIn elite "Top Systems Design Voice" award in Nov 2023 for his contribution in the field of system design
[Q3 2024] Gen AI System Designs, Cell Based Architecture
[May 2023] Added 12 Factor App explanation, with related interview tips
[Nov 2022] Added Parking Garage System Design
What will you achieve from this course?
Welcome to Rocking System Design on AWS course:
Learn design building blocks such as scaling, sharding, caching, load balancing, microservices, well architected framework, security etc. all in one course
Master any system design using the building blocks starting from three-tier architecture, storing/retrieving images, to YouTube, IoT, Uber, Tinder, Shopify, Amazon and more
Tips, tricks, learning from real world Cloud Architect to use both in interviews and your real world projects
Learn AWS implementation of the design using Kubernetes, Lambda, EC2, API Gateway, and more
About the instructor
Rajdeep Saha is a Principal Solutions Architect at AWS. He has migrated and designed numerous mission-critical apps in the cloud, handling millions of transactions. Rajdeep has presented at the biggest stages, such as AWS Re:Invent, AWS Summits, and Kubecon. He has authored multiple bestselling courses and mentored students successfully to cloud jobs, including FAANG companies. Rajdeep also runs a successful YouTube channel named "Cloud With Raj" with over 100K+ subscribers. He has over 250,000+ followers across the globe. Rajdeep takes pride in teaching real-world solutions and learnings beyond just theoretical information. You are in capable hands! All opinions are Rajdeep's own.
Course Structure
This course has three main areas - System Design Basics, Reusable Parts of System Design, and Modern Applications System Design
Please check out the list of lectures for detailed breakdown of each area.
This is the course that could take your career to next level. Let's have some fun and design some awesome stuff in cloud together!