arquiteturas escaláveis o exemplo da spotify aplicado ao e commerce

12
Arquiteturas Escaláveis: O exemplo da Spotify aplicado ao eCommerce Rafael Rocha 12/06/2015

Upload: rafael-rocha

Post on 09-Aug-2015

334 views

Category:

Technology


0 download

TRANSCRIPT

Arquiteturas Escaláveis: O exemplo da Spotify aplicado ao eCommerce

Rafael Rocha12/06/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: Spotify

Microserviços & Tecnologias: eCommerce

“Necessidades específicas requerem soluções específicas”

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

Latência & Tecnologias: eCommerce

HAMultiSite

ReplicaçãoHigh IO

FuturesStreamsLambdas

THANKS FOR

BEINGHERE!