Nós definitivamente podemos apoiar mais clientes e dados ao usar volumes do Amazon EBS maiores e mais rápidos. Não precisamos mais nos preocupar se podemos atender às nossas necessidades de armazenamento diante do crescimento contínuo dos clusters. 
Joseph Poirier Senior Manager of Platform Infrastructure

A Bazaarvoice disponibiliza soluções de social commerce às maiores marcas do mundo, que incluem lojas de departamento líderes globais, como Best Buy e Home Depot, além de grandes marcas, como Adidas e Samsung. As soluções da Bazaarvoice ajudam empresas a capturar, exibir e analisar classificações, avaliações, recomendações e conteúdo para mídias sociais gerados pelo consumidor que são publicados na Internet sobre suas marcas, produtos e serviços. Os clientes da Bazaarvoice usam esses dados para estimular as vendas, conquistar novos clientes, melhorar seus produtos e serviços e aprimorar o engajamento com clientes em vários canais. Todo mês, mais de 700 milhões de pessoas veem e compartilham suas opiniões e experiências sobre dezenas de milhões de produtos na rede da Bazaarvoice.

Desde a sua fundação em 2005, a Bazaarvoice tem buscado constantemente aumentar a elasticidade da sua própria plataforma de tecnologia. "Nós desejávamos migrar de uma arquitetura tradicional dividida em silos e baseada em SQL e de um ambiente de colocação gerenciado para uma arquitetura NoSQL mais elástica", comenta Gary Allison, vice-presidente executivo do setor de engenharia da Bazaarvoice. "Para dar um exemplo, conforme crescíamos, nós desejávamos a flexibilidade de adquirir capacidade armazenada de acordo com as nossas necessidades, em vez de termos de fazer suposições em grande escala a respeito do hardware físico que poderiam ou não ser verdadeiras", complementa Joseph Poirier, gerente sênior da infraestrutura de plataforma da Bazaarvoice.

A Bazaarvoice buscou a nuvem para atender às suas necessidades de elasticidade em 2008 e agora migrou todos os seus principais serviços voltados para o cliente para a Amazon Web Services (AWS). "Nós fomos pioneiros na adoção empresarial da AWS", diz Allison. "Para nos tornarmos realmente elásticos, sabíamos que precisávamos de um provedor de nuvem forte como a AWS para hospedar o nosso ambiente".

A Bazaarvoice começou a usar a AWS como a principal plataforma de nuvem para o seu ambiente. A empresa usa mais de 20 serviços da AWS, como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) para hospedar sua plataforma de sites, o Elastic Load Balancing para distribuir solicitações de rede de entrada e o Amazon Simple Storage Service (Amazon S3) para armazenamento de dados. "Nós executamos praticamente tudo na AWS, inclusive 50 aplicativos que aumentam o desenvolvimento, o controle de qualidade e o ambiente de produção", diz Allison. "Nós temos cerca de 4.000 instâncias do Amazon EC2 em execução ininterruptamente em várias zonas de disponibilidade."

Um elemento chave da implementação da AWS feita pela Bazaarvoice é o Amazon Elastic Block Store (Amazon EBS), que disponibiliza volumes de armazenamento em nível de bloco persistentes para o uso com instâncias do Amazon EC2. "A elasticidade do Elastic Block Store é um conceito chave para nós", comenta Poirier. "Podemos gerenciar nossa capacidade computacional e de armazenamento muito mais facilmente usando o Amazon EBS." O Amazon EBS também desempenha um papel fundamental para a Bazaarvoice, pois ele conclui a transição dos seus serviços do ambiente de colocação para a AWS. "O Amazon EBS torna a migração mais fácil para nós, pois conseguimos replicar tudo para a AWS", comenta Allison. "Quando consumidores do mundo inteiro entram em sites de e-commerce e leem avaliações, eles na verdade estão acessando bancos de dados mestres e escravos sobre os bancos de dados replicados."

Como suas atividades cresceram rapidamente, a Bazaarvoice estava preocupada com possíveis limitações de dados em sua presente implantação do Amazon EBS. "O tamanho do nosso conteúdo dobra a cada 18 meses, e nós estávamos chegando muito perto do limite máximo de volume do EBS, que é de um terabyte", diz Poirier. "Ao mesmo tempo, ainda estamos em fase de transição. Deixamos de ter dados em um banco de dados mestre e passamos para uma arquitetura NoSQL, portanto, temos várias separações lógicas de clientes nos clusters. Alguns desses clusters estavam se aproximando do limite de um terabyte durante a replicação da AWS do banco de dados mestre."

Como resultado, a Bazaarvoice estava preocupada em ter de restruturar a arquitetura de alguns de seus aplicativos. "O volume do EBS era nossa porta de entrada para a AWS e isso fez com que todos os outros serviços funcionassem", comenta Poirier. "Fizemos um grande trabalho de engenharia para reduzir a quantidade de dados que estávamos enviando para as réplicas da AWS, e ficamos apreensivos de termos de trabalhar mais ainda para resolver o problema de limitação de dados."

