Master Software Architecture & System Design For Developers
Published 2/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.02 GB | Duration: 15h 16m
Published 2/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.02 GB | Duration: 15h 16m
Master Software Architectures, System Design concepts, Tools & Technologies with Solutions leveraging AWS Services.
What you'll learn
Understanding the vision and role of Software Architect
Master the Core Principles of Software Architecture and System Design
Learn Basic AWS Services. Specially services that are used in Architectures and protocols (like REST, gRPC etc).
Mastering Architectures like SOA, Microservices, Event Driven Architectures etc.
Practicals in Portal of AWS Services, so that Students can practically learn these services
Node.js examples to understand the concepts in communication and protocols section
Requirements
Should be a Developer and have vision of becoming Software Architect
Learn System Design and Software Architecture concepts.
Learn AWS Cloud Services
Description
Are you ready to advance your career from a developer to a software architect? This course is designed to provide a complete journey from understanding core software architecture concepts to mastering system design and cloud-native solutions using AWS.Throughout this course, you’ll learn how to design robust, scalable, and high-performance systems. You’ll gain deep insights into software architecture principles, architectural patterns, and system design strategies. With hands-on examples, case studies, and real-world scenarios, you will develop a comprehensive skill set to handle complex architectural challenges.In addition to software architecture, we will explore cloud services, focusing on Amazon Web Services (AWS). You’ll learn how to leverage cloud-native services to build cost-effective, resilient, and scalable systems. The course emphasizes practical knowledge and industry best practices to help you confidently tackle enterprise-level projects.This course is suitable for developers aspiring to become architects, as well as architects who want to deepen their cloud knowledge. Whether you are building a new application from scratch or improving an existing system, the skills you acquire here will enable you to design better software systems that meet real-world requirements.What you’ll learn in this course:Core concepts of software architecture and system design.Architectural concepts using AWS Cloud-native services, along with practicals in most: AWS Identity and Access Management (IAM)Amazon EC2, Amazon Elastic Block Storage (EBS)Amazon S3, Amazon Elastic File System (EFS)Availability Zones, Amazon Virtual Private Cloud (VPC), Internet Gateway (IGW)Amazon Elastic Load Balancer (ELB)Amazon Relational Database Service (RDS), Amazon Aurora, Amazon DynamoDBAWS Lambda, Amazon API GatewayAWS CloudWatchAmazon ElastiCacheAWS Key Management Service (KMS), AWS Secrets ManagerAmazon CloudFrontAmazon Simple Queue Service (SQS), Amazon Simple Notification Service (SNS), Amazon EventBridgeAmazon CognitoKey Architectural Styles and Patterns like Microservices, Event-driven systems, and Serverless solutions.Strategies to handle scalability, performance, and disaster recovery.Real-world case studies and hands-on exercises to apply your knowledge.By the end of this 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.
Overview
Section 1: Introduction to the Course
Lecture 1 Highlevel Introduction to the Course
Lecture 2 Detailed Introduction to the Course Content
Lecture 3 Who Am I
Section 2: Basic Concepts, Roles and Responsibilities
Lecture 4 Introduction to the Section
Lecture 5 Software Architecture
Lecture 6 Software Architecture vs System Design
Lecture 7 Software Architect - Role
Lecture 8 Solutions Architect - Role
Lecture 9 Solutions Architect vs Software Architect - Role
Lecture 10 Architectural Vision and Decision Making
Section 3: AWS Services - High Level - Prior to Core Concepts
Lecture 11 Introduction to the Section
Lecture 12 Create an AWS Account
Lecture 13 AWS Identity and Access Management (IAM) - Overview
Lecture 14 AWS Console - AWS IAM - User Creation
Lecture 15 AWS Identity and Access Management (IAM) - MFA
Lecture 16 AWS Console - AWS IAM - MFA
Lecture 17 AWS Console - Pricing Calculator - Overview
Lecture 18 AWS Console - AWS Budgets - Creating a Budget
Lecture 19 Amazon EC2 - Overview
Lecture 20 AWS Console - Amazon EC2 - Creating an EC2 Instance
Lecture 21 Amazon EC2 - Instance Types and Categorization
Lecture 22 Amazon EC2 - On Demand Instances
Lecture 23 Amazon EC2 - Savings Plan
Lecture 24 Amazon EC2 - Reserved Instances
Lecture 25 Amazon EC2 - Dedicated Hosts
Lecture 26 Amazon EC2 - Dedicated Instances
Lecture 27 Amazon EC2 - Capacity Reservations
Lecture 28 AWS Console - Free Tier - Amazon EC2
Lecture 29 Amazon S3 - Basic Overview
Lecture 30 AWS Console - Amazon S3 - Creating Bucket, Uploading Object and Access Policy
Lecture 31 Amazon S3 - Key Features and Storage Classes
Lecture 32 Amazon S3 - Cost
Lecture 33 Amazon EFS - Overview
Lecture 34 AWS Console - Amazon EFS - Mount EFS and Connect with Two EC2 Instances
Lecture 35 Availability Zones
Lecture 36 Amazon VPC - Basic Overview
Lecture 37 AWS Console - Amazon VPC and Subnet - Creating VPC and Subnet
Lecture 38 Amazon VPC and Subnet - Overview, Subnet Types, Internet Gateway (IGW)
Lecture 39 Amazon Elastic Load Balancer (ELB) - Overview
Lecture 40 Amazon ELB - Application Load Balancer
Lecture 41 AWS Console - Application Load Balancer - With Two EC2 Instances
Lecture 42 Amazon ELB - Application Load Balancer - Cost
Lecture 43 Amazon ELB - Network Load Balancer
Lecture 44 Amazon Relational Database Service (Amazon RDS) - Overview
Lecture 45 AWS Console - Amazon RDS - Create MySQL Database and Connect with EC2 Instance
Lecture 46 AWS Console - Pricing Calculator - Amazon RDS
Lecture 47 Amazon RDS - Amazon Aurora - Overview
Lecture 48 Amazon DynamoDB - Overview
Lecture 49 AWS Console - Amazon DynamoDB - Creating Table
Lecture 50 Amazon Lambda - Key Concepts and Pricing
Lecture 51 AWS Console - Amazon Lambda - Simple Lambda Function Creation
Lecture 52 AWS Console - Create Lambda Function - Trigger S3 Bucket and CloudWatch Logging
Lecture 53 Amazon API Gateway
Lecture 54 Amazon API Gateway - Integration - Overview
Lecture 55 AWS Console - Amazon API Gateway - Creation of REST API
Section 4: Important Architectural and System Design Concepts - Prior to Details
Lecture 56 Introduction to the Section
Lecture 57 Stateful Architecture
Lecture 58 Stateful Architecture - Common States Example
Lecture 59 Stateless Architecture
Lecture 60 Load Balancer - Basic Overview
Lecture 61 Forward vs Reverse Proxy
Lecture 62 Decoupling of Components
Lecture 63 Fault Tolerance
Lecture 64 Redundancy
Lecture 65 Redundancy and Replication - Within vs Across Regions
Lecture 66 Failure Detection, Isolation and Recovery
Lecture 67 Rollback and Roll Forward - IaC Example
Lecture 68 Retry Mechanism
Lecture 69 Timeouts
Lecture 70 Health Checks
Lecture 71 Fallback Mechanism
Lecture 72 Rate Limiting
Lecture 73 Relation and Non-Relational Databases - Basic Overview
Lecture 74 Database Redundancy
Lecture 75 Database Replication
Lecture 76 Database Partitioning
Lecture 77 Database Sharding
Lecture 78 Database Consistency
Lecture 79 Database Consistency - Eventual, Casual and Strong Consistency
Lecture 80 Hashing Algorithms - Simple Hashing
Lecture 81 Hashing Algorithms - Consistent Hashing
Section 5: Scalability
Lecture 82 Introduction to the Section
Lecture 83 Scalability - Overview, Purpose and Benefits
Lecture 84 Scalability – Trade-Offs
Lecture 85 Vertical and Horizontal Scaling
Lecture 86 Which Aspect to Scale - Example
Lecture 87 Which Component to Scale - Example
Lecture 88 Scalability – Impacts and Challenges
Lecture 89 Cloud Infrastructure and Scalability
Lecture 90 Scalability – Auto-Scaling
Lecture 91 Auto-Scaling - EC2 Instances and Load Balancer
Lecture 92 AutoScaling - Multiple AZs Architecture
Lecture 93 AWS Console - AutoScaling - EC2 AutoScaling Group and Load Balancer
Lecture 94 Amazon EC2 - Auto Scaling Group (ASG)
Lecture 95 Amazon EC2 AutoScaling Types - Manual, Dynamic and Scheduled Scaling
Lecture 96 AWS Console - EC2 AutoScaling Policies - Simple Scaling
Lecture 97 AWS Console - EC2 AutoScaling Policies - Step Scaling
Lecture 98 AWS Console - EC2 AutoScaling Policies - Scheduled Scaling
Lecture 99 Auto-Scaling - AWS Application AutoScaling
Lecture 100 AWS Application AutoScaling - Scaling Policies
Lecture 101 Scalability - Development Considerations
Lecture 102 Scalability - Deployment Considerations
Lecture 103 Database Scalability - Relational Databases
Lecture 104 Relational Database Scalability - Challenges and Solutions
Lecture 105 Database Scalability - Considerations
Lecture 106 Scalability with Amazon RDS and RDS Proxy
Lecture 107 AWS Console - Amazon RDS – Multi-AZ Deployment
Lecture 108 AWS Console - Amazon RDS – Create Read Replica
Lecture 109 Scalability with Amazon Aurora and it's Clusters
Lecture 110 Scalability with Amazon DynamoDB
Lecture 111 AWS Console - Amazon DynamoDB – On-demand and Provisioned Capacity
Section 6: Reliability
Lecture 112 Introduction to the Section
Lecture 113 Reliability - Overview, Purpose and Benefits
Lecture 114 Reliability - Trade-Offs
Lecture 115 Chatty Services and Handling
Lecture 116 Reliability - Impacts and Challenges
Lecture 117 Network Reliability and Security
Lecture 118 Measuring Reliability - Mean Time Between Failures (MTBF)
Lecture 119 Measuring Reliability - Mean Time To Failures (MTTF)
Lecture 120 Business Continuity Plan (BCP) and Disaster Recovery Options
Lecture 121 BCP - RPO and RTO Example
Lecture 122 Reliability - Scales
Lecture 123 Reliability - Development Considerations
Lecture 124 Reliability - Deployment Considerations
Lecture 125 Backup and Disaster Recovery
Lecture 126 Cloud Infrastructure and Reliability
Lecture 127 Reliability with Amazon EC2
Lecture 128 Reliability with Amazon EBS - Best Practices
Lecture 129 Reliability with Amazon S3, ELB amd RDS
Lecture 130 Reliability with Amazon DynamoDB, Aurora and Route53
Section 7: Availability
Lecture 131 Introduction to the Section
Lecture 132 Availability - Overview
Lecture 133 Response Time Factor Affecting Availability
Lecture 134 Availability - Impacts and Challenges
Lecture 135 Clustering - Active-Active Clustering
Lecture 136 Clustering - Active-Passive Clustering
Lecture 137 Clustering - Components
Lecture 138 Availability with Amazon EC2 and Amazon S3
Lecture 139 AWS Console - Amazon S3 – Storage Class
Lecture 140 Availability with Amazon RDS and Amazon Aurora
Lecture 141 Availability with Amazon DynamoDB
Lecture 142 AWS Console - Amazon DynamoDB – Global Tables
Lecture 143 Globally Distributed Applications
Lecture 144 Globally Distributed Applications - Multi-Region
Lecture 145 Multi-Region Support with Amazon EC2, S3 and DynamoDB
Lecture 146 Globally Distributed Applications - Content Delivery Network (CDN)
Lecture 147 CDN - Edge Location and Regional Edge Locations
Lecture 148 CDN - Amazon CloudFront
Lecture 149 Amazon CloudFront - Integration with Services - Basic Overview
Lecture 150 AWS Console - Amazon CloudFront - Static Website with S3 Origin
Section 8: Performance
Lecture 151 Introduction to the Section
Lecture 152 Performance - Overview
Lecture 153 Metrics - Speed, Latency, Throughput and Bandwidth
Lecture 154 Latency vs Throughput vs Bandwidth - Example
Lecture 155 Test Latency to Regions
Lecture 156 AWS CloudWatch - Metrics
Lecture 157 Concurrency
Lecture 158 Concurrency vs Parallelism
Lecture 159 Load Shedding
Lecture 160 Request Batching
Lecture 161 Setting Performance Benchmarks
Lecture 162 Lazy vs Eager Loading
Lecture 163 Performance - Development Considerations - Choosing the Right Protocol
Lecture 164 Performance - Development Considerations - Optimization Techniques
Lecture 165 Performance - Development Considerations - Algorithm Optimization
Lecture 166 Performance - Development Considerations - Data Structures
Lecture 167 Performance - Development Considerations - Database Optimization
Lecture 168 Performance - Deployment Considerations
Lecture 169 Single Millisecond Latency
Lecture 170 AWS Services Support - Millisecond Latency
Lecture 171 AWS Console - Amazon ElastiCache with Redis
Lecture 172 Amazon EC2 Placement Groups
Section 9: Security
Lecture 173 Introduction to the Section
Lecture 174 Access Control - Overview
Lecture 175 Authentication Types - Password-Based, Biometric, OTP, Token-Based
Lecture 176 Authentication Types - Multi-Factor Authentication (MFA)
Lecture 177 Authentication Types - Single Sign On (SSO)
Lecture 178 Authentication Types - Other Types
Lecture 179 Authorization Methods
Lecture 180 Role Based Access Control (RBAC)
Lecture 181 AWS Console - Give EC2 Instance Role to Access S3
Lecture 182 AWS Identity and Access Management - Permissions
Lecture 183 AWS IAM - Granular Access for Resources - Examples
Lecture 184 AWS IAM - Types of Policies - Identity-Based
Lecture 185 AWS IAM - Types of Policies - Resource-Based
Lecture 186 AWS IAM - Types of Policies - Trust Policy
Lecture 187 AWS IAM - Types of Policies - Permission Boundaries
Lecture 188 AWS IAM - Types of Policies - Service Control Policies (SCP)
Lecture 189 AWS IAM - Types of Policies - Summary
Lecture 190 AWS Shared Responsibility Model
Lecture 191 JSON Web Tokens (JWT)
Lecture 192 JWT - Token Creation Process
Lecture 193 JWT - Token Validation Process
Lecture 194 Node.js - Code Practical - JWT Creation and Validation
Lecture 195 JWT Token - Header, Payload and Signature Usage
Lecture 196 JWT Token - Usage - Microservices Architecture
Lecture 197 JWT - When to Use
Lecture 198 JWT - When NOT to Use
Lecture 199 Amazon Cognito
Lecture 200 AWS Console - Amazon Cognito - Create User Pools
Lecture 201 AWS Console - Amazon Cognito - Identity Pools
Lecture 202 Amazon Cognito - Integration with AWS Services
Lecture 203 OAuth Framework
Lecture 204 OAuth - Authorization Flows - Authorization Code Grant
Lecture 205 OAuth - Authorization Flows - Implicit Grant
Lecture 206 OAuth 2.0 Framework - Authorization Flows Summary
Lecture 207 OAuth Framework - Usage Examples
Lecture 208 OAuth Framework - Scopes
Lecture 209 OpenID Connect (OIDC)
Lecture 210 OpenID Connect (OIDC) - Authentication Flow
Lecture 211 OpenID Connect (OIDC) - ID Token and Access Token
Lecture 212 Local Authentication vs Identity Providers (IdPs)
Lecture 213 Security IN Transit
Lecture 214 Transport Layer Security (TLS)
Lecture 215 TLS Versions
Lecture 216 TLS Hand Shake - Before v1.3
Lecture 217 TLS Hand Shake - v1.3
Lecture 218 Secure Tunneling
Lecture 219 Common Secure Tunneling Methods - VPN
Lecture 220 Common Secure Tunneling Methods - SSH (Secure Shell)
Lecture 221 Common Secure Tunneling Methods - Internet Protocol Security (IPSec)
Lecture 222 Common Secure Tunneling Methods - Summary
Lecture 223 Asymmetric and Symmetric Encryption
Lecture 224 Secure IN Transit - For AWS Services
Lecture 225 Security AT Rest
Lecture 226 Disk Level Encryption and File Level Encryption
Lecture 227 Data Masking Techniques
Lecture 228 AWS Key Management Service (AWS KMS)
Lecture 229 AWS Console - AWS Key Management Service (KMS)
Lecture 230 Storing Secrets - AWS Secrets Manager
Lecture 231 AWS Console - AWS Secrets Manager
Lecture 232 Attacks - Malware and Ransomware Attacks
Lecture 233 Firewalls and it's Types
Lecture 234 AWS Security Groups
Lecture 235 AWS NACLs
Lecture 236 AWS Console – Security Groups and NACLs - Inbound and Outbound Rules in Portal
Lecture 237 AWS Security Groups vs NACLs
Lecture 238 Security Services in AWS - Basic Overview
Section 10: Inter-System Communication and Integration Strategies
Lecture 239 Introduction to the Section
Lecture 240 Synchronous and Asyncrounous Communication
Lecture 241 The Hypertext Transfer Protocol (HTTP)
Lecture 242 HTTP Versions - HTTP/2 Features
Lecture 243 HTTP 2 - Server Push Mechanism Example
Lecture 244 HTTP Versions - HTTP/3 Overview
Lecture 245 REpresentational State Transfer (REST)
Lecture 246 Node.js and Express.js - Code Practical - REST API
Lecture 247 REST - Working with Diagram
Lecture 248 REST - Features
Lecture 249 REST - Development Considerations
Lecture 250 Google Remote Procedure Call (gRPC)
Lecture 251 gRPC - Working with Diagram
Lecture 252 gRPC with Node.js - Dynamic vs Static Code Generation
Lecture 253 Node.js - Code Practical - gRPC
Lecture 254 gRPC - Streaming
Lecture 255 gRPC - Protocol Buffers (Protobuf)
Lecture 256 REST vs gRPC - Similarities and Differences
Lecture 257 gRPC- Development Best Practices
Lecture 258 gRPC- Deployment Options on AWS
Lecture 259 GraphQL
Lecture 260 GraphQL - Working with Diagram
Lecture 261 Node.js - Code Practical - GraphQL
Lecture 262 GraphQL - Components
Lecture 263 GraphQL - Schema, Query, Mutations, and Fields
Lecture 264 GraphQL - Resolvers
Lecture 265 GraphQL - Subscription
Lecture 266 GraphQL - Fields, Resolvers and Fragments Concept
Lecture 267 GraphQL - Tools and Technologies
Lecture 268 GraphQL - Development Considerations
Lecture 269 Advanced Message Queuing Protocol (AMQP)
Lecture 270 AMQP - Components - Publisher, Consumer and Broker
Lecture 271 AMQP - Queues and Exchanges
Lecture 272 AMQP - Exchanges - Exchange Types
Lecture 273 AMQP - Exchanges - Exchange Type and Bindings Example
Lecture 274 AMQP - Bindings - Binding vs Routing Keys
Lecture 275 AMQP - Channels
Lecture 276 RabbitMQ
Lecture 277 RabbitMQ - Messaging Design
Lecture 278 RabbitMQ - Components
Lecture 279 RabbitMQ - Queues
Lecture 280 Node.js - Code Practical - RabbitMQ
Lecture 281 RabbitMQ - Streams
Lecture 282 RabbitMQ - Streams vs Queues
Lecture 283 Asyncrounous - Event Sourcing
Lecture 284 Event Sourcing - Complete Flow with Diagram
Lecture 285 Apache Kafka
Lecture 286 Apache Kafka - Architecture
Lecture 287 Node.js - Code Practical - Apache Kafka
Lecture 288 Apache Kafka - Messaging Features
Lecture 289 Apache Kafka - For Event Sourcing
Lecture 290 Data Streaming
Lecture 291 Data Streaming - AWS Kinesis - Basic Overview
Lecture 292 Data Streaming - AWS Kinesis vs Apache Kafka
Lecture 293 Amazon SQS
Lecture 294 Node.js - Code Practical - Amazon SQS
Lecture 295 Amazon SQS - Queues
Lecture 296 Amazon SQS - Standard and FIFO Queue - Use Cases
Lecture 297 Amazon SNS
Lecture 298 Amazon SNS - Practical Examples
Lecture 299 Amazon SNS - A2A & A2P Messaging
Lecture 300 Amazon EventBridge
Lecture 301 Amazon EventBridge - Event Bus
Lecture 302 Amazon EventBridge vs Amazon SQS
Lecture 303 Common Types of Asynchronous Messaging Systems
Lecture 304 Asynchronous Messaging - Duplicate Messaging Problem
Lecture 305 Web Sockets
Lecture 306 Web Sockets - Communcation
Lecture 307 Web Sockets vs Apache Kafka
Section 11: Architectural Styles
Lecture 308 Introduction to the Section
Lecture 309 Common Architectural Styles - Overview
Lecture 310 Client Server Architecture
Lecture 311 Layered (n-tier) Architecture
Lecture 312 Component-Based Architecture
Lecture 313 Monolithic Architecture
Lecture 314 Service Oriented Architecture (SOA)
Lecture 315 SOA - Types of Services
Lecture 316 SOA - Service Consumer and Service Provider
Lecture 317 SOA - Best Practices
Lecture 318 SOA - Components and Working Process
Lecture 319 Microservices Architecture
Lecture 320 Microservices Architecture - Structure, Pros and Cons
Lecture 321 Driven Design (DDD) Complements Microservices
Lecture 322 Microservices - Service Interaction - Strategies
Lecture 323 Microservices - Sync and Async Service Interaction
Lecture 324 Microservices - Components - Service Discovery and Patterns
Lecture 325 Microservices - Components - Load Balancer
Lecture 326 Microservices - Components - API Gateway
Lecture 327 Microservices - Components - API Gateway vs Load Balancer
Lecture 328 API Gateway and Load Balancer - Comparative Approaches
Lecture 329 Microservices - Components - Service Mesh
Lecture 330 Microservices and Containerization - Natural Fit
Lecture 331 Microservices - Components - Configuration Server
Lecture 332 Microservices - Common Patterns
Lecture 333 Microservices - Common Patterns - Database Per Service Pattern
Lecture 334 Microservices - Common Patterns - Circuit Breaker Pattern
Lecture 335 Microservices - Common Patterns - SAGA Pattern
Lecture 336 SAGA Pattern - Orchestration - AWS
Lecture 337 Microservices - Common Patterns - CQRS Pattern
Lecture 338 Microservices - Common Patterns - Event Sourcing Pattern
Lecture 339 Microservices - Common Patterns - Event Sourcing with CQRS
Lecture 340 Microservices - Common Patterns - Choreography Pattern
Lecture 341 Microservices - Common Patterns - Aggregator Pattern
Lecture 342 Microservices - Common Patterns - Backend for Frontend (BFF)
Lecture 343 Service Oriented Architecture (SOA) vs Microservices
Lecture 344 Migration - Monolithic to Microservices
Lecture 345 Migration - Monolithic to Microservices - Decomposition Pattern
Lecture 346 Migration - Monolithic to Microservices - Strangler Pattern
Lecture 347 Serverless - Architecture and Compute
Lecture 348 Serverless - AWS Services
Lecture 349 Serverless - Serverless Framework
Lecture 350 Common Architectural Styles - Summary
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 AWS platform