Como a Samsung alcançou precificação em tempo real com AWS Lambda

A Samsung implementou uma arquitetura de streaming em tempo real utilizando AWS Lambda para resolver problemas de latência em seu sistema de precificação, crucial para o e-commerce.

A Samsung, um dos líderes globais em tecnologia, enfrentou desafios significativos em sua plataforma de e-commerce, especialmente em relação à precisão de preços em tempo real. A necessidade de evitar inconsistências de preços é crítica, pois isso pode levar à perda de confiança do consumidor e a um fenômeno conhecido como 'cart shock', onde o preço final no checkout difere do preço exibido inicialmente. Para resolver esses problemas, a empresa adotou uma arquitetura de streaming em tempo real utilizando AWS Lambda e Amazon CloudFront.

O site Samsung.com é o principal canal de vendas diretas da empresa, oferecendo uma ampla gama de produtos, incluindo smartphones, TVs e eletrodomésticos. Cada um desses produtos possui múltiplas variantes e preços regionais, o que torna a precisão em tempo real ainda mais vital. Durante eventos de alta demanda, como a Black Friday, a empresa precisava garantir que as páginas de listagem de produtos apresentassem preços atualizados e precisos.

A arquitetura legada da Samsung utilizava um sistema de cache assíncrono, que resultava em um desvio de sincronização de até uma hora entre o motor de preços e as páginas voltadas para o consumidor. Essa abordagem não apenas aumentava a latência, mas também criava uma experiência negativa para os clientes, que frequentemente se deparavam com preços desatualizados durante o processo de compra.

Para resolver esses problemas, a Samsung desmantelou sua arquitetura de agregação de dados e implementou um novo motor de arbitragem em massa, que é uma camada de orquestração sem estado. Essa nova solução consulta o motor de preços diretamente no momento da solicitação, eliminando a necessidade de um cache intermediário que poderia divergir da fonte de verdade.

A nova arquitetura segue um padrão de passagem direta, onde uma única solicitação HTTP GET é enviada para buscar preços de até 30 SKUs simultaneamente. O AWS Lambda, então, distribui essas solicitações em paralelo para o motor de preços, permitindo que os dados sejam transmitidos imediatamente ao cliente assim que estão disponíveis, sem a necessidade de buffering.

Antes da implementação dessa solução, a Samsung enfrentava dois problemas principais: a explosão de permutações e o atraso de sincronização. A explosão de permutações ocorria porque o serviço de agregação de dados precisava pré-computar todas as combinações possíveis de produtos, o que resultava em um crescimento exponencial do cache e desperdício de recursos. Além disso, o atraso de sincronização significava que os preços antigos eram exibidos até que o trabalho cron, que atualizava os preços, fosse executado novamente.

A transição para a nova arquitetura de streaming exigiu a superação de desafios técnicos, como o comportamento da CDN e os tempos de inicialização a frio do Lambda. A Samsung implementou a solução em três etapas, começando pela criação de um manipulador de streaming que permitia a transmissão de dados em tempo real. Isso foi feito utilizando um manipulador Node.js que transformava e comprimia os dados antes de enviá-los ao cliente.

Outra inovação foi a compressão dos dados de solicitação em um formato de string de consulta densa, permitindo que informações complexas fossem enviadas em uma solicitação GET padrão. Isso não apenas melhorou a eficiência, mas também garantiu que as solicitações fossem cacheáveis pela CloudFront, aumentando a eficiência do sistema.

A configuração da CloudFront foi ajustada para permitir que essas solicitações complexas fossem armazenadas em cache de forma eficaz, garantindo que a maioria das solicitações fosse atendida rapidamente a partir de locais de borda, sem sobrecarregar o motor de preços. Essa abordagem resultou em uma taxa de acerto de cache de 95%, o que significa que apenas 1 em cada 20 solicitações realmente invocava a função Lambda.

Os resultados foram impressionantes. A latência, que antes era de 4.500 ms, foi reduzida para apenas 50 ms, permitindo que a Samsung atendesse milhões de solicitações durante eventos de pico sem comprometer a experiência do usuário. Essa melhoria não apenas aumentou a eficiência operacional, mas também restaurou a confiança dos consumidores, que agora podiam contar com preços precisos e atualizados.

Além das melhorias de latência, a nova arquitetura foi projetada para ser resiliente e escalável, lidando com falhas de forma graciosa e protegendo os dados em trânsito. A escolha de limitar a 30 itens por solicitação foi estratégica, evitando problemas de tempo limite durante períodos de alta latência e equilibrando as solicitações paralelas com os limites de concorrência do Lambda.

A implementação dessa arquitetura de streaming em tempo real não apenas resolveu os problemas de latência e precisão de preços, mas também posicionou a Samsung como um competidor mais forte no mercado de e-commerce. Com a capacidade de oferecer preços em tempo real, a empresa pode agora competir de forma mais eficaz contra rivais que já utilizavam soluções semelhantes.

Em resumo, a experiência da Samsung demonstra a importância de uma arquitetura de TI moderna e eficiente, especialmente em um ambiente de e-commerce de alta demanda. A adoção de tecnologias como AWS Lambda e CloudFront não apenas melhorou a operação interna, mas também teve um impacto direto na satisfação do cliente e na competitividade da marca.

Para executivos e profissionais de tecnologia, a história da Samsung serve como um estudo de caso sobre como a inovação tecnológica pode resolver problemas complexos e melhorar a experiência do cliente. A capacidade de adaptar-se rapidamente às necessidades do mercado e implementar soluções eficazes é fundamental para o sucesso em um cenário digital em constante evolução.

A transição para uma arquitetura de streaming em tempo real é um passo significativo para qualquer empresa que busca melhorar sua eficiência operacional e a experiência do cliente. A Samsung, ao enfrentar e superar seus desafios, não apenas melhorou sua plataforma de e-commerce, mas também estabeleceu um novo padrão para a indústria.