Deep dive into System Design
A ultimate guide for building scalable and resilient systems

Today, I am starting another series.
This time, I want to bring you valuable information that will enhance your knowledge about System Design.
This is undoubtedly the largest series I have ever created where I will be diving deep into the topics that are part of this vast ecosystem.
I'm very excited about it and hope it will be of great value to your journey as a Software Engineer, DevOps or Solutions Architect.
No more talking, let's check the content. 🚀
Introduction
- Getting started with System Design
Architectural Patterns
- The Monolithic Architecture
- The Microservices Architecture
- The Serverless Architecture
- The Event-driven Architecture
- The Layered Architecture
Communication
- APIs
- Message Queues
- WebSockets
- RPC
- Pub/Sub
- Service Mesh
Storage
- Databases
- Object Storage
- Block Storage
- File Systems
- Caching
Compute
- Servers
- Containers
- Serverless
- FaaS
- PasS
Security
- Authentication
- Authorization
- Encryption
- Security Protocols
- WAF (Web Application Firewalls)
- IDS (Intrusion Detection Systems)
Networking
- DNS
- Load Balancers
- CDNs
- Proxies
- VPNs
- Firewalls
- NAT
- Gateways
- Routers
Scalability & Reliability
- Horizontal Scaling
- Vertical Scaling
- Replication
- Sharding
- Redundancy
- Fault tolerance
- Disaster Recovery
Observability
- Monitoring
- Logging
- Tracing
- Metrics
- APM