A ASOS, com sede em Londres, é uma varejista de moda online com a missão de ser o destino fashion número um para pessoas na faixa dos 20 anos. Para apoiar sua oferta digital, a ASOS usa o Microsoft Azure Cosmos DB, um banco de dados escalável e gerenciável que possibilita inovações, como recomendações de produtos em tempo real e atualizações de pedidos instantâneos para 15,4 milhões de clientes.
Em 2016, a ASOS decidiu migrar para uma arquitetura de microsserviços com o Microsoft Azure. Os benefícios foram claros: maior capacidade para escalar, mais velocidade de inovação e habilidade para incorporar rapidamente novos modelos de engajamento de clientes.
Como parte dessa transição, a empresa decidiu usar o Microsoft Azure Cosmos DB para fornecer uma experiência de compra mais personalizada e agilizar atualizações de ordem de compra durante os dias mais movimentados do ano.
“Estes sapatos ficariam ótimos com essa bolsa.”
Como a ASOS oferece uma seleção ampla – 85 mil itens, com cinco mil novos itens adicionados a cada semana –, está criando uma plataforma de recomendações para ajudar seus mais de 15 milhões de clientes a descobrir os novos produtos. A empresa usa o Azure Cosmos DB em vários microsserviços, incluindo armazenamento de dados de baixa latência para tarefas como armazenar e recuperar perfis de usuários pré-calculados e modelos de aprendizagem de máquina de produtos para gerar recomendações em tempo real. Também usa o Microsoft Azure SQL Database para armazenar dados de clientes relacionais.
“Escolhemos o Azure Cosmos DB devido à sua distribuição global e habilidade para lidar com grandes explosões sazonais, como a Black Friday”, diz Bob Strudwick, diretor de tecnologia da ASOS. “Podemos distribuir nossos modelos de dados para estar perto dos microsserviços que estão servindo, onde quer que eles estejam no mundo.”
Usando o Azure Cosmos DB, a ASOS pode analisar um conjunto de dados de determinado produto e fazer uma recomendação relevante em milissegundos. “Com o Azure Cosmos DB, podemos fornecer uma experiência de descoberta e compra para nossos clientes ao mesmo tempo em que liberamos nossos designers de software e engenheiros para se concentrarem na criação de vantagem competitiva em vez de cuidar da infraestrutura do servidor.”
A plataforma de recomendações da ASOS (Figura 1) está programada para entrar em produção neste final de 2017. É baseada na arquitetura popular lambda e é dividida em um mecanismo de recomendações offline e um serviço de recomendações on-line. A plataforma suporta o treinamento offline e a pontuação de uma variedade de modelos de aprendizagem de máquina. Esses são usados para o cálculo em tempo real da relevância do produto e a probabilidade de visualização de um cliente, economia, adição a um carrinho e, finalmente, compra de um produto.
O mecanismo de recomendações offline é usado para processar a telemetria do usuário em lotes, para criar vários modelos de aprendizagem de máquina que serão hospedados pelo serviço de recomendações on-line. A telemetria de interação do usuário é armazenada no Azure Data Lake Store para armazenamento a longo prazo. As versões concorrentes dos modelos de vetores de usuário e produto são geradas usando a biblioteca de aprendizagem de máquina Apache Spark MLlib no Azure HDInsight com o Python LightFM e TensorFlow. Esses são carregados em massa pelo Azure Data Factory no Azure Cosmos DB.
O serviço de recomendações online é onde a magia acontece. As recomendações dos produtos devem ser geradas em tempo real à medida que os usuários navegam nas listas de produtos, com baixa latência de ponta a ponta para garantir um período de carregamento rápido. O serviço de recomendações online deve ser capaz de dimensionar elasticamente o rendimento e manter a alta disponibilidade para lidar com altos períodos de compras.
Essa carga de trabalho é um encaixe natural para tecnologias nascidas em nuvem, como Azure Cosmos DB e Azure Service Fabric. O mecanismo de decisão de computação e personalização está hospedado no Service Fabric, com o perfil de usuário pré-computado e os dados vetoriais do produto armazenados no Azure Cosmos DB para garantir baixa latência e leituras de acesso aleatório em milissegundos.
“Seu pedido acaba de ser enviado.”
A ASOS também usa o Azure Cosmos DB para processar milhões de pedidos na Black Friday e na Cyber Monday. Em 2016, a Azure atendeu 167 milhões de solicitações de clientes da ASOS nas 24 horas da Black Friday, com 3.500 pedidos e 33 ordens por segundo com um tempo médio de resposta de 48 milissegundos.
A empresa usa a funcionalidade “feed de mudanças” do Azure Cosmos DB para carregar os fluxos de pedidos todos os dias, mas ela é especialmente valiosa durante os dias com maior volume de compras. O Azure Cosmos DB mantém a comunicação entre os microsserviços de eventos que manipulam vários estágios do fluxo da ordem, como uma loja de eventos, para que os clientes possam acompanhar facilmente suas ordens. O feed de mudanças fornece aos microsserviços de downstream a capacidade de ler de forma confiável as atualizações de pedidos feitas no banco de dados do Azure Cosmos DB.
Além disso, a ASOS usou o Azure Cosmos DB para criar um processo de retorno on-line fácil de usar. Os clientes podem solicitar um retorno on-line, baixar o rótulo de retorno e obter reembolso seguindo apenas algumas etapas simples. Ao usar o Azure Cosmos DB em várias regiões geográficas, a ASOS pode lidar com pedidos de retorno com latência de rede muito baixa e proporcionar uma experiência suave para os compradores.
A empresa em breve executará seus processos de atualização e devolução de pedidos como Azure Functions sem servidor, o que aumentará a produtividade do desenvolvedor, eliminando a necessidade de fornecer, manter e gerenciar servidores.