---
# System prepended metadata

title: System Design Notes
tags: [System Administration, API, Kubernetes, System Design, Distributed System, Software, Server]

---

# System Design Notes
###### tags: `System Design` `Distributed System` `Server` `System Administration` `Software` `Kubernetes` `API`

Learn how to create an architecture for different components, interfaces, and modules of the system and provide corresponding data helpful in implementing such elements in systems.

- Sketchy System Design Overview
  ![](https://i.imgur.com/ocnHdzI.png)

- Microservices & Development
  ![Q8lXxi8](https://hackmd.io/_uploads/BJY3JMeE6.png)

## Resources

- [System Design Interview: A Step-By-Step Guide - ByteByteGo](https://www.youtube.com/watch?v=i7twT3x5yv8&ab_channel=ByteByteGo)
- [Architecting a Cloud Native API Solution - IBM Technology](https://www.youtube.com/watch?v=sKfep-UmZeM)

## Sketch a System

### custom APIs defination

monolithic system -> distributed microservices -> with API gateway

- design a shopping site with microservices
(contentDB fetch / order serv / account serv / inventory serv / shipping serv / review system...)
![](https://i.imgur.com/Zl4FygE.png)

- all setup/documental_sketch/develop_files between local repository & server running k8s
![](https://i.imgur.com/rAkvrzh.png)

### time management
1. [10%] understand problem, restrictions, requirements
    - open freeminded & construct whole blueprint delicated
    - consider technical topics like scalability, pipeline, efficiency, consistency
2. [45%] design in high level (functions between users & servers) & sketch overall diagram
    - comunication method
    - API gateways -> functions
    - virtual physical infrastructures (Ex. data storage layer, functional units, recycle daemons ...)
    - data model & schema (take performance / tradeoff into accounts)
        - data access patterns
        - R/W ratio
3. [40%] design in detailed
    - articulate & identify potential problems & solutions
    - come up with multiple feasible solutions & features & tradeoffs for different scenarios
    - modified detailed design impl until meet the requirement & acceptable tradeoffs
    - [(How To Choose The Right Database? - ByteByteGo)](https://www.youtube.com/watch?v=kkeFE6iRfMM)
5. [5%] overview
    - nonfunctional features: efficiency / scalability / pros & cons
    - retrospect and future prospect

## data pipeline

> how do you dealing with your data

[Data Pipeline 從零開始建置 - 阿喵就像家](https://mlwmlw.org/2018/09/data-pipeline-%e5%be%9e%e9%9b%b6%e9%96%8b%e5%a7%8b/)
![](https://i.imgur.com/YOQsJfF.png)

## Performance

### Scale up
![](https://i.imgur.com/liAMwkL.png)

### hardware acceleration

[Understanding How Browser Run an Application - Chrome Dev](https://developer.chrome.com/blog/inside-browser-part1/#browser-architecture)

- moving different services into multiple processes and a single browser process
    ![](https://developer.chrome.com/static/blog/inside-browser-part1/image/chrome-servification-f06f547c54405.svg)














