DEV Community

Sherdil Cloud
Sherdil Cloud

Posted on Originally published at sherdilcloud.com

Follow One Request From the Browser to the Database (And Every Check It Should Hit)

TL;DR: A secure web architecture isn't one control, it's the path a request travels: edge (CDN, WAF, DDoS), load balancer (TLS, health checks), stateless app tier (least-privilege roles, input validation), private data tier (encryption, backups), and an identity layer verifying everything. The data tier sits deepest so an attacker has to defeat every layer in front of it first. A Lahore EdTech platform rebuilt this way handled 22x exam-day traffic with zero downtime and zero critical findings in a security review, reliability, scale, and security came from the same architecture, not three separate projects.

The most useful way to think about web security isn't a checklist of controls, it's a request's journey. A user's click travels inward through layers, and each layer's job is to check, filter, or scale something before passing it on. Get the layering right and performance and protection come together; get it wrong and you bolt security on afterward and pay for it in latency and gaps.

The path, layer by layer

Layer Its job Key controls
Edge / CDN Serve content fast, absorb attacks CDN, WAF, DDoS protection, rate limiting
Load balancer Spread traffic across healthy servers TLS termination, health checks
Application tier Run the app logic Stateless services, least-privilege roles, input validation
Data tier Store and serve data Private subnets, encryption at rest, backups
Identity Control who can do what Zero trust, MFA, least privilege

The design property worth internalizing: data sits deepest. A request passes the edge, the load balancer, and the application before it ever touches the database, and each step checks and filters it. Because the data tier never faces the public internet directly, an attacker can't reach it without first defeating everything in front, which is why "public database" and "open bucket" show up at the top of every breach post-mortem.

Five principles that make the layers work

# Principle What it does
1 Defense in depth at the edge Filters and absorbs attacks before they reach the app
2 Encrypt everything TLS on every connection, encryption at rest by default
3 Zero-trust identity Verify every request, grant least privilege
4 Scalability by design Stateless services scale out under load
5 Reliability by design Redundancy and failover keep it online

Two of these deserve a note for engineers. On principle 1: the edge isn't just a performance layer, a WAF blocking OWASP Top 10 patterns means your application servers only ever process clean traffic, which is a security win and a capacity win. On principle 4: keeping the app tier stateless (no session pinned to one server) is what makes the load balancer and autoscaler actually useful, and it's the same property that lets a traffic spike become a routine scale-out instead of a crash. Security and scalability share this one architectural decision.

Four mistakes behind most web breaches

Mistake Why it's dangerous The fix
Public databases or open buckets Data exposed directly to the internet Private subnets; deny public access by default
No web application firewall App-layer attacks reach code directly Add a WAF, address the OWASP Top 10
Over-permissive access One stolen account reaches everything Least privilege + zero-trust verification
Missing/weak TLS and insecure config Data intercepted; servers ship insecure defaults TLS everywhere; harden with CIS Benchmarks

Note that TLS is effectively free now (Let's Encrypt and managed certificate services with auto-renewal), so treating unencrypted data anywhere as a defect to fix rather than a trade-off to weigh is the right default.

Case study: exam-day traffic, 22x

A Lahore EdTech platform ran online exams for schools. Twice a term, on exam day, traffic jumped more than twentyfold and the site slowed or crashed exactly when it mattered most. It also held sensitive student data with no firewall at the edge and some services running with far too much access. They needed reliability, scale, and security at once. Five-month co-build:

Problem What we built Outcome
Crashes on exam day Stateless app tier, load balancing, autoscaling Handled 22x traffic, no downtime
No edge protection CDN, WAF, DDoS protection at the edge Attacks blocked before the app
Exposed data, broad access Private subnets, encryption, least-privilege roles Passed security review, zero critical findings
Partial, weak TLS TLS on every connection, auto-renewed certs 100% of connections encrypted

The lesson the team took away: reliability, scale, and security weren't three projects. Because they were built into the same layered architecture, the platform sailed through exam day and the security review at once.

FAQ

Is a WAF enough on its own?
No, it's one layer. A WAF blocks common app-layer attacks, but it doesn't replace private data tiers, least-privilege roles, or encryption. Defense in depth means each layer assumes the one in front of it might fail.

Why is statelessness a security topic and not just a scaling one?
Because the same property that lets any server handle any request also lets you replace a compromised or unhealthy server without losing session state, it makes both scale-out and incident response easier.

Where do most teams get the layering wrong?
Putting the database somewhere reachable from the public internet "temporarily" and never moving it. Data tier in private subnets from day one is the cheapest control on this list.


Originally published on the Sherdil Cloud blog, the full piece (with the complete layer and principle breakdown and the four-stage build) is here. For the reliability layer, see resilient cloud infrastructure; for the container layer that keeps the app tier elastic, containerization.

About the author: Muhammad Usman is Head of DevOps at Sherdil Cloud, AWS DevOps Engineer Professional, Certified Kubernetes Administrator (CKA), and Alibaba Cloud Certified, building cloud and DevOps infrastructure for enterprises across Pakistan, the UAE, and the United States since 2014.

Top comments (0)