O Airbnb é um mercado comunitário que permite a conexão de proprietários de imóveis e viajantes para a locação de espaços de férias exclusivos em todo o mundo. As atividades dos usuários da comunidade do Airbnb são realizadas no site da empresa e nos aplicativos para iPhone e Android. O Airbnb, sediado em São Francisco, iniciou as operações em 2008 e atualmente conta com centenas de funcionários em todo o mundo, apoiando a locação de imóveis em cerca de 25.000 cidades em 192 países.

Airbnb escala automaticamente a infraestrutura na AWS (3:18)

airbnb-thumb

Um ano após o lançamento do Airbnb, a empresa decidiu migrar praticamente todas as funções de computação em nuvem para a Amazon Web Services (AWS). O motivo da migração foram os desafios de administração enfrentados com o provedor original. Segundo Nathan Blecharczyk, cofundador e diretor de tecnologia do Airbnb, “Os apelos iniciais da AWS eram a facilidade de gerenciamento e a personalização da pilha. Era ótimo poder acrescentar mais servidores sem necessidade de entrar em contato com ninguém e sem compromissos de uso mínimo. À medida que nossa empresa continuou a crescer, também cresceu a nossa confiança na Nuvem AWS. Hoje, já adotamos quase todos os recursos oferecidos pela AWS. A AWS é a resposta fácil para qualquer empresa da Internet que precisa crescer para o próximo nível.”

O Airbnb cresceu substancialmente nos últimos 3 anos. Para atender à demanda, a empresa usa 200 instâncias do Amazon Elastic Compute Cloud (Amazon EC2) para servidores de aplicativos, memcache e pesquisas. No Amazon EC2, o Airbnb usa o Elastic Load Balancing, que distribui automaticamente o tráfego recebido entre várias instâncias do Amazon EC2. Para processar e analisar facilmente 50 Gibabytes de dados a cada dia, o Airbnb usa o Amazon Elastic MapReduce (Amazon EMR). O Airbnb também usa o Amazon Simple Storage Service (Amazon S3) para hospedar backups e arquivos estáticos, incluindo 10 terabytes de imagens de usuários. Para monitorar todos os recursos dos servidores, o Airbnb usa o Amazon CloudWatch, que permite que a empresa supervisione facilmente todos os ativos do Amazon EC2 por meio do Console de Gerenciamento da AWS, das ferramentas da linha de comando ou da API de web services.

Além disso, o Airbnb mudou seu banco de dados MySQL principal para o Amazon Relational Database Service (Amazon RDS). O Airbnb escolheu o Amazon RDS porque ele simplifica a maior parte das tarefas administrativas demoradas geralmente associadas aos bancos de dados. O Amazon RDS permite que procedimentos complexos, como replicação e escalabilidade, sejam executados com uma chamada de API básica ou no Console de Gerenciamento da AWS. No momento, o Airbnb usa uma implantação de Multi-Availability Zone (Multi-AZ) para automatizar ainda mais a replicação de banco de dados e aumentar a resiliência dos dados.

O Airbnb conseguiu completar toda a migração do banco de dados para o Amazon RDS com um tempo de inatividade de apenas 15 minutos. Essa transição rápida foi muito importante para o Airbnb, que crescia rapidamente e não desejava que seu marketplace ficasse inacessível para a comunidade de usuários por um longo período. Tobi Knaup, engenheiro do Airbnb, comentou “Com a AWS, sempre tivemos uma resposta rápida (em termos de tempo e custo necessários) para escalar o site.”

O Airbnb acredita que a AWS permitiu economizar o custo de pelo menos uma posição no setor de operações. Além disso, a empresa afirma que a flexibilidade e a responsividade da AWS ajudam na preparação para seu crescimento. Knaup disse “Percebemos que a Amazon Web Services reconhece as necessidades dos clientes. Se o recurso ainda não existe, provavelmente será disponibilizado em alguns meses. O baixo custo e a simplicidade de seus serviços justificaram facilmente a mudança para a Nuvem AWS.”

 

Para saber mais sobre como a AWS pode atender às necessidades de aplicativos web, acesse a página de detalhes de aplicativos web, móveis e sociais: http://aws.amazon.com/web-mobile-social/.

Você pode encontrar mais informações sobre a migração do Airbnb para o Amazon RDS em: http://nerds.airbnb.com/mysql-in-the-cloud-at-airbnb.