🖥️
Sunil Notebook
Interview Preparation
  • 📒Notebook
    • What is this about ?
  • System Design
    • 💡Key Concepts
      • 🌐Scalability
      • 🌐Latency Vs Throughput
      • 🌐Databases
      • 🌐CAP Theorem
      • 🌐ACID Transactions
      • 🌐Rate limiting
      • 🌐API Design
      • 🌐Strong Vs eventual consistency
      • 🌐Distributed tracing
      • 🌐Synchronous Vs asynchronous Communication
      • 🌐Batch Processing Vs Stream Processing
      • 🌐Fault Tolerance
    • 💎Building Blocks
      • 🔹Message
      • 🔹Cache
      • 🔹Load Balancer Vs API Gateway
    • 🖥️Introduction to system design
    • ⏱️Step By Step Guide
    • ♨️Emerging Technologies in System Design
    • ☑️System design component checklist
      • 🔷Azure
      • 🔶AWS
      • ♦️Google Cloud
    • 🧊LinkedIn feed Design
    • 🏏Scalable Emoji Broadcasting System - Hotstar
    • 💲UPI Payment System Design
    • 📈Stock Broker System Design - Groww
    • 🧑‍🤝‍🧑Designing Instagram's Collaborative Content Creation - Close Friends Only
    • 🌳Vending Machines - Over the air Systems
    • Reference Links
  • DSA
    • Topics
      • Introduction
      • Algorithm analysis
        • Asymptotic Notation
        • Memory
      • Sorting
        • Selection Sort
        • Insertion Sort
        • Merge Sort
        • Quick Sort
        • Quick'3 Sort
        • Shell Sort
        • Shuffle sort
        • Heap Sort
        • Arrays.sort()
        • Key Points
        • Problems
          • Reorder Log files
      • Stacks and Queues
        • Stack Implementations
        • Queue Implementations
        • Priority Queues
        • Problems
          • Dijkstra's two-stack algorithm
      • Binary Search Tree
        • Left Leaning Red Black Tree
          • Java Implementations
        • 2-3 Tree
          • Search Operation - 2-3 Tree
          • Insert Operation - 2-3 Tree
        • Geometric Applications of BST
      • B-Tree
      • Graphs
        • Undirected Graphs
        • Directed Graphs
        • Topological Sort
      • Union Find
        • Dynamic Connectivity
        • Quick Find - Eager Approach
        • Quick Find - Lazy Approach
        • Defects
        • Weighted Quick Union
        • Quick Union + path comparison
        • Amortized Analysis
      • Convex Hull
      • Binary Heaps and Priority Queue
      • Hash Table vs Binary Search Trees
  • Concurrency and Multithreading
    • Introduction
    • Visibility Problem
    • Interview Questions
    • References
      • System design
  • Design Patterns
    • ℹ️Introduction
    • 💠Classification of patterns
    • 1️⃣Structural Design Patterns
      • Adapter Design Pattern
      • Bridge Design Pattern
      • Composite Design Pattern
      • Decorator Design Pattern
      • Facade Design Pattern
      • Flyweight Design Pattern
      • Private Class Data Design Pattern
      • Proxy Design Pattern
    • 2️⃣Behavioral Design Patterns
      • Chain Of Responsibility
      • Command Design Pattern
      • Interpreter Design Pattern
      • Iterator Design Pattern
      • Mediator Design Pattern
      • Memento Design Pattern
      • Null Object Design Pattern
      • Observer Design Pattern
      • State Design Pattern
      • Strategy Design Pattern
      • Template Design Pattern
    • 3️⃣Creational Design Patterns
      • Abstract Factory Design Pattern
      • Builder Design Pattern
      • Factory Method Design Pattern
      • Object Pool Design Pattern
      • Prototype Design Pattern
      • Singleton Design Pattern
    • Java Pass by Value or Pass by Reference
  • Designing Data-Intensive Applications - O'Reilly
    • Read Me
    • 1️⃣Reliable, Scalable, and Maintainable Applications
      • Reliability
      • Scalability
      • Maintainability
      • References
    • 2️⃣Data Models and Query Languages
      • Read me
      • References
    • Miscellaneous
  • Preparation Manual
    • Disclaimer
    • What is it all about?
    • About a bunch of links
    • Before you start preparing
    • Algorithms and Coding
    • Concurrency and Multithreading
    • Programming Language and Fundementals
    • Best Practices and Experience
  • Web Applications
    • Typescript Guidelines
  • Research Papers
    • Research Papers
      • Real-Time Data Infrastructure at Uber
      • Scaling Memcache at Facebook
  • Interview Questions
    • Important links for preparation
    • Google Interview Questions
      • L4
        • Phone Interview Questions
      • L3
        • Interview Questions
      • Phone Screen Questions
  • Miscellaneous
    • 90 Days Preparation Schedule
    • My Preparation for Tech Giants
    • Top Product Based Companies
  • Links
    • Github
    • LinkedIn
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. System Design
  2. System design component checklist

