One of my customer's website is going to be mentioned on Oprah's Winfrey show in a few month. Anyone here has had any similar experience? What kind of traffic should I expect?
The website in question is a SAAS with no free account developed in Rails. What should I do to make sure it scales?
Since users of the website don't need to interact between each other, I was thinking of having one load balancer running nginx proxying to different nodes with each node having it's own database and application server.
I would hash the email address to chose the node to proxy to and then store that information in a cookie. So nginx would either look for a cookie, or an email address in the post data and proxy to the correct node accordingly. Otherwise, it would redirect the user to the login page. Does this approach make any sense?
I'm currently using rackspace cloud for this which gives me flexibility in terms of adding and removing instances but does mean that I have less raw performance than with a dedicated server...
Has anyone got any stories of this kind of exposure to share?
Step #1: Make sure you dominate rankings on "the Googles" for every conceivable way someone with half an ear on the television could mangle your name or category. She isn't going to product.com, she is googling for [product], [product.com], [products], [praduct], [pro ducks], [what was that thing on Oprah this morning?], etc.
Step #2: Expect less traffic than you think, because while Oprah's audience is ginormous they are in TV watching mode rather than browsing the Internet mode, and large portions are going to fall out of the funnel in a) trying to go to your website and b) doing so successfully. Oprah's peak audience is somewhere around 9 million people. If you're expecting 500k visitors to your website, I think you're being overly optimistic (absent Oprah literally doing a call to action on your behalf). So it isn't all that much worse than a Slashdotting, and you can expect the people to come in over a wider interval than "right the second the URL appears on the screen". Any reasonable website can chew through 500,000 visits spread over a 48 hour interval if it survives the initial bump.
Step #3: Scale the obvious bottlenecks and get ready to do some firefighting, though you probably won't need to. If the home page makes 10 SQL queries right now, a) fix and b) replace with static HTML for the day (or get a process in place where you can do that quickly if the server starts to chug). I'd put a big Welcome Oprah Viewers banner at the top of it with a sales pitch leveraging that social proof for all you are worth and giving them "special" advice for using the site, by the way.
Step #4: Have a backup plan. If it seems highly unlikely that you're going to survive, switch all or most users to a static site which explains that "due to overwhelming popularity" the service isn't available at the moment but you'll email them the second it comes back up if they just drop their email address into this MailChimp signup form. Do so. Give them an option from hearing from you in a less transient fashion, too. (I would strongly consider "Check if they're cookied for your site, if so let them in, if not give them the static pseudo-site" but that doesn't scale to the moon like "hello new client, here is index.html, bye" does.)