• Operational Log Analytics
  • Retail

Netshoes: turbinando a busca para melhorar a experiência de e-commerce

OS NÚMEROS

  • 91 milhões
    documentos armazenados no Elasticsearch
  • 500
    consultas por segundo
  • 6x
    mais suporte à base de buscas

Resultados de buscas mais ágeis e eficientes

Com o Elasticsearch, os resultados das buscas são muito mais rápidos. A Netshoes conseguiu adaptar tanto a sua infraestrutura quanto sua estrutura de dados para dar suporte à quantidade de consultas concomitantes realizadas em sua plataforma.

Nova plataforma de e-commerce

Para construir a nova plataforma de e-commerce, usamos o Elasticsearch para suportar o volume de transações realizadas pelas lojas na nossa plataforma.

Consultoria da Elastic

O trabalho da Netshoes com os consultores da Elastic tornou as buscas mais seguras, disponíveis e confiáveis. O resultado da Consultoria foi uma plataforma ampliável, segura e fácil de manter.

Tempo de operação mais curto

As equipes de TI perceberam que utilizando o Elastisearch era necessário gastar menos tempo nas operações, o que aumentaria a disponibilidade das informações e melhoraria o processo de busca.​

Produtos usados


Um pouco sobre a empresa

Fundada em 2000, a Netshoes é hoje a maior varejista virtual de produtos esportivos do Brasil, com centros de distribuição na Argentina e no México, a empresa começou suas operações internacionais em 2011 e, em 2017, tornou-se a primeira empresa brasileira a se tornar pública na Bolsa de Nova York (NYSE). A Netshoes atualmente é dona de 32 plataformas de e-commerce e lojas parceiras. O netshoes.com.br, seu maior domínio, é o terceiro site mais acessado do Brasil e a maior plataforma de equipamentos esportivos online do país. Quando começaram a trabalhar com a Elastic, a empresa queria uma plataforma de busca que desse conta do altíssimo número de consultas no e-commerce, pudesse conectar diversos países com suas lojas e entregasse o melhor resultado para os clientes.

A história da Netshoes com a Elastic

Gestão de 32 domínios de e-commerce

A Netshoes é uma plataforma de lojas com 32 domínios atualmente, como zattini.com.br e lojas parceiras como saopaulomania.com.br e shoptimao.com.br. Sua missão é inspirar e transformar a vida das pessoas através do esporte e do lazer oferecendo uma experiência de compra excelente em uma plataforma online inovadora. Quando a empresa começou a crescer, buscaram uma plataforma que desse conta do alto volume de consultas para se conectar diretamente com as regiões da América Latina. A equipe da Netshoes, liderada por Diego Peroni, contratou então a Elastic para cuidar de sua plataforma de e-commerce. A escolha pela Elastic foi óbvia depois que a equipe descobriu como era fácil configurar tudo e, com isso, oferecer resultados de busca mais relevantes com maior personalização, tudo isso de acordo com sua missão de melhorar a satisfação do cliente e o desempenho do site.

"Com o Elasticsearch, conseguimos desenvolver nossa plataforma de e-commerce para englobar todas as áreas. Hoje, tanto as nossas lojas próprias quanto as parceiras estão conectadas pela plataforma e, com isso, as consultas são mais precisas, rápidas e muito mais confiáveis."

Diego Peroni, Diretor de Desenvolvimento de TI na Netshoes

Migração do Endeca (Oracle ATG) para o Elasticsearch Open Source

A Netshoes já usou a Endeca, a função de busca da Oracle ATG Web Commerce Search para melhorar a busca em sua plataforma de e-commerce. Com essa tecnologia, eles confiaram em uma empresa terceirizada para fazer as configurações e garantir a funcionalidade das buscas,no entanto, era difícil combinar o colaborador correto da Netshoes com o terceirizado e as correções de problemas às vezes levavam de 12 a 24 horas.

Então, a Netshoes decidiu sair da Endeca e criar sua própria plataforma para não ter mais que depender de terceiros. E foi assim que começaram do zero com a Elastic Stack.

A Netshoes precisava ter tudo funcionando impreterivelmente antes da Black Friday, que é o feriado de maior relevância para a empresa no Brasil. Peroni e sua equipe começaram indexando o catálogo inteiro, que continha 89 milhões de documentos. Depois, conseguiram migrar os outros 31 domínios de e-commerce da Netshoes para a nova plataforma da Elastic Stack, com isso, a equipe de TI observou uma redução significativa de overhead e tempo operacional em comparação à época do Endeca.

