System Design Fundamentals

Basic Application Architecture Developer Perspective A typical application is composed of: Build & Deploy Layer — CI/CD pipeline Server Layer — handles incoming requests Storage Layer — persists application data (can be external) Logging Storage Server — logs all events Metric Storage Server — logs all metrics Alert Server — alerts when something goes down User Perspective Users simply make requests to the server and receive responses. Scaling Vertical Scaling: add more physical resources (CPU, RAM) to a single server Horizontal Scaling: add more servers to distribute the load Load Balancer: distributes traffic between multiple servers ...

February 9, 2026 · 8 min · Umberto Domenico Ciccia