We have recently been working with a suicide prevention charity based in London to help them to keep their websites up and running under unpredictable heavy traffic using load balancing and auto-scaling technologies on AWS.
The Problem:
We were approached by this well-known charity during 2019 as they were having performance and availability issues with their WordPress websites. Being a major suicide charity, they have a remit keep their chat-based counselling facility and suicide prevention content up and running 24/7 to help vulnerable people at any time day or night. However, the “nice problem to have” was that traffic to their website was increasing exponentially due to some prominent patrons and very high profile events drawing attention to their site and their services.
During times of unpredictable heavy traffic, the website would either slow down to the point of diminished usability or at times would even crash, depriving potential clients of the facilities held on the sites. And when approached after these critical incidents, their hosting company would try to sell them huge, traditional, monolithic server stacks that they would not need 90% of the time and which would not guarantee uptime, the hosting company telling them that “Wordpress isn’t great at scaling.”
The Solution:
We underwent a period of consulting with the client, looking at factors such as the architecture and build of their website, the sources and timing of high traffic (there wasn’t a set time as it turned out!) and the general causes of previous outages. The conclusion was that the traffic was unpredictable in terms of size and timing and there wasn’t too much we could do with their WordPress site in terms of build.
We therefore implemented some key holistic solutions to ensure high availability at all times under unpredictable load:
- Implementation of a containerised, template based hosting solution using AWS ECS, Puppet and other CI/CD technologies.
- Implementation of auto-scaling and load balancing within these containerised clusters, in order to spawn new instances when load hit predetermined Cloudwatch thresholds (and kill the instances when traffic returned to normal).
- Implementation of segmented, scalable, robust and clustered database technology using AWS Aurora.
- Re-work of the WordPress configuration to make heavy use of caching whilst also allowing content to be effectively distributed across all “live” nodes on publishing or on creation of a new node.
- Hardening of the entire platform, making sure the software layer was protected and also implementing tools such as AWS WAF, Route53 DNS and AWS Control Tower to manage intrusion detection, SSL distribution and general threat management.
Coupled with some load and A/B testing and a gradual rollout across regions plus a rock-solid SLA based support agreement, we ensured that this new architecture worked well and did not introduce more issues than it solved.
The End Result:
We now have a client who can trust their WordPress implementation and are now confident to market their charity in ways which they never imagined possible, increasing the reach of their work to even more needy individuals. And the proof of the pudding was in the eating: one week after we went live with the solution, a very sad event happened involving the suicide of a prominent celebrity and increasing traffic to the site by over 1000%. The website did not murmur during this time and many more people were helped to make sense of what was going on or to reach out for immediate help.
We have since implemented another similar solution within the Pharmaceutical industry, helping patients with fertility issues to avail of important informational content and book appointments with their healthcare practitioners in response to wide-scale marketing campaigns. This solution uses similar containerised technology but goes one step further, using WordPress in a headless form, talking to a NodeJS website and also uses low-cost and agile serverless architecture courtesy of AWS Fargate. We hope to implement many more similar solutions in the future for our clients.
If you wish to know more about how we can help you scale and harden and support any website or web technology beyond your imagination, please contact us.