Two years ago I wrote about a Woot-like 1 deal a day site in Australia, Zazz, and how using shared hosting might have lost them business as the hosting server simply cannot cope with flood of traffic at that specific time of the day. Now Zazz is hosted at Rackspace, a premium managed dedicated server hosting company (which also recently became the parent company of SliceHost, whom I use to host this website). Good choice I guess, as I have not experience any more stability and performance issue from Zazz again.
Catch of the Day, another 1-deal-a-day site in Australia, is having its birthday bash today, and they are offering ridiculous deals like half-price Nintendo Wii and Samsung camera. A few days prior to the offer, they have even assure us that they have stress tested the server that it can take on the traffic. They too are in trusted hands at Rackspace.
And guess what? Even before it hits 12PM in Australian Eastern Standard Time, all I get is this message on their website:

Ouch.
Since running OzBargain (a deal sharing/voting site for Australians) for the last 2 years, I have seen plenty of well planned and well advertised promotion campaigns struggle to keep up when massive unexpected traffic hits their site. Not just small retailers — JetStar, a budget domestic airline, is also often criticised to have its website completely unusable when the sale is on.
Looks like even the single box dedicated server is not going to solve those traffic hikes. Scalable cloud computing? Hey that sounds cool but do we have turn key eCommerce application that your average retailers can use, and they can hire average web developers/designers to get it up?
What would you do if Catch of the Day or JetStar come to you for consultation? What would you recommend?

5
As we can see in these examples, choice in hosting providers, while important, doesn’t make a site crash proof. It sounds like these sites need to tweak their apps for performance. Dynamic content is the #1 killer of a website. Cache, cache, cache!
I agree strongly with Scott – optimising your code and judicious use of caching is often a big win. Using a Content Delivery Network can help, but it’s normally the dynamic stuff which kills the server – ill-thought-out DB queries especially.
Agreed with David & Scott. Code optimization is huge, but even though when you’ve optimized your code over and over, you need to always have an option to scale up.
I would personally recommend them to have redundancy, redundancy is king. Hopefully a provider with different locations, and being able to scale up easily.
I’m not a huge fan of the actual ‘cloud’, as you don’t have the same control as a Virtual Server or Dedicated Server, and even between the two, a VPS wins hands down for the amount of control you have on it, ie; for example in our case, provisioning a ‘webby’ as needed, selecting your environement, ruby, django, lamp or just your bare OS (linux or even Windows), and then deploying your application.
Control & Flexibility, thats our tag line ;)
A quick note: I’m not a huge fan of the cloud, as in mosso. When you can easily, easily, create your own with multiple clustered servers, in different locations.
Hi all.
I have to say that I completely agree with all of you. To scale a site you need to have a optimised software + a scalable infrastructure. Cache is the king (if done appropriately), and VPS allows you to quickly deploy new servers to handle the traffic spike, which you can then de-commission when the traffic dies away after the campaign.
HOWEVER, my point is that it is all seems to be too hard for an average online retailer, which probably runs a vanilla version of osCommerce and hire an average local web design shop to do all the customisation. We need Mosso or MediaTemplate (gs) because they are easy to use — except they don’t scale as claimed.