The Big Game will again command an audience north of 110 million viewers — some watching the game itself, and others tuning in to see how brands spent their $5 million for a half-minute of air time. When one of these commercials touts a web address to that many people, it can quickly produce a tremendously sharp spike in traffic. While that can be a huge success for the brand and its high-pressure advertising strategy, it can all be for naught unless the site is ready to scale and remain available to its new audience throughout the high traffic event.
In some ways, preparing for a high traffic event is like being an offensive lineman playing for one of those Big Game squads: you’re bracing for that brief-but-potentially-overwhelming impact, and making sure you keep on your feet so your team can complete the play.
Here are nine strategies that’ll help keep your site online when it gets blitzed by high traffic:
1) Get accurate about your traffic estimates.
It’s critical to know your opponent, and understanding the quantity of traffic that your site will have to deal with is a key first step in your preparation.
If this isn’t the first time that this particular high-traffic event has occurred, use historical web statistics to have as much data at your disposal as possible. Whether it’s a spike as intense as you’d expect with a Big Game ad, or another event big enough to overwhelm your site and bring it offline if not reinforced ahead of time, properly balancing the resources allocated for the site is essential. Prepare with too few resources and resources will become unavailable under stress, but overdo it and you’re simply wasting money. While leaving a safe margin for error is wise, accurate foresight can deliver a great deal of value — for example, when sizing AWS instances in line with the workloads expected.
2) Get all teams communicating.
Optimizing web infrastructure is a team sport, and communication between various positions is vital for success. With web development, DevOps, and management comprising three different teams in most organizations, strong orchestration in executing projects is required. This means employing a thoughtful workflow for implementing changes and quality assurance fixes, and getting all teams on the same page to alleviate bottlenecks. For service providers and other businesses that work with a different outside web developer for each project, open communication and organization are absolutely essential for producing web content that’s ready to thrive under the pressure of high traffic.
3) Design with high-availability in mind.
Build your site from the infrastructure up with contingencies in place for dealing with failures. This should be done in anticipation of all possible issues – not just those related to high traffic events. For example, database crashes can be mitigated by using multi-AZ RDS database instances, which seamlessly redirect database connections to the standby instance. To ensure the durability of your site’s data, use S3 to implement redundant storage.
4) Utilize auto-scaling.
Auto-scaling provides essential support to websites serving content at any scale, by offering a method of automatically allocating resources to match the amount of traffic the site is experiencing. In this way, sudden spikes in traffic can be addressed seamlessly and without the need for constant monitoring or interventions by live personnel.
5) Perform load testing and optimize your site.
To avoid surprises, don’t wait until the high traffic event to find out how your site will perform – introduce that load yourself using a service like Load Impact, and use a tool such as New Relic APM to gather application performance metrics during the test. Doing so can reveal bottlenecks and other issues that need to be resolved ahead of the actual event. Make this process an iterative one by continuing to perform load tests and optimization for issues, increasing the load for each cycle. Much like an athlete going through strength training, this process will help you understand what your site is made of and increase its capabilities (so that it’s in peak condition when put to the real test).
6) Make use of Content Distribution Networks (CDNs).
Relying on a CDN such as CloudFront to serve user requests and reduce the load on your main infrastructure can be a boon to your site’s performance and scalability. Even if your site isn’t particularly media-intensive, CDNs that serve your content from geographic points nearer to your users can be more cost effective versus using your own infrastructure, while beneficially taking some of the load off.
7) Reduce dependencies.
Sports teams aren’t the only ones that can feel snakebit – sometimes misfortunes arrive in groups when it comes to web infrastructure failure. However, when one infrastructure failure dominos into another, it isn’t always just bad luck: the culprit is often the fact that critical functions are more interdependent with certain infrastructure than they really need to be.
Because of this, a best practice is to look for opportunities to make functions independent of critical infrastructure. A layer 7 application load balancer can offer the ability to decouple non-critical functions, thereby making your infrastructure more resilient. Another technique is to add read-replicas to separate I/O intensive write operations from read operations in your database, reducing CPU strain on the backend. For features that don’t require instantaneous results, requests can be decoupled from its processing by using a message queue like SQS.
8) Tap into change management and automation tools.
Just as the teams competing in the Big Game utilize expansive and evolving playbooks throughout the season, websites that constantly deploy changes and new configurations leave engineers with a lot to keep track of. If and when issues arise during high traffic events, the ability to address those concerns rapidly depends on an up-to-date comprehension of how infrastructure is being utilized. Tools for configuration management and version control make it pretty simple to implement and track changes across your entire infrastructure, providing important insights when they’re needed.
9) Safeguard your site’s security.
Finally, good-natured users aren’t the only ones checking out your site during that Big Game ad or other high traffic event in question – malicious attackers are often drawn in as well, and will look for ways to interrupt your site’s service or exploit any vulnerabilities they can discover. For this reason, it’s important to supplement the security best practices for deploying your infrastructure with regular security scans and a web application firewall. These can offer protection against newly discovered vulnerabilities – vulnerabilities created due to your own configuration changes, as well as providing real-time protection against malicious requests looking to exploit your web application.
By putting these strategies into action and ensuring your site is well prepared ahead of time, you’ll be able to relax and enjoy your Big Game ad (or any other anticipated high traffic event), securely confident that your infrastructure will capably host all the new potential customers that pay your site a visit.