And they’re off… The Grand National, a National Hunt horse race that takes place annually in Britain, is coming up quickly - April 9th this year. The unpredictable nature of the race and the frenzy surrounding it sweeps a large proportion of the population - including unusually high numbers of people who do not bet or gamble regularly - in the excitement. Grand National day in the UK, as it happens, is the most active betting day of the year with up to a quarter of the UK adult population placing their bets and waiting with bated breath to see whether their chosen horse wins.
A few weeks ago I got a handful of emails from a small, cool boutique hotel chain advertising their big promo to give away free hotel rooms for New Year’s Eve. They’d “open the floodgates” on October 30 and let people sign in to win one of 500 rooms in New York City, Amsterdam, London, Glasgow, etc.
When PAPER magazine published a series of nude Kim Kardashian photos in winter 2014, throngs clamored to see photo spreads of her, erm, assets. Most of these eager viewers, like all internet users, wanted to click and see immediately. They don’t give a second thought to what enables the backend to handle the traffic coming to see the... back end.
Tony Flint leads the team that owns the happiness and health of the web infrastructure at Wetpaint.com. During our chat with Tony he shared with us his team's relief when they came across Varnish and could rest assured that their website was up and running irrelevant of peaks in traffic. He also told us how Varnish helped improve the website's page load time by 200%!
Wetpaint.com was launched in 2010 on a Ruby on rails application. At the time their web infrastructure consisted of several Amazon EC2 servers. But Wetpaint had problems with speed and scalability from day one. They kept adding more and more servers to try and make things faster for their users. “But it just wasn’t working and we were scrambling to figure out how we could make things faster,” said Tony Flint, Wetpaint’s Senior QA, IT and Operations Manager. “I started looking for a solution and thankfully we came across Varnish. Without ever having used it we had it up and running on our site within half a day. It just worked!”
This was in November 2012 and the site went from being slow and unresponsive to being really fast. “For our technical team this was a huge relief,” Tony told us. “We went from constantly worrying about the performance of our site to being able to relax and concentrate on other things. It was like magic! Our average page load time immediately went from 9 seconds to less than 3 seconds and ever since our site has been really fast.” Tony also shared with us that speed is very important for their target audience (women 18-34 years old) so an additional benefit of implementing Varnish has been the greatly enhanced user experience.
More speed at a smaller cost
Due to their previous scalability issues Wetpaint had 10 Amazon web servers running to support their site. After setting up Varnish they were able to cut the number of web servers down to 4! “Not only has Varnish made our lives easier and helped our performance immensely but it has also helped us save money on both power and hardware,” Tony said. “With Varnish we were able to cut our hosting related costs by 50% and we had a much faster website.”
A vital part of the web stack
Tony told us that Varnish is now a vital component for Wetpaint’s web stack “We simply couldn’t live without it!” he said. “Varnish sits on the edge of our websites and manages the requests coming in. Behind Varnish there are a small set of Ruby On Rails application servers. Data is stored in a PostgreSQL database with some caching done in Memcache. Currently the underlying OS is Ubuntu 10.04 with an update to 12.04 being planned as we’re writing this”.
AB-testing in Varnish
Wetpaint is also using Varnish, along with other AB-testing frameworks, to segregate their users into a number of groups. “We do A-B testing by showing different variations of features to the different groups and then tracking their behaviour” Tony told us.
Priceless help from the community
Tony uses the Varnish IRC channel actively to ask Varnish Software’s core developers as well as the community questions about anything related to running Varnish. “That’s one of the great things about Varnish. I can actually talk to the people that developed Varnish and they will help me out when I need it.”
To finish up our chat with Tony we asked if he had any tips, tricks or insights he wanted to share with fellow Varnish users. “There are a couple of things that are important to share. Firstly, it’s worth taking the time to understand what you want to accomplish, to understand the VCL and take the time to study some examples and sites similar to your own. Secondly, I recommend looking into boilerplate templates rather than building your own from scratch. Lastly, just be because you can do something with Varnish it doesn’t mean that you should. We could for example easily have used configurations and Vmods from others rather than building our own. Oh... and join the Varnish chat channel (irc). It’s really interesting to see what people are talking about,” Tony said.