🖥️
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

Google Cloud

PreviousAWSNextLinkedIn feed Design

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:

    • Compute Engine: Virtual machines running web servers

    • App Engine: Managed platform for building and hosting web applications

  • Application Servers:

    • Cloud Functions: Serverless compute for event-driven workloads

    • App Engine: Managed platform for application services

  • Database Servers:

    • Cloud SQL: Managed relational databases (MySQL, PostgreSQL, SQL Server)

    • Cloud Spanner: Globally distributed, horizontally scalable relational database

3. Databases

  • Relational Databases (SQL):

    • Cloud SQL

    • Cloud Spanner

  • NoSQL Databases:

    • Firestore: Document database for building applications

    • Bigtable: NoSQL database for large analytical and operational workloads

4. Cache

  • In-Memory Cache:

    • Cloud Memorystore: Managed Redis and Memcached

  • Content Delivery Network (CDN):

    • Cloud CDN: Content delivery network for delivering content globally

5. Load Balancers

  • Cloud Load Balancing: Distribute traffic across multiple servers

    • HTTP(S) Load Balancing: For HTTP/HTTPS traffic

    • TCP/UDP Load Balancing: For non-HTTP/HTTPS traffic

    • SSL Proxy and TCP Proxy Load Balancing: For secure and non-secure traffic

6. Message Queues

  • Pub/Sub: Asynchronous messaging and event-driven processing

7. API Gateways

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

8. Microservices

  • Google Kubernetes Engine (GKE): Managed Kubernetes for container orchestration

  • Cloud Run: Serverless containers for running stateless HTTP containers

9. Service Discovery

  • Service Directory: Service discovery for microservices

10. Configuration Management

  • Secret Manager: Manage and access secrets securely

  • Config Connector: Manage Google Cloud resources using Kubernetes configuration files

11. Monitoring and Logging

  • Cloud Monitoring: Full-stack monitoring for applications, infrastructure, and network

  • Cloud Logging: Fully managed service to store, search, analyze, and monitor log data

  • Error Reporting: Real-time error tracking

12. Authentication and Authorization

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

  • Firebase Authentication: User authentication, authorization, and user management

13. Scalability and Reliability

  • Horizontal Scaling:

    • Use Compute Engine instance groups for automatic scaling

    • App Engine auto-scaling for web apps

  • Vertical Scaling:

    • Increase the resources of individual Compute Engine instances

  • Redundancy:

    • Use Multi-Regional Storage and Cloud Load Balancing for redundancy

  • Backup and Disaster Recovery:

    • Cloud Storage and Cloud SQL backups for data integrity and availability

14. Networking

  • Cloud DNS: Scalable, reliable, and managed authoritative DNS service

  • Virtual Private Cloud (VPC): Private network within Google Cloud

  • Cloud Firewall: Managed firewall service

15. DevOps and CI/CD

  • Cloud Build: Continuous integration and delivery

  • Artifact Registry: Store, manage, and secure your build artifacts

  • Cloud Source Repositories: Source control service

16. Data Processing

  • Batch Processing:

    • Dataflow: Stream and batch processing using Apache Beam

  • Stream Processing:

    • Pub/Sub: Real-time messaging

    • Dataflow: Real-time data processing

17. Analytics and Reporting

  • BigQuery: Serverless, highly scalable, and cost-effective multi-cloud data warehouse

  • Looker: Business intelligence and analytics platform

  • Data Studio: Dashboarding and reporting tool

☑️
♦️
Page cover image
Google cloud component checklist - System design