Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
System Design & Software Architecture: AWS + Microservices
Rating: 4.3 out of 5(183 ratings)
2,617 students

System Design & Software Architecture: AWS + Microservices

Learn Scalable System Design, Microservices, Distributed Systems, AWS, Messaging, Security, Reliability & Security
Created byMunawar Ali
Last updated 5/2026
English

What you'll learn

  • Design scalable, reliable and high-performance software systems using System Design principles
  • Understand Microservices Architecture, DDD, CQRS, Event Sourcing, SAGA and design patterns
  • Build cloud-native architectures using AWS services including EC2, S3, Lambda, RDS and VPC
  • Understand communication patterns including REST, gRPC, GraphQL, Kafka and RabbitMQ
  • Implement security concepts such as JWT, OAuth2, OIDC, RBAC and AWS IAM
  • Learn scalability, availability, fault tolerance and disaster recovery strategies

Course content

11 sections243 lectures16h 36m total length
  • Highlevel Introduction to the Course1:43
  • Detailed Introduction to the Course Content6:54

    ? Welcome to the Detailed Introduction to Course Content! In this video, we'll walk you through everything this course covers, ensuring you understand how each topic fits into the bigger picture of software architecture and system design.

    ?‍? Key topics we'll cover:

    • Roles and Responsibilities: Software Architect vs Solutions Architect, Architectural Vision, and Software Architecture vs System Design.

    • ? AWS Essentials: IAM, EC2, S3, RDS, DynamoDB, Lambda, CloudWatch, VPC, and more — equipping you to build secure, scalable, and resilient systems in the cloud.

    • ? Important Concepts: Statefulness, load balancing, redundancy, partitioning, consistent hashing, and database consistency models — everything you need to design robust systems.

    • ? Communication: HTTP, REST, gRPC, GraphQL, AMQP, RabbitMQ, Kafka, data streaming, and messaging with Amazon SQS/SNS/EventBridge — including Node.js coding best practices.

    • ?️ Architectural Styles: Microservices, SOA, DDD, serverless, and key patterns like API Gateway, Service Mesh, Circuit Breaker, SAGA, CQRS, and Event Sourcing.

    • ? Security Fundamentals: Authentication vs Authorization, MFA, SSO, RBAC, IAM policies, JWT, Cognito, TLS, VPN, encryption, AWS KMS, and Secrets Manager.

    • ? Scalability & Reliability: Vertical vs horizontal scaling, auto-scaling, database scalability, disaster recovery, business continuity, AWS high-availability services, and CDN.

    • Performance: Speed, latency, throughput, concurrency, request batching, and performance metrics with AWS CloudWatch.

    ? By the end of this introduction, you'll know exactly what to expect from this course, and how each module builds your expertise as a software architect and system designer. Let’s dive in!

  • Important Instruction0:25

    Important Note

    The course content, section names, and learning roadmap are currently being improved and reorganized to provide a better learning experience.

    You may notice that some section names or the roadmap shown in this introductory video do not fully match the latest course structure.

    The course has been updated with improved sequencing and organization based on student feedback and course enhancements.

    The updated roadmap and content structure will be reflected in this introduction video soon.

    Please follow the current section structure shown in the course curriculum.

    Thank you for your understanding and support as the course continues to improve. ?

  • Who Am I0:40
  • Important Instructions!0:55

Requirements

  • Comfortable with at least one language such as JavaBasic understanding of at least one programming language (Java, C#, Python, JavaScript, etc.)Script, Python, Java, C#, etc.
  • Basic software development knowledge is helpful but no architecture experience is required
  • Curiosity and willingness to learn System Design and Software Architecture concepts
  • An AWS account is recommended for hands-on practical exercises (Free Tier works fine)

Description

Ready to move beyond coding and start thinking like a Software Architect?

This course takes you on a practical journey from Software Development → Software Architecture → System Design, helping you design scalable, reliable, and high-performance systems used in modern enterprise applications.

Whether you're a Developer, Senior Developer, Team Lead, or someone preparing for Software Architect roles, this course helps you build an architectural mindset and understand how real-world systems are designed.

This is not a theory-only course. You'll learn concepts with practical examples and hands-on AWS implementations.

What you'll learn

✓ Software Architecture Fundamentals

  • Software Architecture fundamentals and architectural thinking

  • Software Architect vs Solution Architect responsibilities

  • System Design concepts and architecture decision-making

✓ Architecture Styles & Design Approaches

  • Monolithic Architecture

  • Service-Oriented Architecture (SOA)

  • Microservices Architecture

  • Domain-Driven Design (DDD)

✓ Distributed Systems Concepts

  • Scalability

  • Reliability

  • Availability

  • Performance

  • Fault tolerance

  • Redundancy

  • Sharding

  • Replication

  • Consistency models

✓ Communication Protocols & Messaging

  • REST APIs

  • gRPC

  • GraphQL

  • RabbitMQ

  • Apache Kafka

  • Amazon SQS

  • Amazon SNS

  • Amazon EventBridge

  • WebSockets

✓ Microservices Patterns

  • API Gateway

  • Service Discovery

  • Service Mesh

  • CQRS

  • Event Sourcing

  • Circuit Breaker Pattern

  • SAGA Pattern

  • Backend for Frontend (BFF)

✓ Security

  • Authentication vs Authorization

  • JWT (JSON Web Tokens)

  • Role-Based Access Control (RBAC)

  • OAuth 2.0

  • OpenID Connect (OIDC)

  • AWS IAM

  • Amazon Cognito

✓ AWS Cloud Services

  • IAM

  • EC2

  • S3

  • EBS

  • EFS

  • VPC

  • AWS Lambda

  • Amazon RDS

  • DynamoDB

  • API Gateway

  • CloudFront

  • Auto Scaling

  • CloudWatch

✓ High Availability & Reliability

  • High Availability strategies

  • Disaster Recovery strategies

  • Business Continuity concepts

✓ Real-World Architectural Practices

  • Real-world architectural patterns

  • Enterprise design best practices

  • Architectural decision-making approaches

By the end of this course, you will be able to:

✓ Think like a Software Architect
✓ Make architecture decisions confidently
✓ Design scalable cloud-native systems
✓ Build reliable and high-performance applications
✓ Understand enterprise architecture patterns
✓ Transition toward Software Architect responsibilities

Who this course is for

  • Developers wanting to transition into Software Architecture

  • Senior Developers preparing for Architect roles

  • Engineers wanting hands-on AWS architecture experience

  • Developers preparing for System Design interviews

  • Anyone interested in scalable and distributed systems

Who this course is for:

  • Developers who want to transition into Software Architecture roles
  • Senior Developers and Team Leads preparing for Software Architect positions
  • Software Engineers preparing for System Design interviews
  • Developers who want practical experience with AWS and cloud-native systems
  • Anyone interested in scalable distributed systems and Microservices architecture