Airbnb with AWS

About Airbnb

Airbnb is a community marketplace that allows property owners and travellers to connect to rent unique vacation spaces worldwide. The San Francisco-based Airbnb began operation in 2008 and currently has hundreds of employees across the globe supporting property rentals in nearly 25,000 cities in 192 countries. The Airbnb community users’ activities are conducted on the company’s Website and iPhone and Android applications.

Airbnb Scales Infrastructure Automatically Using AWS (3:18)

The Challenge

A year after Airbnb launched, the company decided to migrate nearly all of its cloud computing functions to Amazon Web Services (AWS) because of service administration challenges experienced with its original provider. Nathan Blecharczyk, Co-founder & CTO of Airbnb, says, “Initially, the appeal of AWS was the ease of managing and customizing the stack. It was great to be able to ramp up more servers without having to contact anyone and without having minimum usage commitments. As our company continued to grow, so did our reliance on the AWS cloud and now, we’ve adopted almost all of the features AWS provides. AWS is the easy answer for any Internet business that wants to scale to the next level.”

Airbnb has grown significantly over the last three years. The company uses 200 Amazon Elastic Compute Cloud (Amazon EC2) instances for its application, Memcache, and search servers to support demand. Within Amazon EC2, Airbnb uses Elastic Load Balancing, which automatically distributes incoming traffic between multiple Amazon EC2 instances. To quickly process and analyze 50 Gigabytes of data daily, Airbnb uses Amazon Elastic MapReduce (Amazon EMR). Airbnb uses Amazon Simple Storage Service (Amazon S3) to house backups and static files, including ten terabytes of user pictures. To monitor all of its server resources, Airbnb uses Amazon CloudWatch, which allows the company to easily supervise its Amazon EC2 assets through the AWS Management Console, Command Line Tools, or a Web services API.

In addition, Airbnb moved its central MySQL database to Amazon Relational Database Service (Amazon RDS). Airbnb chose Amazon RDS because it simplifies much of the time-consuming administrative tasks typically associated with databases. Amazon RDS allows complex procedures, such as replication and scaling, to be completed with an introductory API call or through the AWS Management Console. Airbnb currently uses Multi-Availability Zone (Multi-AZ) deployment to automate its database replication further and augment data durability.

Airbnb was able to complete its entire database migration to Amazon RDS with only 15 minutes of downtime. This quick transition was significant to the fast-growing Airbnb because it did not want its community of users to be shut out of its marketplace for an extended period. Tobi Knaup, an engineer at Airbnb, says, “Because of AWS, there has always been an easy answer (in terms of time required and cost) to scale our site.”

The Benefits

Airbnb believes that AWS saved it the expense of at least one operations position. Additionally, the company states that the flexibility and responsiveness of AWS are helping it to prepare for more growth. Knaup says, “We’ve seen that Amazon Web Services listens to customers’ needs. If the feature does not yet exist, it probably will in a matter of months. The low cost and simplicity of its services made it a no-brainer to switch to the AWS cloud.”