Enquanto buscava solucionar seu problema, a Bazaarvoice foi convidada pela Amazon para ser uma pioneira na adoção de volumes do EBS maiores e mais rápidos. Esses novos volumes apoiam até 16 terabytes e disponibilizam cerca de 20.000 IOPS provisionadas, em comparação com as 4.000 IOPS de versões anteriores. Além disso, os volumes recém-criados podem transferir dados com mais do que o dobro da velocidade. "Nos foi oferecida a oportunidade de testar os volumes do EBS maiores e mais rápidos, e estávamos ansiosos por testá-los, pois eles pareciam uma excelente solução para o nosso problema de crescimento de dados", diz Poirier.

A Bazaarvoice pôde testar o desempenho dos novos volumes do EBS antes da fase de produção. "Nós replicamos um dos nossos maiores clusters que estava quase atingindo seu limite de tamanho e inserimos uma versão menor da infraestrutura do banco de dados no novo volume do EBS", conta Poirier. "Nós capturamos cerca de uma semana de solicitações recebidas (bilhões de solicitações) e testamos o novo volume do EBS para ver que tipo de desempenho ele apresentava em comparação com os volumes mais antigos", comenta. "No nosso teste, a Amazon disponibilizou o desempenho de volume do EBS mais rápido que poderia se esperar de um programa beta."

Agora, a Bazaarvoice pode apoiar facilmente seu imenso crescimento de dados sem precisar se preocupar com limitações de tamanho. "Nós começamos a migrar alguns dos nossos clusters de volumes de um terabyte para volumes de dois terabytes, o que nos ajudou a apoiar melhor o crescimento dos dados. E, se precisarmos migrá-los para volumes de três terabytes, isso não será nenhum problema. Em um ambiente tradicional, isso significaria meses de planejamento", conta Poirier. "Nós definitivamente podemos apoiar mais clientes e dados ao usarmos volumes do Amazon EBS maiores e mais rápidos. Não precisamos mais nos preocupar se podemos atender às nossas necessidades de armazenamento diante do crescimento contínuo dos clusters."

Além disso, com mais espaço para armazenar dados e a capacidade de acessá-los mais rapidamente, a empresa pode focar-se na criação de novos aplicativos em vez de gastar mais tempo da equipe de engenharia tentando reduzir o volume dos dados enviados para as réplicas da AWS. "Nós chegamos a considerar dividir um ou mais clusters em clusters adicionais, o que teria sido dispendioso e complicado", diz Poirier. "Nós também tínhamos muitos links entre os clusters, portanto, seria necessário duplicá-los. Era todo um tipo de trabalho que nós não desejávamos ter de fazer, e evitamos isso completamente usando os volumes do Amazon EBS maiores e mais rápidos."

A Bazaarvoice também poderá beneficiar-se dos excelentes recursos de desempenho dos volumes do Amazon EBS maiores e mais rápidos. "Durante o nosso teste, nós validamos as IOPS e as taxas de transferência mais elevadas que a AWS orçou para a gente e, de modo geral, vimos um desempenho bom ou melhor para os nossos clusters de banco de dados", diz Poirier. "Estamos muito seguros de que veremos esses resultados no ambiente de produção também." Com um desempenho mais sólido, a empresa poderá recriar bancos de dados escravos mais rapidamente. "Quando criamos um escravo, leva um tempo para que a instância inicialize por meio de um snapshot", comenta Poirier. "Durante o teste, nós descobrimos que o tempo de inicialização era duas vezes mais rápido com os volumes do EBS mais novos. Isso significa que, se precisarmos ativar outro escravo para administrar um maior tráfego do site, poderemos fazer isso duas vezes mais rápido."

A empresa também obtém maior flexibilidade ao concluir sua transição para uma arquitetura NoSQL. "Ainda estamos no processo de migrar o resto dos nossos bancos de dados inteiramente para a AWS", comenta Poirier. "Conforme isso acontecer, teremos mais opções de armazenamento, instâncias de computação e até mesmo definição de preço sob demanda." E a Bazaarvoice continuará a beneficiar-se da elasticidade possibilitada pela AWS. "O EC2 é uma parte fundamental de como atendemos aos clientes no que diz respeito à nossa capacidade de ativar ou desativar recursos, conforme for necessário, para atendermos à demanda", diz Poirier. "E podemos fazer o upgrade facilmente, além de obter preços e desempenho melhores, toda vez que a Amazon apresentar novos tipos de instância."

A Bazaarvoice pretende expandir a abrangência de sua implementação da AWS nos próximos meses. "Nosso sucesso depende da AWS e desejamos adicionar mais serviços no futuro", comenta Allison. "Nossos parceiros na AWS nos ajudaram imensamente, conversando conosco sobre novas arquiteturas e até mesmo a respeito de novas direções a serem tomadas para o serviço que prestamos para centenas de milhões de pessoas. Com a AWS como base da nossa plataforma, nós podemos nos concentrar na inovação para os nossos clientes e no sucesso de suas empresas."

Para saber mais sobre como a AWS pode ajudá-lo a gerenciar seu site, acesse a nossa página de detalhes sobre sites e hospedagem de sites.