In 2007, following the success of bringing DVD rental to the web with LOVEFiLM.com, founders Alex Chesterman and Simon Kain realised that the UK property market had yet to fully enjoy the benefits of the internet, particularly in terms of its ability to deliver transparency and efficiency. They set out with the mission to transform the property market via web services.
Zoopla’s property value estimates are calculated using a proprietary algorithm developed by analysing millions of data points relating to property sales and home characteristics throughout the UK. The algorithm works by comparing relationships between home prices, economic trends and property characteristics in given geographic areas. Estimates are constantly refined, using the most recent data available and a variety of statistical methodologies, in order to provide the most current information on any home.
In their previous start-up (ScreenSelect/Lovefilm.com), Chesterman and Kain built the server platform in a traditional way, from the ground up starting small and growing organically, with a few major step-changes in architecture along the way. “We learned that even with a decent-sized systems team that maintaining your own hardware platform is a time-sink and to do so within a tight budget can result in big constraints on responsiveness & flexibility,” Kain comments.
“The cycle of procuring and installing servers or upgrades can be a distraction, especially when you’re busy trying to make the company grow,” says Kain. “It’s very difficult to anticipate hardware demand under those circumstances, and the cycle of negotiating discounts, ordering, waiting for delivery, installing/configuring software, scheduling data-centre time to install the physical hardware – it’s a drain on a growing start-up with tightly-controlled costs. And that’s just server growth – unanticipated hardware failures can have a terrible impact on productivity.”
In building Zoopla, Kain and his team followed the private beta launch of Amazon EC2 with great interest, to see if it would provide a better option. After testing the service, Zoopla’s leadership team decided that it was relatively risk-free with potentially massive upside. Zoopla was based in EC2 from day one.
Zoopla’s experience has been positive. “Unlike other cloud-offerings, EC2 and the other AWS APIs don’t force you to design your applications in a novel way,” according to Kain. “The EC2 API’s closely mirror, but improve upon, the actions of the more traditional / tedious way – procure a server of a particular spec, install the OS / application software, build network security groups, reboot, monitor etc… Now, instead of the procurement/deployment cycle taking weeks, it takes less than a minute.”
“AWS massively reduces the transition risk for any existing businesses that wish to switch. The learning curve is negligible,” Kain adds. “So, for very little risk, you get huge upside in responsiveness (very important for start-ups / growing businesses) and flexibility. In a very short space of time and for minimal costs you can compete with much larger companies in terms of platform sophistication.”
In the first 12 months since launch, Zoopla estimates it has saved at least £200,000 in the areas of data-centre costs, server cap-ex, server upgrade/maintenance costs, sys admin salaries, network equipment, etc. According to Kain, the cost-savings, though significant, are not the biggest impact on a growing business. Instead the biggest benefit is flexibility and responsiveness. In total, Zoopla has saved hundreds, possibly thousands of hours of sys admin time, and more in terms of lack of downtime and reducing scaling complexities.
Zoopla’s entire stack is hosted on EC2, including load-balancing servers and app-server cluster, database tiers to serve front-end, f/e+b/e, and back-end functional areas, back-end and data-processing clusters. To aid scaling and maintenance Zoopla maintains strict separation of tiers / database clusters and uses Amazon SQS solely to communicate across tiers. Kain notes a few best practices, “Make use of EC2 flexibility to isolate data across separate databases, use security groups to isolate tiers / clusters, and use server-independent services like SQS and SimpleDB to communicate between tiers.”
For storage, Zoopla uses Amazon S3 heavily. Currently, every database table across all databases is encrypted and uploaded to S3 multiple times per day. Plus, S3 stores all user- and vendor-submitted images and data files. “We have recently started testing EBS volumes to host one of our (~300GB) back-end data-build databases. Our aim is to deploy EBS volumes across our entire stack and switch our perspective from focusing on servers that host data, to having data repositories that we can attach processing power to. Initial estimates indicate an incredible performance gain with some of our more intensive data processing of >3x.” Zoopla is currently testing some systems-management databases and their search technology on SimpleDB. And will soon be serving static content on Amazon CloudFront.
Kain sums up, “At Zoopla we have had significantly reduced growing pains in our first year due to AWS. The AWS team seems to intuitively get what we need to build our platform, and they don’t dictate to us “how” we should build our platform. They make smart design decisions, and are helpful and responsive in support.”