TDC2016SP - Escalando de 0 à 1 bilhão de requests

24
Escalando de 0 a 1 bilhão de requests Roger Mattos - Co-fundador e CTO

Transcript of TDC2016SP - Escalando de 0 à 1 bilhão de requests

Page 1: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Escalando de 0 a 1 bilhão de requests

Roger Mattos - Co-fundador e CTO

Page 2: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Quem são os seus consumidores e quais são seus interesses?

Page 3: TDC2016SP - Escalando de 0 à 1 bilhão de requests

E-Commerce database

1

1

1

Automação de campanhas personalizadas

Page 4: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Oi, Regina. Olha só que demais este produto.

Page 5: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Mindset Lean

Page 6: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Arquitetura de Infraestrutura

Page 7: TDC2016SP - Escalando de 0 à 1 bilhão de requests

1 - Approach

Page 8: TDC2016SP - Escalando de 0 à 1 bilhão de requests

2 - Approach

Page 9: TDC2016SP - Escalando de 0 à 1 bilhão de requests

3 - Approach

Page 10: TDC2016SP - Escalando de 0 à 1 bilhão de requests

4 - Approach

Page 11: TDC2016SP - Escalando de 0 à 1 bilhão de requests

5 - Approach

Page 12: TDC2016SP - Escalando de 0 à 1 bilhão de requests

6 - Approach

Page 13: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Arquitetura de Software

Page 14: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Arquitetura API Rest

Page 15: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Arquitetura API Rest

REST Resources

Command

Data

Domain

Infrastructure

Injection (DI)

Service

Core

Read Write

Mongo MySQL

Frameworks usados

● ServiceStack● Funq● AutoMapper● Dapper● NLog● EnyimMemcached● Elmah

Page 16: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Arquitetura Batch Processing

Page 17: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Data

Domain

Infrastructure

Service

Core

Read Write

Mongo MySQL

Frameworks usados

● AutoMapper● AutoFac● Dapper● NLog● Json.NET● NEST● Elasticsearch.Net

FB Notification Push Mail

Messaging

Producers Consumers

Logs Index Consolidate

Jobs

Consumers

Arquitetura Batch Processing

Page 18: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Social Miner Nuget Server

Gerenciamento de Pacotes

Applications Jobs

JFrog Artifactory

Nuget.org

Jarvis 1.0Dapper 1.4

Jarvis 1.2Dapper 1.5

Page 19: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Nosso volume atual

~1bi Reqs por mês na API

~25k Usuários simultâneos por minuto

~360mi Pageviews mês

~70k Reqs por minuto no cluster de cache

~1.2bi Reqs por mês na CDN

~7k Logs de comportamento por minuto

~340mi Logs de comportamento total

~140mi Mensagens trafegadas por mês

Page 20: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Automatização e Monitoramento

Integração Continua

Deploy Automático

Testes (Unitários, Integrados e Aceitação)

Shame Build

Page 21: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Automatização e Monitoramento

Dashboards (ES + Logstash + Grafana)

Logs (Errors e Aplicação)

Page 22: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Microservices Apache Spark Lambda architecture

Compliance

Ainda estamos aprendendo (Visão de futuro)

ASP.NET Core.NET Core

Page 23: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Lean Thinking (Build - Measure - Learn)

Say NOT to BDUF (Big Design Up Front)

Conclusões finais

Make it Work then Make it Better

Cloud Services programs for Startups

Page 24: TDC2016SP - Escalando de 0 à 1 bilhão de requests

Roger MattosCo-fundador e CTO

Obrigado!

[email protected]

@roger_mattos

linkedin.com/in/rmattos

github.com/rmattos

Seja um Miner

99jobs.com/social-miner/jobs