Hi all,

So here's some background information on what we are trying to setup. We have two data centers over 40km apart and one of them runs the webserver (over 80 websites) and we use another machine on the other side to keep backups (typical cpanel backups).
So I have already looked at setting up a failover system (Active/Passive) for the web server using a clustered system running pacemaker and drbd in a test environment and it works fine. Now a team member introduced the CDN concept and we have been looking at having an Active/Active (Using pacemaker, drbd and GFS2 filesystem) setup so that the CDN can load balance the traffic on the two sites and also have the content available incase we lose one data center.
I would like to get your thoughts on this and especially on which setup would be the best for our scenario. Should we just go for the failover system (Active/Passive) or use the CDN. Most of the websites we host are university websites and therefore have significant traffic.

Thanks.

Dani AI

Generated

Short answer: use a hybrid. Put a CDN in front to absorb peaks, cache static assets, and reduce origin bandwidth, and keep a simple, well-tested Active/Passive origin for the writable site. Active/Active with DRBD + a clustered filesystem over a WAN is possible, but it adds operational risk and complexity you should only take on if you truly need write-anywhere semantics.

Why: an external CDN buys immediate benefits (edge caching, TLS termination, large-scale peak handling and DDoS mitigation) without you building and operating an edge network. As suggested, established CDNs are usually the fastest route. For your two DCs (40km apart) an Active/Active cluster increases chances of split-brain, fencing headaches, and metadata contention—synchronous clustering tolerates very little latency and requires robust STONITH/fencing and careful testing.

Practical, actionable checklist:

  • Inventory and classify content: what is static (images, CSS, JS) vs dynamic (logged-in pages, uploads, DB-driven pages).
  • Move static assets to the CDN and set cache-control/immutable headers. Use the CDN purge API for updates.
  • Centralize session state (Redis, memcached, or DB) so multiple web nodes can be stateless. Avoid filesystem session storage.
  • Keep the origin simple: Active/Passive with DRBD in primary/secondary or use async replication + failover automation (VRRP/keepalived or DNS failover with health checks). Test failover and rollback procedures until they are routine.
  • For file sync (uploads/content), use object storage or reliable sync with atomic deploys. Example one-line sync (illustrative only — test first):
rsync -az --delete /var/www/ backup.example:/var/www/

Start by offloading the CDN-capable assets and stabilizing an Active/Passive origin with good monitoring and a tested runbook. Only invest in a cross-site Active/Active cluster once you have measured need, staffed the operations overhead, and fully tested split-brain recovery. This balances performance, reliability, and operational risk for university-scale traffic.

I would suggest that you go with one of the established CDN services. Why rebuild teh network when they have one already. Edgecast and Amazon are just a couple of companies offering CDN networks. Try this Wiki article for more information:

http://en.wikipedia.org/wiki/Content_delivery_network

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.