O próximo passo então era migrar netshoes.com.br ao longo das 3 semanas seguintes. Como esse era o domínio principal, também tinha o maior tráfego (o equivalente a todos os outros 31 combinados) e continha 15 milhões de documentos. Durante os testes de carregamento controlados, eles descobriram que os clusters na nova plataforma não aguentariam o volume esperado de solicitações de busca na Black Friday. Por conta do grande volume de tráfego no site e da falta de otimização, a plataforma de e-commerce da Netshoes não teve a banda necessária para administrar mais nenhuma solicitação de busca.

Por ser uma plataforma com uma série de lojas, a área de TI da Netshoes sabia que, se a nova plataforma tivesse problemas, eles afetariam todas as lojas parceiras. Por exemplo, se a plataforma não conseguisse administrar as solicitações de busca, isso poderia gerar atrasos ou até fechamento automático em todos os 32 sites da Netshoes. “A operação da empresa é toda online, e é por isso que precisamos garantir o melhor resultado de busca para os clientes”, explica Marcelo Vidu. Um sistema de busca com problemas é algo desastroso para as vendas, ainda mais em um feriado como a Black Friday, e a empresa sabia que precisava resolver a sua dificuldade em administrar o volume de transações na loja adaptando tanto a infraestrutura quanto a estrutura de dados para aguentar a quantidade de consultas que aconteceriam simultaneamente na plataforma.

Parceria com a Elastic para garantir as deadlines de produção

Depois que perceberam que a plataforma Netshoes BR não aguentaria o tráfego esperado na Black Friday, a empresa contratou a A Consultoria da Elastic não só para auxiliar na produção, mas também para recomendar boas práticas para otimização, ferramentas para monitoramento e upgrade dos clusters Elastic.

"Começamos com a versão grátis do Elasticsearch para oferecer o suporte necessário à nova plataforma de e-commerce que estávamos desenvolvendo, mas logo migramos para a versão paga e contratamos o serviço de suporte à migração de loja virtual."

Valmir Justo, Gerente de Arquitetura de Soluções na Netshoes

Os consultores da Elastic foram trabalhar diretamente com os engenheiros da Netshoes na sede da empresa em São Paulo, no Brasil, onde trabalharam juntos para adaptar arquitetura, modelo de dados e tamanhos das máquinas existentes para aguentar mais tráfego.

A equipe da Netshoes informou diretamente todo o desenvolvimento e aprendizado adquirido durante a migração (incluindo métricas de desempenho, melhorias nos resultados de busca e possibilidade de crescimento para aguentar o tráfego da Netshoes) para o CTO da empresa, Andre Petenussi.

Tudo começou implementado o Elasticsearch Rally para padronizar testes de desempenho e observar o monitoramento de métricas e documentos que foram indexados para a busca. Ao final do período de testes e observações, os consultores da Elastic ajudaram a implementar um novo cluster de POC e indexaram dados de produção . Depois, eles otimizaram consultas de produção de exemplo e as executaram contra o cluster de POC como teste. E, por fim, com base nos resultados, encontraram a melhor configuração para um novo cluster de produção.

Os consultores da Elastic sugeriram alguns pontos críticos de melhoria para se alcançar o desempenho desejado no novo cluster:

  1. Upgrade da Elasticsearch 2.4 para a 6.1 para melhorar o desempenho de consultas
  2. Monitoramento do Elasticsearch à partir da nuvem
  3. Eliminação das confusões entre consultas em Espanhol e Português

Para se monitorar a partir da nuvem, a Netshoes teve que fazer o upgrade da versão 2.4 para a 6.1 para poder usar os recursos mais recentes de monitoramento incluídos na assinatura platinum. O plugin de monitoramento do Kibana deu à Netshoes visibilidade sobre a latência e a saúde geral do cluster, informações importantes para otimizar o desempenho. O monitoramento a partir do painel do Kibana também ofereceu outras métricas, como taxa de busca e o número de índices e documentos. Além disso, o upgrade do 2.4 para o 6.1 também inclui as versões mais novas de recursos Elastic, mais estabilidade, segurança e melhor desempenho.

A Netshoes e os consultores da Elastic também perceberam que ao usar os nodos Master e Ingest juntos, melhorava o desempenho e que manter os nodos de dados em máquinas dedicadas também era vantajoso. A ingestão de dados também foi alterada, a cada vez que precisavam indexar uma quantidade grande de dados, um novo índice era criado com um nome único. Essa nova abordagem manteve o cluster mais confiável, estável e reduziu o tempo de resposta à consultas para os clientes da Netshoes.

