[qconsp] estrangulando o legado na soundcloud

89
Estrangulando o Legado

Upload: flavio-brasil

Post on 28-Jul-2015

120 views

Category:

Software


1 download

TRANSCRIPT

Page 1: [QConSP] Estrangulando o Legado na SoundCloud

Estrangulando o Legado

Page 2: [QConSP] Estrangulando o Legado na SoundCloud

@flaviowbrasil

Aficionado por open source !

Expert em escalabilidade !

Mestre Jedi Scala !

Prefere + uma sessão de profiling do que uma tarde na praia

Page 3: [QConSP] Estrangulando o Legado na SoundCloud

A Nuvem de Som12 horas de novo conteúdo/minuto 350 milhões de usuários/mês 12 milhões de horas ouvidas/mês 1 usuário no espaço

Page 4: [QConSP] Estrangulando o Legado na SoundCloud
Page 5: [QConSP] Estrangulando o Legado na SoundCloud
Page 6: [QConSP] Estrangulando o Legado na SoundCloud
Page 7: [QConSP] Estrangulando o Legado na SoundCloud
Page 8: [QConSP] Estrangulando o Legado na SoundCloud
Page 9: [QConSP] Estrangulando o Legado na SoundCloud

Microservicos

Page 10: [QConSP] Estrangulando o Legado na SoundCloud

“A morte é pacífica. A transição que é problemática.

Page 11: [QConSP] Estrangulando o Legado na SoundCloud

Entropia

Page 12: [QConSP] Estrangulando o Legado na SoundCloud

número de microestados acessíveis

Page 13: [QConSP] Estrangulando o Legado na SoundCloud
Page 14: [QConSP] Estrangulando o Legado na SoundCloud
Page 15: [QConSP] Estrangulando o Legado na SoundCloud
Page 16: [QConSP] Estrangulando o Legado na SoundCloud

Lute contra a Entropia

Page 17: [QConSP] Estrangulando o Legado na SoundCloud
Page 18: [QConSP] Estrangulando o Legado na SoundCloud
Page 19: [QConSP] Estrangulando o Legado na SoundCloud
Page 20: [QConSP] Estrangulando o Legado na SoundCloud
Page 21: [QConSP] Estrangulando o Legado na SoundCloud
Page 22: [QConSP] Estrangulando o Legado na SoundCloud
Page 23: [QConSP] Estrangulando o Legado na SoundCloud
Page 24: [QConSP] Estrangulando o Legado na SoundCloud

Monitore a Entropia

Page 25: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodo

Page 26: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Page 27: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Complexidade de código

Page 28: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Complexidade de códigoAnálise estática

Page 29: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Complexidade de códigoAnálise estática

User happiness

Page 30: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Complexidade de códigoAnálise estática

User happinessDev happiness

Page 31: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Complexidade de códigoAnálise estática

User happinessDev happiness

Tempo de dev

Page 32: [QConSP] Estrangulando o Legado na SoundCloud

Bugs por periodoBugs por release

Complexidade de códigoAnálise estática

User happinessDev happiness

Tempo de devTime to market

Page 33: [QConSP] Estrangulando o Legado na SoundCloud

Reconstrua o passado

Page 34: [QConSP] Estrangulando o Legado na SoundCloud

Projete o futuro

Page 35: [QConSP] Estrangulando o Legado na SoundCloud
Page 36: [QConSP] Estrangulando o Legado na SoundCloud
Page 37: [QConSP] Estrangulando o Legado na SoundCloud

Big bang rewrite?

Page 38: [QConSP] Estrangulando o Legado na SoundCloud

Cenário feliz

Page 39: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Desenvolvimento

Page 40: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Implantação

Page 41: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Implantação

Page 42: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-22.5

0

22.5

45

67.5

90

Legado Novo sistema

Vida nova

Page 43: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-22.5

0

22.5

45

67.5

90

Legado Novo sistema

Vida nova

Page 44: [QConSP] Estrangulando o Legado na SoundCloud

Cenário infeliz

Page 45: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Desenvolvimento

Page 46: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Implantação

Page 47: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Implantação

Page 48: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Estabilização

Page 49: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

-20

-15

-10

-5

0

5

10

15

20

Legado Novo sistema

Estabilização

Page 50: [QConSP] Estrangulando o Legado na SoundCloud

Strangler Application

Page 51: [QConSP] Estrangulando o Legado na SoundCloud
Page 52: [QConSP] Estrangulando o Legado na SoundCloud
Page 53: [QConSP] Estrangulando o Legado na SoundCloud
Page 54: [QConSP] Estrangulando o Legado na SoundCloud
Page 55: [QConSP] Estrangulando o Legado na SoundCloud

