Ch1 - Scale from zero to millions of users
DB Non-relational DB might be right if: Your application requires super-low latency Your data are unstrctured, or you do not have any relationship data. You only need to serialize and desrialize data(JSON, XML, YAML, etc.) You need to store a massive amount of data. Scaling Vertical Scaling: Add power to your server(RAM, CPU, etc.) Horizontal Scaling: Add number of servers in pool. Vertical Scaling better fit low traffic case . Advantages: Simplicity. Disadvantages: Vertical has limit, no unlimited CPU power... Vertical does not have failover and redundancy. Horizontal scaling better for large scale app . If rootcuase is traffic increasing cause custoemr experience slower use load balancer better. Load balancer For better security, private IPs are used for communication between servers. A private IP is an IP address reachable only between servers in same network. With load balancer and second server we now can cover failover case. DB replication A manager DB generally only supports w