In 2009, Airbnb migrated nearly all of its cloud computing functions to Amazon Web Services (AWS). Previously, Airbnb had been employing another cloud computing service provider; however, Airbnb decided to leave its original provider because of service administration difficulties. Nathan Blecharczyk, Co-founder & CTO of Airbnb says, “Initially, the appeal of AWS was just that is was easier to manage and customize the stack. It was great to be able to ramp up more servers without having to contact anyone and without agreeing to minimum usage commitments. Over the years, the tools to manage AWS have improved tremendously and so have the capabilities of the platform. We’ve adopted almost all of the AWS features as our needs have grown to require them.”
Currently, Airbnb is utilizing Amazon Elastic Compute Cloud (Amazon EC2) for its application, memcache, and search servers. Within Amazon EC2, Airbnb is using Elastic Load Balancing, which automatically distributes incoming traffic between multiple Amazon EC2 instances. Airbnb is using Amazon Simple Storage Service (Amazon S3) to house backups and static files, such as user pictures. These static files are delivered to Airbnb’s marketplace users through Amazon’s content delivery system, Amazon CloudFront. To monitor all of its server resources, Airbnb is using Amazon CloudWatch, which allows the company to easily supervise all of its Amazon EC2 assets through the AWS Management Console, Command Line Tools, or a Web services API.
In addition, Airbnb recently moved its main 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 difficult procedures, such as replication and scaling, to be completed with a basic API call or through the AWS Management Console. Within Amazon RDS, Airbnb is using Multi-Availability Zone (Multi-AZ) deployment to further automate its database replication 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 very important 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 of time. 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 to the next level.”
Airbnb believes that AWS has saved it the expense of at least one operations position. Additionally, the company states that the flexibility and responsiveness of AWS is helping it to prepare for future growth. Knaup says, “We’ve seen that Amazon listens to customers’ needs. If the feature does not yet exist, it probably will in a matter of months. For example, RDS replication. The low cost and the simplicity of Amazon services make it a no-brainer to switch to Amazon infrastructure.”
More information concerning Airbnb’s migration to Amazon RDS can be found at:
http://nerds.airbnb.com/mysql-in-the-cloud-at-airbnb
.