We have had the pleasure of working with Kids Out and About a few times through the years, in both a consulting and a development role. Last year, we began consulting with KOAA to address ongoing performance issues with their very large Drupal site, and to try to improve uptime and stability.
After KOAA migrated to their new Drupal 7 site from the previous Drupal 6 site and moved to a custom AWS deployment environment, they began to experience severe performance problems and extended periods of downtime. We worked with them to identify performance bottlenecks in database querying and indexing, which allowed us to decrease the load time for most pages in their site by up to 80%.
Even though performance was much improved, their infrastructure still had difficulty coping with load spikes, and their bot traffic (search bots, such as Google, as well as other less welcome visitors) accounted for a much, much larger portion of their traffic (think several million visits per month). In order to improve the visitor experience as well as lower their hosting costs, we identified a suitable new cloud hosting environment (Platform.sh) as well as a CDN solution (Fastly) that allowed us to drop the amount of traffic hitting their application servers by nearly 90%. This allowed them to get to nearly 100% uptime, while also massively accelerating the visitor experience.
Another side benefit is greatly improved developer productivity, mostly thanks to the awesome environment provided by Platform.sh.
Fastly is an amazing and capable CDN, but in order to make a real difference in their site’s performance and server load, we needed to have extremely long cache lifetimes of up to a month. Unfortunately:
There are only two hard things in Computer Science: cache invalidation and naming things.
– Phil Karlton
This required identification of an extensive set of rules for cache invalidation, which has been largely successful, and has enabled KOAA to wether traffic spikes of all kinds without breaking a sweat.