Architect Large Scale Systems using Cloud Computing and Software Architecture Patterns
Are you ready for your next career step?
Do you want to become a Software Architect or Technical Lead and work on impactful projects that help millions of users?
Then you came to the right place!
In this course, you will wear the hat of a Software Architect, solving some of the most challenging and important problems in system design, software architecture, and modern cloud computing.
Throughout the course, you will learn the most useful Software Architecture Patterns that any Cloud Software Architect needs to know, and which have already been successfully applied by the top tech companies
In each lecture you will be presented with:
- A new design problem
- A common solution in a form of a Software Architecture Pattern
- A real-life example where that pattern can be used
- Important design and architecture considerations when implementing that pattern
By the end of the course:
You will have a complete Software Architecture toolbox full of patterns that will help you architect a highly scalable, available, reliable, and responsive cloud-based system that can reach millions of users around the world and help grow your company’s business.
In addition, knowing and understanding those Software Architecture Patterns can really set you apart in System Design Interviews, especially at FAANG and other top tech companies.
What you’ll learn
- Architect Modern Large Scale Software Systems
- Solve Challenging System Design Problems using Software Architecture Patterns
- Use Cloud Computing to Serve Millions of Users around the World
- Design, Deploy and Test Real-Life Production Systems
Table of Contents
1 Introduction to Cloud Software Architecture
2 Load Balancing Pattern
3 Pipes & Filters Pattern
4 Scatter Gather Pattern
5 Execution Orchestrator Pattern
6 Choreography Pattern
Software Architecture Patterns for Data Intensive Systems
7 Map Reduce Pattern
8 The Saga Pattern
9 Transactional Outbox Pattern
10 Materialized View Pattern
Software Extensibility Architecture Patterns
11 Sidecar & Ambassador Pattern
12 Anti-Corruption Adapter Pattern
13 Backends for Frontends Pattern
Reliability, Error Handling and Recovery Software Architecture Patterns
14 Throttling and Rate Limiting Pattern
15 Retry Pattern
16 Circuit Breaker
17 Dead Letter Queue (DLQ)
Deployment and Production Testing Patterns
18 Rolling Deployment Pattern
19 Blue-Green Deployment Pattern
20 Canary Release and AB Testing Deployment Patterns
21 Chaos Engineering Production Testing Pattern
22 Bonus Lecture – Let’s Keep learning