Airbnb 是一个社区市场,让业主和旅客可以相互联系,以便在全世界范围内租用独一无二的度假场所。Airbnb 社区用户的活动通过公司的 iPhone 和 Android 应用程序在公司网站上进行。总部位于旧金山的 Airbnb 于 2008 年开始运作,目前在全球范围内拥有数百名员工,支持 192 个国家的近 25 000 个城市的物业租赁。

在发布 Airbnb 一年后,由于使用原有提供商时遇到了服务管理问题,该公司决定将其几乎所有的云计算功能迁移到 Amazon Web Services (AWS)。Airbnb 的联合创始人兼首席技术官 Nathan Blecharczyk 表示: “起初,AWS 的吸引力在于它可以轻松管理和自定义堆栈。可以在不需要联系任何人,而且没有最低使用承诺的情况下添加更多服务器,这真是太棒了。随着我们的公司不断发展壮大,我们越来越依靠 AWS 云,现在我们已经采用了 AWS 提供的几乎所有功能。AWS 是任何希望扩展到更高级别的 Internet 企业所寻求的简单答案。”

Airbnb 已在过去的 3 年中实现大幅增长。为了支持需求,该公司将 200 个 Amazon Elastic Compute Cloud (Amazon EC2) 实例用于其应用程序、内存缓存和搜索服务器。在 Amazon EC2 中,Airbnb 使用了 Elastic Load Balancing,它可以自动在多个 Amazon EC2 实例之间分配传入流量。为了每天轻松处理和分析 50 GB 的数据,Airbnb 使用了 Amazon Elastic MapReduce (Amazon EMR)。Airbnb 还使用 Amazon Simple Storage Service (Amazon S3) 存储备份和静态文件,包括 10 TB 的用户照片。为了监控其所有的服务器资源,Airbnb 使用了 Amazon CloudWatch这使该公司可以通过 AWS 管理控制台、命令行工具或 Web 服务 API 来轻松监控所有 Amazon EC2 资产。

此外,Airbnb 已将其主要的 MySQL 数据库迁移到了 Amazon Relational Database Service (Amazon RDS)。Airbnb 选择了 Amazon RDS,因为它可以简化大量通常与数据库相关的耗时的管理任务。Amazon RDS 可以使用户通过基本 API 调用或通过 AWS 管理控制台完成较难的步骤,如复制和扩展。Airbnb 目前使用 Amazon RDS 维持 2.6 亿社交联系人,并且使用多可用区域 (Multi-AZ) 部署来进一步自动复制其数据库并增强数据持久性。

Airbnb 只需 15 分钟的停机时间就可以将其整个数据库迁移到 Amazon RDS。这种快速转换对于快速增长的 Airbnb 非常重要,因为它不希望其社区用户在较长时间内无法进入其市场。Airbnb 的工程师 TOBI Knaup 说: “因为使用了 AWS,我们一直可以轻松(在所需时间和成本方面)扩展我们的站点。”

Airbnb 认为 AWS 至少为其节省了用于一个操作职位的费用。此外,该公司指出,AWS 的灵活性和响应能力有助于为实现更多增长做好准备。Knaup 说: “我们已看到 Amazon Web Services 愿意倾听客户的需求。如果该功能尚不存在,他们几个月内便会提供。其服务的低成本和简单易用优势使我们无需过多考虑就迁移到了 AWS 云中。”

了解 AWS 如何帮助满足您 Web 应用程序需求的更多信息,请访问我们的 Web、移动和社交应用程序详细信息页面:http://aws.amazon.com/web-mobile-social/

有关 Airbnb 迁移到 Amazon RDS 的更多信息,请访问:http://nerds.airbnb.com/mysql-in-the-cloud-at-airbnb