Previsão Orçamentária

Consumo

Rateio

Despesas

Receitas

Impostos

Pagamentos

Faturamento

Contas a Pagar

Cobrança

Fluxo de Caixa

Contas a Receber

Prestação de contas

Page 56: [QConSP] Estrangulando o Legado na SoundCloud

Previsão Orçamentária

Consumo

Rateio

Despesas

Receitas

Impostos

Pagamentos

Faturamento

Contas a Pagar

Cobrança

Fluxo de Caixa

Contas a Receber

Prestação de contas

Page 57: [QConSP] Estrangulando o Legado na SoundCloud

Previsão Orçamentária

Consumo

Rateio

Despesas

Receitas

Impostos

Pagamentos

Faturamento

Contas a Pagar

Cobrança

Fluxo de Caixa

Contas a Receber

Prestação de contas

Page 58: [QConSP] Estrangulando o Legado na SoundCloud

Previsão Orçamentária

Consumo

Rateio

Despesas

Receitas

Impostos

Pagamentos

Faturamento

Contas a Pagar

Cobrança

Fluxo de Caixa

Contas a Receber

Prestação de contas

Page 59: [QConSP] Estrangulando o Legado na SoundCloud

Previsão Orçamentária

Consumo

Rateio

Despesas

Receitas

Impostos

Pagamentos

Faturamento

Contas a Pagar

Cobrança

Fluxo de Caixa

Contas a Receber

Prestação de contas

Page 60: [QConSP] Estrangulando o Legado na SoundCloud

Previsão Orçamentária

Consumo

Rateio

Despesas

Receitas

Impostos

Pagamentos

Faturamento

Contas a Pagar

Cobrança

Fluxo de Caixa

Contas a Receber

Prestação de contas

Page 61: [QConSP] Estrangulando o Legado na SoundCloud

Bus

ines

s V

alue

0

7.5

15

22.5

30

Legado Novo sistema

Strangler

Page 62: [QConSP] Estrangulando o Legado na SoundCloud

Strangler Application

Page 63: [QConSP] Estrangulando o Legado na SoundCloud
Page 64: [QConSP] Estrangulando o Legado na SoundCloud
Page 65: [QConSP] Estrangulando o Legado na SoundCloud
Page 66: [QConSP] Estrangulando o Legado na SoundCloud

“qualquer problema

adicionando um nível de indireção”

Page 67: [QConSP] Estrangulando o Legado na SoundCloud
Page 68: [QConSP] Estrangulando o Legado na SoundCloud
Page 69: [QConSP] Estrangulando o Legado na SoundCloud
Page 70: [QConSP] Estrangulando o Legado na SoundCloud

TimelineURLs

Follows

Page 71: [QConSP] Estrangulando o Legado na SoundCloud

TimelineURLs

Follows

Page 72: [QConSP] Estrangulando o Legado na SoundCloud

TimelineURLs

Follows

Caching

Page 73: [QConSP] Estrangulando o Legado na SoundCloud

Validando o strangler

Page 74: [QConSP] Estrangulando o Legado na SoundCloud

Traffic replay

Page 75: [QConSP] Estrangulando o Legado na SoundCloud

Prod

Page 76: [QConSP] Estrangulando o Legado na SoundCloud

Prod

Page 77: [QConSP] Estrangulando o Legado na SoundCloud

Prod

Page 78: [QConSP] Estrangulando o Legado na SoundCloud

Local

Prod

Page 79: [QConSP] Estrangulando o Legado na SoundCloud

Staging

Prod

Page 80: [QConSP] Estrangulando o Legado na SoundCloud
Page 81: [QConSP] Estrangulando o Legado na SoundCloud

Implantações parciais

Page 82: [QConSP] Estrangulando o Legado na SoundCloud
Page 83: [QConSP] Estrangulando o Legado na SoundCloud

Conclusões

Page 84: [QConSP] Estrangulando o Legado na SoundCloud

“qualquer problema

adicionando um nível de indireção”

Page 85: [QConSP] Estrangulando o Legado na SoundCloud

“… com exceção dos problemas criados pelas indireções."

Page 86: [QConSP] Estrangulando o Legado na SoundCloud

TimelineURLs

Follows

Caching

Page 87: [QConSP] Estrangulando o Legado na SoundCloud

Solução temporária

Page 88: [QConSP] Estrangulando o Legado na SoundCloud

Solução temporária

Transição planejada

Page 89: [QConSP] Estrangulando o Legado na SoundCloud