Arquiteturas Escaláveis: O exemplo da Spotify aplicado ao eCommerce Rafael Rocha 12/06/2015
Aug 09, 2015
● Paying subscribers: Over 15 million
● Active users: Over 60 million*
● Ratio of paying subscribers to active free users: Over 20%
● Revenue paid to rights holders since launch: $3bn
● Number of songs: Over 30 million
● Number of songs added per day: Over 20,000
● Number of playlists: Over 1.5 billion created so far
● Available in 58 markets – Andorra, Argentina, Austria, Australia, Belgium, Bolivia, Brazil,
Bulgaria, Canada, Chile, Colombia, Costa Rica, Cyprus, Czech Republic, Denmark, Dominican
Republic, Ecuador, El Salvador, Estonia, Finland, France, Germany, Greece, Guatemala,
Honduras, Hong Kong, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania,
Luxembourg, Malaysia, Malta, Mexico, Monaco, New Zealand, Netherlands, Nicaragua, Norway,
Panama, Paraguay, Peru, Philippines, Poland, Portugal, Singapore, Slovakia, Spain, Sweden,
Switzerland, Taiwan, Turkey, UK, Uruguay and USA.
Números da Spotify
1 - A experiência do usuário deve ser única
2 - O serviço nunca pode parar
4 - Deve estar preparado para crescer
5 - O conteúdo é fundamental
Spotify & eCommerce: Características comuns
→ performance
→ HA
→ escalabilidade
→ content delivery
- Performance
- HA
- Escalabilidade
- Content Delivery
Spotify & eCommerce: Características comuns
microserviços & tecnologias “quentes”
latência & tecnologias “quentes”
Microserviços & Tecnologias: eCommerce
Catálogo- Necessidade: disponibilizar informação e
conteúdo de forma rápida e atualizada.- Solução (Tecnologias escaláveis): Solr,
Node.js, Angular.js e Akamai
Carrinho de Compras- Necessidade: armazenar e recuperar
os itens de compra de forma rápida.- Solução (Tecnologias escaláveis):
Redis, Angular.js e Java (Restful Services)
Checkout- Necessidade: garantir de forma
segura a transação financeira e também a efetivação do pedido de compra..
- Solução (Tecnologias escaláveis): HTTPS, Backbone.JS, RabbitMQ, Java (Restful Services) e MySQL Cluster.
Perfil- Necessidade: disponibilizar
informações sobre os dados do clientes e seus pedidos.
- Solução (Tecnologias escaláveis): Angular.JS, Java (Restful Services) e MongoDB.
Segurança- Necessidade: garantir que os clientes
consigam se logar no site bem como trackear toda sua atividade.
- Solução (Tecnologias escaláveis): Java (Restful Services), RabbitMQ e Cassandra.
Latência & Tecnologias: Content Delivery no eCommerce
- Latência importa!!!
proximidade é fator de sucesso
- Use um CDN!!! mas qualidade do serviço é importante
- Use head files porque entregar rápido é preciso