Check out the video for the Cloud Playbook to get you ready for the Big Game!
The Cloud was built to provide an environment that can dynamically scale to accommodate an influx of traffic. There is one scenario that pushes the Cloud to the limit – the Super Bowl. The Wall Street Journal has reported that businesses are paying a record $3.5 million for a 30 second spot. To continue the conversation online after their commercial airs, it is imperative for companies to prepare for the onslaught of traffic to their site.
Hart Hoover, a Rackspace support technician and Cloud aficionado, visited with me on how to make your config perform like a fine tuned offense (instead of fumbling the opportunity).
Here are six things you can do to ensure your site stays up after the commercial airs.
Have a Static Home Page
After viewers have laughed at your hysterical commercial of an inflatable shark floating through the office, they will want to visit your website for more content. You must make sure that your landing page is up and loads faster than a Chicago Bears blitz.
“The majority of customers will visit your first page, so you want your home page to be static and served out of caching, or even better over a CDN (Content Delivery Network),” Hoover says. Businesses can place that front front page in Cloud Files and serve it over the Akamai CDN.
Having your landing page hosted on Akamai's CDN will enable it to be accessed in a geographical location that is closer to the end user. For example, if your content is on Rackspace Cloud Files object storage, when a user in London requests content that is located in Chicago, they will actually get it served up from a computer in London. "This means your site will load a lot faster because the data doesn't have to traverse the globe to get to the user. By virtue of this, you can see a difference in load times in addition to taking load off of your web server," Hoover explains.
Team of Web Nodes
Keeping your home page up and available for your users is on the beginning; you now have to prepare for consumers as they look to further interact with your brand (after all, those inflatable sharks are so darn funny!) and dig deeper into your website. Visitors will begin moving from your static home page, to making calls on your database, which will in turn serve up that content via web severs.
"You want to have as many web nodes as possible. If you think you are going to need 20 web servers, put 50 up. While it depends on your application, we typically recommend that customers have more smaller, modular nodes than big, beefy web nodes," Hoover advises. "It is better to over provision than to under provision. If the traffic is not as massive as you thought, you can spin down servers quickly and pay only for what you use."
Businesses no longer have to have a yearly contract on a robust config that they only need for several hours. "At the start of the game you can deploy a bunch of web servers and then wait for the initial crest of traffic to die down at which time you can start killing off nodes," Hoover says. "Remember, it's easier to board up your windows before the hurricane comes instead of boarding them up in the sidewise rain and 100 mph winds."
The purpose of your Super Bowl commercial is most likely to drive brand awareness, which consequently means that the visitors will be consuming content on your website rather than creating content. This translates to more "read" requests on your database as opposed to "write" requests. Page loads and pulling in posts are all reads from the database.
Employing a replication strategy for your database will help with these type of requests. "You will want to have a big master database server and tons of slave database servers. You will only write to one place (the master) and those writes will get replicated out (to the slaves). On the other hand, your reads can happen on any node in your database cluster."
Due to the fact that there is only one master database server, businesses should strongly consider monitoring that server. "If a master server goes down because it is too busy, you will want to take a slave database server and promote it to become a master server very quickly."
RightScale is an infrastructure management tool that can help automate this slave-to-master promotion process for a business. Consider the loss of Indianapolis Colts star QB Peyton Manning this season as an analogy as to why you want an automated slave-to-master database promotion process. Without having a server that can step up and take the place of the superstar master server, you can end up with terrible results (an abysmal 2-14 season in the case of the Colts).
Another tool to consider is Xeround, a Cloud Database solution that takes out the worry of scaling your database. Xeround will scale your database automatically and have your database replicated in a couple of places.
Furthermore, businesses can call the Rackspace Managed Databases team to visit with our Database Administrators. These Rackers can provide you with expertise on setting up your master and slave config in addition to optimizing your database.
Cache Your Content
To help with the load time of your website, you want to make sure that you cache any static content that is not on the CDN. This will prevent the website calling the same content over and over, which will ultimately result in faster load times for your website.
"You can also cache database queries for reads in a query cache or use Memcached, a distributed memory object caching system. This will serve the request from memory, which will be faster and will allow your database server to be processing things that are new and important," offers Hoover. "If you have 100,000 people hitting your website and they are all going to see the same thing, you want that served quickly. You do not want to have to go to your database every time because it will take a long time."
Load Balance Your Config
Successful football teams often have a balanced offense that attacks the left, center and middle of the football field. Similarly, you want to make sure that you balance the traffic throughout your web nodes. Setting up Cloud Load Balancers to route traffic is critical to ensuring your site survives the crushing traffic. Placing a load balancer above your web nodes allows you to point to one IP and distribute the traffic amongst the servers. Additionally, our Cloud Load Balancers have automatic failover and are redundant.
Hoover suggests that you have load balancers at ever layer of your config. "You can load balance web servers, caching nodes and all the database nodes that are slaves."
Practice Before the Big Game
The Super Bowl is almost as important to companies advertising in the game as it is to the players on the field. Therefore, it is important for you to practice by testing your config before kickoff.
Load tests are one way of verifying your config by simulating web traffic and the behavior users on your site. Apica and CapCal are two Rackspace Cloud Tool partners who specialize in helping companies do this. “Load testing is important because it gives you time to tweak your config. You can figure out if something goes horribly wrong in your application before the real life cusomers come in,” Hoover says.
Hoover suggests running multiple load tests to ensure that any fixes made did not cause harm elsewhere in your config. You want all the bugs to be worked out prior to going live. Having a monitoring solution, such as New Relic or Cloudkick, will you show you detailed graphs of your config during the load test so you can see if there are particular queries that are taking a long time to execute and which servers are the bottlenecks in your config.
Since the nature of hosting a site for a large-scale event requires servers for a very short period of time, it is worth testing both spinning up (deploying) servers to your config as well as spinning down (removing) them after the traffic has subsided.
"You will want to understand how long it takes to add a web server to your configuration," Hoover points out. "You may have thought that those 50 web servers were enough to handle the traffic, but now you need 10 more. What does that look like? How long does it take? Do I need to plug that into any access lists for my database?" These questions can only be answered after you test your config.
Conversely, you will want to perform testing to remove the nodes from the rotation. This will give you confidence that that you can spin down servers, once the traffic has subsided, without breaking your config .
Let Us Help Call the Plays
Whether your business is preparing for the Super Bowl or another large-scale event, be sure to reach out to Rackspace and let us know what you are preparing for. Our Rackers have experience with building these configs and can help advise you on the best way to serve up massive amounts of traffic in short amounts of time. Rackspace provides 24/7 Fanatical Support and we will even be there to assist you during the big game.
Hart’s predictions for the last few weeks of football is that the Giants will upset the 49ers and the Patriots will defeat the Ravens, and he ultimately sees the Patriots winning it all this year. Follow @hhoover on Twitter for all of Hart’s tweets.