Carsales.com.au has radically reduced its IT costs by shifting its image serving to the cloud, designing and deploying a solution that combines Microsoft Azure virtual server instances and Akamai’s Content Delivery Network.
The image serving project has been timed to coincide with the release of a native iOS app that offers several new image sizes, necessitating a scalable image serving infrastructure.
The overall number of images served by the Carsales network peaks at 300 million images every day and up to nine billion images per month – mostly because of varying size options available for a single image.
When a prospective buyer opens a car ad on their desktop, for example, the web site adjusts the size of the image according to the screen size and resolution of the client viewing it. Similar functionality has been built into the iPad app.
“The sheer number of images to serve presented me with an interesting problem,” Carsales CIO Ajay Bhatia told iTnews. “Our image infrastructure was going to struggle to cope with this sort of demand.
“So do you buy a $1m+ SAN and pay lots of hosting and management charges along with it?”
Jason Blackman and Andrew Charenko, members of Bhatia’s Technology management team, offered up a better idea.
“Why not take images to the cloud?”
Carsales.com.au developer Khan Thompson has since coded a new image server that is hosted on Microsoft’s US Azure cloud computing service and delivered to Australian users via the Akamai content delivery network.
The image server watermarks images, re-sizes them on the fly and stores the re-sized images in Blob storage to save the Azure-hosted servers from having to perform the same operation again when another customer loads the page.
The solution was designed for high availability by failing over between Azure instances on both the East and West coasts of the USA.
The solution has proven extremely economical.
“I can say I haven't just saved 10 or 20 or 30 percent,” Bhatia said. “This costs us several times less than physical infrastructure that was going to be required”
Bhatia said the solution – deployed at the beginning of November – was already put to the test to prepare for last week’s iPad app launch.
Some 90 percent of Carsales’ images are served locally to users via Akamai's CDN, only 10 percent by Azure instances, which are billed by the hour.
"Any time image sizes are changed Akamai needs to retrieve and cache all the new images, this puts extra load on the origin," Bhatia said. "This means that before the launch of new image-heavy products we need to scale up the number of instances hosting Azure images.
"For last week’s iPad lauch we did exactly that and once the images were cached we reduced the number of instances.
"Compare this to buying hardware to do the same job. I would have had to buy hardware that caters for 100 percent of the anticipated traffic and pay for it every hour of the day and every day of the year.”
Bhatia said it is important to note that cost is one driver of many when it comes to the public cloud.
“Often the cloud isn't cheaper on [a] one-on-one basis, but it gets cheaper because you can control your utilisation. Just like your electricity bill, I now pay for the number of compute hours we used during the month.
“I believe the cloud has to provide you multiple benefits, not just cost,” he said. “For us, the cloud is a tactical move."
He is confident that smart, selective use of the cloud will result in Carsales using less floor space at its managed hosting partner.
“The Azure piece is still fairly new, we are going through that process,” he said. “Definitely, that will happen.”