SherwoodTech Website Systems Design
The Core Architecture
Most modern systems follow a N-Tier or Microservices architecture.
DNS (Domain Name System)
The "phonebook" of the internet that translates your URL (e.g., example.com) into an IP address.
CDN (Content Delivery Network):
Geographically distributed servers (like Cloudflare or Akamai) that cache static content (images, JS, CSS) closer to the user to reduce latency.
Load Balancer:
Distributes incoming traffic across multiple application servers to prevent any single server from becoming a bottleneck (e.g., Nginx, AWS ELB).
The Application Layer
This is where the business logic lives.
Web Servers:
Handle HTTP requests and serve the frontend.
API Layer:
Often built using REST or GraphQL to communicate between the frontend and the database.
Microservices:
Instead of one giant "Monolith" app, the system is broken into smaller, independent services (e.g., User Service, Payment Service, Search Service) that communicate via APIs or Message Queues.
Data Storage & Management
Choosing the right database is critical for system performance.
| Component | Purpose | Examples |
|---|---|---|
| Relational | (SQL)Structured data with complex relationships. | PostgreSQL,MySQL |
| NoSQL | Unstructured data, high-speed scaling. | MongoDB, Cassandra |
| Cache | In-memory storage for frequent queries. | Redis, Memcached |
| Object Storage | Storing large files/media. | AWS S3, Google Cloud Storage |
Scalability & Reliability
To handle millions of users, systems must be designed to grow.
Horizontal Scaling:
Adding more machines to the pool (preferred for web apps).
Vertical Scaling:
Adding more power (CPU/RAM) to an existing machine.
Database Sharding:
Breaking a large database into smaller, faster chunks across multiple servers.
Message Queues:
Using tools like RabbitMQ or Kafka to handle "asynchronous" tasks (e.g., sending an email after signup without making the user wait).
Security & Monitoring
To handle millions of users, systems must be designed to grow.
HTTPS/TLS:
Encrypting data in transit.
Firewalls (WAF):
Protecting against SQL injection and DDoS attacks.
Observability:
Using tools like Prometheus, Grafana, or Datadog to track server health and error rates in real-time.
A Typical Request Flow
User enters URL.
DNS resolves IP.
CDN serves static assets if available.
Request hits Load Balancer.
routed to an available Web Server.
Web Server checks Cache; if "miss," it queries the Database.
Data is returned, processed, and sent back to the user's browser.