AWS Case Study: Alexa
Alexa.com’s web information business is built on the notion that timely, relevant information is essential to a positive web experience. In support of this goal, Alexa has been rapidly expanding its business by offering a variety of web services to its customers. Using APIs, Alexa’s customers are able to access the vast information that Alexa has collected from the web and use it in innovative new ways.
To develop, launch, and manage their web-scale services quickly and cost effectively, Alexa uses the core infrastructure services provided by Amazon Web Services (AWS)—Amazon SimpleDB, Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), and Amazon Simple Queue Service (Amazon SQS). These services provide the scalable foundation for Alexa’s high volume web services.
Why Amazon Web Services
One popular offering is the Alexa Site Thumbnail service which enables developers to embed thumbnail images of web site home pages directly into their own web site or application. To power this web service, Alexa uses Amazon S3 to store and deliver millions of thumbnail images and uses Amazon SimpleDB to automatically index and efficiently query the stored images. Currently, Alexa stores over 12 million objects in SimpleDB, and performs over 5 million queries against it daily.
Another Alexa offering built on top of Amazon Web Services is Alexa Web Search “Grep the Web” which allows users to create custom filters using criteria that Alexa has not indexed. Customers can use this feature, for example, to find documents containing specific HTML tags, links, or images.
In its architecture, Alexa chose Amazon SimpleDB over MySQL to store intermediate status/log data and Amazon S3 retrieves input datasets and stores output datasets. They also use Amazon EC2 to run the large distributed processing hadoop cluster and Amazon SQS for buffering requests.
By using Amazon SimpleDB, Alexa is able to reduce costs in managing and running relational database on two servers plus a backup system. Amazon SimpleDB has also freed the Alexa team from conventional challenges of running and scaling a high performance database. “Prior to SimpleDB, our developers would spend a lot of time scaling and tuning our database architecture—and worrying about failovers and backups,” says Greg Orelind, Technical Project Manager of Alexa’s web information offerings. “With SimpleDB, I can rely on Amazon’s web-scale, highly available database and let my developers focus on creating new features core to our application.”
Orelind further highlights the ease of using Amazon Web Services by noting the time saved using the libraries provided in Amazon Web Services’ resource center. “The pre-built libraries enable Alexa to kick start any new project with the comfort of building on top of existing libraries.”
With a track record of success with Amazon Web Services, Alexa will look to AWS as the first option when architecting any new service. The scalability, reliability, and availability of AWS allows Alexa to focus on product innovation and meeting their customer’s needs.
To learn more about how AWS can help support your web, mobile and social apps needs, please visit: http://aws.amazon.com/web-mobile-social/.