Why we stopped putting everything behind one load balancer

21 Oct 2026 · Leyla Arsanova

For years our default setup was simple: one load balancer in front of everything. Public pages, the admin area, internal APIs and webhooks all shared the same entry point. It was easy to explain and easy to automate.

It was also the reason a slow report in an admin panel could take down a public checkout page. When every request competes for the same workers and the same connection limits, the noisiest client decides how everyone else's day goes.

What we changed

We now run two entry points: one for public traffic with strict timeouts and rate limits, and one for internal tools with longer timeouts and access restricted to office and VPN ranges. Each has its own worker pool and its own dashboards.

location /reports/ {
    proxy_read_timeout 300s;
    limit_req zone=internal burst=20;
}

What it cost

One extra small server and an afternoon of DNS and certificate changes. The first incident after the change affected only the internal side, and nobody outside the company noticed.

← All posts