What it is
The largest online shopping event in the world, created to promote online shopping throughout India.Launch site
This site needed to be able to accommodate a potentially very large number of simultaneous visitors.
Get the people of India hyped about online shopping.
A project we'd never heard of and the first info we get is: This site had several hundred thousands of simultaneous users last year and it crashed, it cannot crash this year. That is our top priority.
Our second priority is to make the site as light as possible; it should work on a 2G mobile connection.
This was beginning of October 2014, project launch 25th of November. For once we felt we had an ocean of time. Little did we anticipate what was to come.
What we have done
It started off pretty normal, North Kingdom delivered designs for us to implement. The event was divided into four phases:
The pre-launch site was to promote the retailers that would sell their wares during festival days and generally build the hype.
Games played5 3 6 6 8 2
Other features on the site were a sign up for an alert e-mail at the start of the festival days, a promo for a retailer a day that had a special deal that day and a listing of all the retailers that would put up their wares duing festival days.
The festival days site was pretty much just a retailer listing and an item listing. Our main focus here was to make sure the site wouldn't crash.
We had decided from the start that Google's App engine would be the only viable solution for something that needed to scale this heavily. We scheduled load tests together with a company called Load Impact. Google's estimate was that some several hundred thousand simultaneous users would access the site. We ran some smaller tests with around 40k users first. And they didn't produce promising results.
We added more caching. We put all our images in a bucket on cloudstorage. We added yet more caching. We changed all our png-icons to inline CSS. We added yet more caching (by this time, it felt like we had cached the whole world). And still the load tests wouldn't run smoothly.
Eventually, pretty much without any changes to the result in the load tests, the Google guy we were in contact with (and who had suggested basically all the changes we did after the first few load tests) declared that he thought the site would hold up fine. It did.
We've figured that since the load tests were run from a mere six or seven locations, Google's App engine reacted as if it were being DDoSed. This was never confirmed with Google, but it's our theory at least.
Still it was fun trying to prep for such an onslaught of visitors and we learned a lot in the process.