Bootcamp: Software Architecture & System Design

Learn to design scalable, highly available, and distributed software systems.

10 Weeks
Online / Offline
English & Tamil
Enroll Now

Course Curriculum

1. Introduction to Distributed Systems

  • Monolithic vs Distributed Architectures
  • CAP Theorem and PACELC Theorem
  • Vertical vs Horizontal Scaling
  • Latency vs Throughput

2. Networking & Load Balancing

  • OSI Model refresher & TCP vs UDP
  • Load Balancer algorithms (Round Robin, Least Connections)
  • L4 vs L7 Load Balancing
  • Reverse Proxies and API Gateways

3. Caching Strategies

  • Cache Eviction Policies (LRU, LFU)
  • Read-Through, Write-Through, Write-Behind caches
  • Content Delivery Networks (CDNs)
  • Distributed Caching with Redis

4. Database Scaling & Architecture

  • SQL vs NoSQL decisions
  • Database Replication (Master-Slave, Master-Master)
  • Partitioning and Sharding
  • Consistent Hashing

5. Messaging Queues & Event-Driven Architecture

  • Synchronous vs Asynchronous Communication
  • Message Queues (RabbitMQ, SQS)
  • Event Streaming (Apache Kafka)
  • Pub/Sub patterns

6. Microservices Deep Dive

  • Domain-Driven Design (DDD) basics
  • Service Discovery and Registry
  • Handling distributed transactions (Saga Pattern)
  • Resiliency (Circuit Breakers, Retries)

7. Security & Identity

  • OAuth 2.0 and OpenID Connect
  • JWT (JSON Web Tokens) handling
  • Rate Limiting algorithms (Token Bucket, Leaky Bucket)
  • DDoS Mitigation strategies

8. Data Processing & Analytics Architecture

  • Batch vs Stream Processing
  • MapReduce overview
  • Data Lakes vs Data Warehouses
  • Lambda and Kappa Architectures

9. Real-World Case Studies I

  • Designing a URL Shortener (Bitly)
  • Designing a Chat Application (WhatsApp/Discord)
  • Designing a Ride-Sharing App (Uber)

10. Real-World Case Studies II

  • Designing a Video Streaming Service (Netflix/YouTube)
  • Designing a Social Media Feed (Twitter/Instagram)
  • Designing an E-commerce Checkout System

Take the Next Step in Your Career

Join our comprehensive Bootcamp: Software Architecture & System Design program and gain real-world skills that employers demand.