Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Master System Design & Software Architecture: Basic-Advanced

via Udemy

Overview

Learn Software Architecture, System Design, Microservices Architecture, Scalability, Messaging, Security & AWS Architect

What you'll learn:
  • Master System Design Principles & Software Architecture Concepts — Learn Scalability, Reliability, Availability, Performance, Security to Build Resilient System
  • Dive into Architectures + Microservices Architectural Patterns. Deep into Protocols/Implementations: gRPC, GraphQL, AMQP, RabbitMQ, Kafka, SQS, SNS, Streaming
  • Leverage AWS: Hands-on practicals with EC2, S3, RDS, Lambda, VPC, IAM, CloudFront CDN and More, to implement cloud-based architectural solutions with resilence
  • Learn Important Architectural Concepts - Stateful/stateless, Load Balancers, Fault Tolerance, Redundancy, Replication, Sharding, Partitioning, Consistency etc.
  • AWS and Node.js Examples for Protocols/Implementations: REST, gRPC, GraphQL, RabbitMQ, Kafka, SQS, SNS etc.

Are you ready to advance your career learning System Design, and want to transition from a developer to a software architect and transition from coding applications to architecting large-scale, high-performance systems?

This Software Architecture Course provides a complete journey, from mastering the fundamentals of software architecture and system design for developers to leveraging AWS cloud-native services in real-world scenarios.

This hands-on, in-depth software architecture online course equips you with the technical skills, architectural mindset, and cloud expertise needed to design scalable, resilient, and cost-effective systems that meet modern enterprise needs.

What You’ll Learn:

Roles and Responsibilities:

  • Understand the key differences between Software Architect vs. Solutions Architect.

  • Explore Software Architecture vs. System Design.

  • Learn how to build and maintain an Architectural Vision.

AWS Cloud-Native Services:

  • Amazon IAM: User creation, role policies, and enabling MFA.

  • Cost Management: AWS Pricing Calculator, Budgets, and Free Tier usage.

  • Amazon EC2: Instance Types, EBS, Pricing Models (On-Demand, Reserved, Dedicated, and Savings Plans).

  • Storage Services: Amazon S3, S3 Storage Classes, Access Policies; EBS Volumes; and Amazon EFS.

  • Networking: Amazon VPC, Subnets, IGWs, and Availability Zones.

  • Load Balancing: ALB, NLB, and ELB with EC2 integration and cost analysis.

  • Databases: Amazon RDS (MySQL, Aurora), DynamoDB setup, and real EC2 connections.

  • Serverless: Build AWS Lambda functions with S3 triggers and CloudWatch logging.

  • API Gateway: Create and manage REST APIs and explore integration options.

Important System Design Concepts:

  • Stateful vs. Stateless Architectures

  • Load Balancer vs. Reverse Proxy

  • Fault Tolerance, Redundancy, Replication

  • Failure Detection & Recovery, Rollback vs. Roll Forward

  • Retry Mechanism, Timeouts, Health Checks, Fallback Mechanism

  • Rate Limiting

  • Database Redundancy, Partitioning, Sharding

  • Database Consistency Models, Consistent Hashing

Communication Protocols & Messaging:

  • HTTP Versions, REST, gRPC, GraphQL

  • AMQP, RabbitMQ, Apache Kafka

  • Event-Driven & Data Streaming Systems

  • Amazon SQS, Amazon SNS, Amazon EventBridge

  • WebSockets

Architectural Styles & Patterns:

  • Client-Server, Layered (n-tier), Component-Based, Monolithic, Service-Oriented Architecture (SOA),

  • Microservices Architecture

  • Domain-Driven Design (DDD)

Microservices Core Concepts:

  • Service Discovery, Load Balancer, API Gateway

  • Service Mesh, Configuration Server, Database Per Service

  • Circuit Breaker Pattern, SAGA Pattern, CQRS, Event Sourcing

  • Choreography Pattern, Aggregator Pattern, Backend for Frontend (BFF)

Comparison:

  • Monolith vs Microservices

  • SOA vs Microservices

Migration Techniques:

  • Decomposition Strategies

  • Strangler Pattern

  • Serverless Architecture

Design Patterns and AWS Compute Services

Security:

  • Authentication vs Authorization

  • Multi-Factor Authentication (MFA), Single Sign-On (SSO)

  • Role-Based Access Control (RBAC)

  • AWS IAM Policies – Identity, Resource, and Session-based

  • Shared Responsibility Model

  • JWT (JSON Web Tokens) – Creation and Validation

  • Amazon Cognito, OAuth 2.0 vs OpenID Connect (OIDC)

Scalability:

  • Vertical vs. Horizontal Scaling

  • Auto Scaling with Amazon EC2 and ELB

  • AWS Application Auto Scaling

  • Relational Database Scalability: Challenges and Solutions

  • Scalability with Amazon RDS, Aurora, and DynamoDB

  • Best Practices for Scalable Design

Reliability:

  • Purpose, Benefits, and Trade-Offs

  • Measuring MTBF (Mean Time Between Failures) and MTTF (Mean Time to Failure)

  • Building a Business Continuity Plan (BCP) and Disaster Recovery Strategy

  • Ensuring Network Reliability and Security

Availability:

  • Impacts and Challenges of Availability

  • Response Time Optimization

  • Active-Active vs. Active-Passive Clustering

  • Availability Implementation Using:

    • Amazon EC2, Amazon S3

    • Amazon RDS, Amazon Aurora

    • Amazon DynamoDB

    • Globally Distributed Applications

    • Multi-Region Deployment

    • CDN via Amazon CloudFront

Performance:

  • Understanding Metrics: Speed, Latency, Throughput, Bandwidth

  • Using CloudWatch Metrics for Monitoring

  • Concurrency vs. Parallelism

  • Load Shedding, Request Batching

  • Lazy Loading vs. Eager Loading

Deployment Considerations

  • AWS-Specific Performance Tuning:

    • EC2 Placement Groups

    • Millisecond Latency Techniques

By the end of this Software Design and Architecture Course, you'll be equipped with the expertise to lead architecture decisions, design scalable cloud solutions, and deliver high-performing software systems for enterprise needs.

Who this course is for:

  • Developers or Senior Developers, who are passionate about advancing their careers in technology and want to learn System Design and Software Architectures.

  • Developers who want to gain hands-on experience with cloud-native services in the AWS platform.

Syllabus

  • Introduction to the Course
  • Basic Concepts, Roles and Responsibilities
  • AWS Services - High Level - Prior to Core Concepts
  • Important Architectural and System Design Concepts
  • Messaging with REST, gRPC, GraphQL, AMQP, Kafka & AWS
  • Common Architectural Styles and Microservices Architecture
  • Security - AuthN & AuthZ, AWS Security, JWT, OAuth, OIDC & TLS
  • Scalability: Strategies, EC2, RDS, DynamoDB & Auto Scaling Patterns
  • Reliability: BCP, EC2, S3, RDS & Recovery Models
  • High Availability: Clustering, CDN, Multi-Region & AWS Tools
  • Performance: Metrics, Concurrency, Millisecond Latency

Taught by

Munawar Ali

Reviews

4.4 rating at Udemy based on 154 ratings

Start your review of Master System Design & Software Architecture: Basic-Advanced

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.