Nesta solução, para alcançar um bom equilíbrio entre velocidade, simplicidade, controle de custos e precisão, usa-se o App Engine, Cloud SQL e o Apache Spark em execução. no App Engine usando o Dataproc.
O App Engine pode lidar com dezenas de milhares de consultas por segundo, sem grandes necessidades de gerenciamento. No App Engine, você pode escrever seu código e implantá-lo na produção em questão de segundos, seja criando o site ou salvando os dados em um armazenamento de back-end.
No Cloud SQL, a implantação também é simples. O Cloud SQL pode escalar máquinas virtuais de até 32 núcleos com até 208 GB de RAM, e pode aumentar o armazenamento sob demanda para 10 TB com 30 IOPS por GB e milhares de conexões simultâneas. Essas especificações são mais do que o suficiente para o exemplo desta solução e para um grande número de mecanismos de recomendação no mundo real. Há também a vantagem de que o Cloud SQL pode ser acessado diretamente por meio do Spark.
O desempenho do Spark é muito melhor do que o de uma configuração Hadoop típica. O Spark pode ser de dez a cem vezes mais rápido. Com o Spark MLlib, é possível analisar centenas de milhões de avaliações em minutos, o que aumenta a agilidade das recomendações e faz com que o administrador possa executar o algoritmo com mais frequência. A memória é aproveitada o máximo possível na computação reduzindo as idas e voltas ao disco. Essa solução tenta minimizar a E/S E usa o Compute Engine para hospedar a infraestrutura de análise. O preço por minuto e sob demanda do Compute Engine ajuda a manter o preço da análise o mais baixo possível.
No diagrama a seguir, mapeia-se o diagrama de arquitetura anterior, mas com a exibição da tecnologia usada em cada passo: