Skip to content
EuroVPSEuroVPS

What we do · Data and web

High-availability web tiers, N+1 at every layer

N+1 web stacks with HAProxy, Varnish, nginx and PHP-FPM behind floating addresses: node failures, reboots and PHP patches invisible to your visitors.
HPE c7000 blade chassis at Digital Realty Athens

Every layer of your site exists at least twice: TLS termination, page cache, web server and PHP. Floating addresses move by themselves when a node fails, and we size the stack so it runs at full speed with one node of every tier missing.

What it is: load balancing and clustering for web tiers

A web platform for sites that cannot be down: news, e-commerce, publishing, SaaS front ends. The edge terminates TLS and caches pages, the web tier runs nginx with PHP-FPM, and the whole thing is built so that losing a node, rebooting one or patching one is something your visitors never see.

How we build it

A criss-cross edge. Two edge nodes per property run HAProxy for TLS, routing and health checks, Varnish for full page caching, and keepalived for floating addresses. Each edge is primary for one public address and standby for the other, so both carry traffic all the time. A health script demotes an edge whose HAProxy stops responding, and the peer takes its address in seconds.

A web tier with no favourites. Behind the edge, two or more web nodes run nginx and PHP-FPM with one pool per site, weighted equally. The admin path is pinned to one node, which is also the source of one way file replication, so uploads and plugin changes reach the other nodes within seconds without conflicting deletes.

A cache that serves through trouble. Varnish sits on all-flash, SAN backed storage with a capped memory pool, which lets it hold far more objects than RAM would at practically the same speed. If every backend is unhealthy, Varnish keeps serving the last good copy of each page for up to a day. Cache invalidation is event driven from the CMS, so a published article appears immediately instead of waiting for a timer.

Restarts nobody sees. HAProxy retries and redispatches a request when a backend restarts, health checks are tuned so log rotation never causes flapping, and PHP-FPM can be restarted one node at a time while the edge absorbs the gap.

Dual-homed into the fabric. Every web node is dual-homed into our fabric with both links in use; how the bonds are built is on the datacenter fabric page.

What it protects you from

  • A single web, cache or load balancer node failing or needing a reboot.
  • A backend problem (database maintenance, a wedged PHP pool) turning into a blank page: readers keep getting cached content.
  • Security restarts and PHP updates producing visible errors.
  • A traffic spike overwhelming PHP when most requests could be served from cache.

In practice

Load tested before launch. On a lifestyle publisher's new edge pair we ran tens of thousands of virtual users for fifteen minutes, sustaining over ten thousand requests a second with zero 503s and zero backend health failures.

A PHP security update during the working day. We patched both web nodes of a sports portal live, one node at a time. The origin saw brief restart gaps of about a second each; the edge retried and served cached content, and the number of errors visitors received was zero.

More cache, less memory. Moving a pair of edges from a RAM cache to flash backed storage freed a large amount of memory for other work.

Why EuroVPS

  • N+1 at every layer, including the load balancers, not just "two web servers behind one proxy".
  • Failover tested and measured before handover.
  • The cache is engineered to keep your site online when the backend is not.
  • We tune health checks, retries and redispatch, the details that decide whether a backend failover is invisible or just short.
  • The same engineers run the network, the storage and the stack, so nothing falls between teams.

FAQ

Do we need a CDN as well? Not for availability. Many customers add one for global reach; the stack works with or without it, and we configure Varnish and HAProxy to respect it.

How long does an edge failover take? Seconds. We measure it on every build and give you the number at handover.

Can you run WordPress, Magento and PrestaShop on this? Yes, along with Laravel and custom PHP. Each site gets its own PHP-FPM pool.

What happens to logged-in users and checkouts? Those requests bypass the cache by design and are spread across the web tier. Losing a web node moves new requests to the survivors.

Can we deploy code ourselves? Yes. Deployments land on the admin node and replicate out, or go through your own pipeline to every node.

Want a site that keeps serving while we work on it? Talk to an engineer.

Your next infrastructure partner

Let’s look at
your setup.

Tell us what you run today and what needs to improve. An engineer will review your brief and help you plan the next step.

+357 222 32280
A EuroVPS engineer carrying a server node on the datacenter floor
A conversation with the people
who will look after your infrastructure.

Let’s start with your setup.

A little context helps us start the right conversation.

We’ll use your details to respond to your enquiry. Privacy policy