AWS

PreviousAzureNextGoogle Cloud

Last updated 10 months ago

Was this helpful?

1. Client-Side Components

  • Web Clients: Browsers, Web applications

  • Mobile Clients: Android, iOS applications

2. Server-Side Components

  • Web Servers:

    • Amazon EC2: Virtual servers for running web applications

    • AWS Elastic Beanstalk: Deploy and manage applications

  • Application Servers:

    • AWS Lambda: Serverless compute for event-driven workloads

    • Amazon EC2: General-purpose compute

  • Database Servers:

    • Amazon RDS: Managed relational databases (MySQL, PostgreSQL, etc.)

    • Amazon Aurora: High-performance, fully managed relational database

3. Databases

  • Relational Databases (SQL):

    • Amazon RDS: MySQL, PostgreSQL, Oracle, SQL Server

    • Amazon Aurora

  • NoSQL Databases:

    • Amazon DynamoDB

    • Amazon DocumentDB (with MongoDB compatibility)

4. Cache

  • In-Memory Cache:

    • Amazon ElastiCache: Redis, Memcached

  • Content Delivery Network (CDN):

    • Amazon CloudFront

5. Load Balancers

  • Elastic Load Balancing (ELB): Distribute traffic across multiple servers

    • Application Load Balancer (ALB): For HTTP/HTTPS traffic

    • Network Load Balancer (NLB): For TCP/UDP traffic

    • Classic Load Balancer (CLB): Legacy applications

6. Message Queues

  • Amazon SQS: Simple Queue Service for reliable messaging

  • Amazon SNS: Simple Notification Service for pub/sub messaging

7. API Gateways

  • Amazon API Gateway: Securely expose APIs to external and internal consumers

8. Microservices

  • Amazon ECS: Elastic Container Service for containerized applications

  • Amazon EKS: Elastic Kubernetes Service for Kubernetes orchestration

  • AWS Fargate: Serverless compute for containers

9. Service Discovery

  • AWS Cloud Map: Service discovery for microservices

  • Amazon ECS Service Discovery: Native service discovery for ECS

10. Configuration Management

  • AWS Systems Manager Parameter Store: Centralized management of configuration settings

  • AWS Secrets Manager: Manage and retrieve secrets

11. Monitoring and Logging

  • Amazon CloudWatch: Full-stack monitoring for applications, infrastructure, and network

  • AWS CloudTrail: Logging of AWS API calls

  • Amazon Elasticsearch Service (Amazon OpenSearch Service): Analyze and visualize log data

12. Authentication and Authorization

  • AWS IAM (Identity and Access Management): Manage user access and encryption keys

  • Amazon Cognito: User authentication, authorization, and user management

13. Scalability and Reliability

  • Horizontal Scaling:

    • Use Amazon EC2 Auto Scaling for automatic scaling of EC2 instances

  • Vertical Scaling:

    • Increase resources of individual Amazon EC2 instances

  • Redundancy:

    • Use AWS Availability Zones and AWS Regions for redundancy

  • Backup and Disaster Recovery:

    • AWS Backup and Amazon S3 for data integrity and availability

14. Networking

  • Amazon Route 53: Domain name resolution

  • AWS Firewall Manager: Manage firewall rules across accounts

  • Amazon VPC (Virtual Private Cloud): Private network within AWS

15. DevOps and CI/CD

  • AWS CodePipeline: Continuous delivery service

  • AWS CodeBuild: Build and test code

  • AWS CodeDeploy: Automated deployment to EC2, Lambda, and on-premises servers

  • AWS CodeCommit: Source control service

16. Data Processing

  • Batch Processing:

    • AWS Batch: Run batch computing workloads

  • Stream Processing:

    • Amazon Kinesis: Real-time data streaming and analytics

    • AWS Lambda: For processing data streams in real-time

17. Analytics and Reporting

  • Amazon Redshift: Data warehousing

  • Amazon QuickSight: Business analytics service

  • AWS Glue: ETL (Extract, Transform, Load) service for data integration

☑️
🔶
Page cover image
AWS Component checklist - System Design