"Ter os consultores da Elastic na empresa foi o que garantiu o desempenho de produção que tivemos."

Marcelo Vidu, Gerente de Infraestrutura da Netshoes
Diagrama simplificado de como o Elasticsearch hospedado no Azure impacta a experiência do cliente
Exemplo de dashboard da Netshoes no Kibana que permite monitorar a saúde do cluster

Recursos desenvolvidos para aprofundar a experiência do cliente

Ajustar consultas “fuzzy” também era uma prioridade na hora de garantir uma experiência excelente para o cliente. A Netshoes opera em três jurisdições diferentes: Brasil, México e Argentina. no entanto, os índices para as lojas dos três países estavam configurados para usar o analisador padrão em português ns_brazilian, mesmo com os dois outros países falando espanhol. Até pouco tempo atrás, não se tinha percebido isso, por conta das semelhanças entre o português e o espanhol, mas os consultores da Elastic recomendaram uma solução para esse problema com o uso de modelos em camadas.

Os consultores testaram o cluster anterior de produção e compararam as buscas com e sem fuzziness. Com “fuzziness”, o resultado foi uma grande quantidade de falsos positivos, que vão além do número de resultados gerados com a grafia certa da palavra. Em comparação com “sem fuzziness”, o resultado foi o número preciso de documentos com a grafia correta. Os testes foram feitos com erros comuns em português, como “camiza” em vez de “camisa” e “camizeta” ao invés de “camiseta”. Os consultores da Elastic recomendaram resolver a questão a um fator de 1, ou seja, se o termo incorreto foi pesquisado, o Elasticsearch produziria resultados alternativos relevantes com uma letra diferente. Isso é extremamente importante para a experiência de compra do cliente porque os resultados relevantes sempre aparecerão, mesmo que a consulta tenha algum erro de digitação. Caso contrário, o que teríamos seria uma série de resultados irrelevantes ou nenhum resultado para consultas com erros de ortografia.

Além disso, modelos de índice no Elasticsearch têm um parâmetro “order” que contém um valor inteiro para comparar com modelos conflitantes, vencendo o maior valor. A Netshoes criou modelos em camadas e os configurou para usar um código de país de duas letras de cada nome de índice ar, br, mx, e também criou modelos “higher order” com configurações específicas para cada idioma enquanto os modelos “lower order” tinham a mesma configuração para todos. Também, levar em consideração a localização ajudou muito a aumentar a relevância da busca.

Exemplo de endereçamento de consultas nebulosas entre palavras frequentemente escritas incorretamente

O trabalho na nuvem e o futuro

Hoje, a nova plataforma aumentou o suporte a buscas em seis vezes, oferece controle de dados e administra a quantidade de consultas simultâneas realizadas na plataforma em toda a América Latina, incluindo nas lojas parceiras. Desde a migração para o Elasticsearch, a Netshoes tem três desenvolvedores dedicados a melhorar o processo de suporte e aumentar a confiabilidade e disponibilidade da busca. Durante a preparação para a Black Friday de 2018, a nova plataforma da Netshoes com tecnologia Elastic Stack, foi testada e mostrou aguentar seis vezes o tráfego de 2017. A Elastic melhorou a experiência de busca e oferece informações completas aos clientes em 150 ms!

"A plataforma da Netshoes agora consegue oferecer a experiência de compra de qualidade que sempre desejou, tanto para o site principal quanto para os outros 32 domínios."

Diego Peroni, Diretor de Desenvolvimento na Netshoes

A empresa, de início, executou a Elastic Stack on-premises, mas já migrou seu e-commerce para a nuvem com o Microsoft Azure. Graças ao monitoramento oferecido com a assinatura platinum, a empresa agora consegue se concentrar em tarefas mais importantes relacionadas ao core business, além de poder desenvolver novos recursos em vez de se ocupar com infraestrutura, suporte e operações. Com o Elasticsearch no Azure, a Netshoes consegue ampliar sua infraestrutura mais rápido do que com um datacenter local.

“Nossos próximos passos são melhorar processos, aumentar a automação e reduzir o tempo de entregas de novas funcionalidades de negócio, além de desenvolver uma plataforma mais inteligente com foco no cliente final, tudo com as tecnologias da Elastic”, conta Vidu. A empresa pensa em fazer o upgrade para o Elasticsearch Service em 2019 para desenvolver uma plataforma de logging centralizada.