[qconsp] estrangulando o legado na soundcloud
TRANSCRIPT
Estrangulando o Legado
@flaviowbrasil
Aficionado por open source !
Expert em escalabilidade !
Mestre Jedi Scala !
Prefere + uma sessão de profiling do que uma tarde na praia
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
Microservicos
–
“A morte é pacífica. A transição que é problemática.
Entropia
número de microestados acessíveis
Lute contra a Entropia
Monitore a Entropia
Bugs por periodo
Bugs por periodoBugs por release
Bugs por periodoBugs por release
Complexidade de código
Bugs por periodoBugs por release
Complexidade de códigoAnálise estática
Bugs por periodoBugs por release
Complexidade de códigoAnálise estática
User happiness
Bugs por periodoBugs por release
Complexidade de códigoAnálise estática
User happinessDev happiness
Bugs por periodoBugs por release
Complexidade de códigoAnálise estática
User happinessDev happiness
Tempo de dev
Bugs por periodoBugs por release
Complexidade de códigoAnálise estática
User happinessDev happiness
Tempo de devTime to market
Reconstrua o passado
Projete o futuro
Big bang rewrite?
Cenário feliz
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Desenvolvimento
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Implantação
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Implantação
Bus
ines
s V
alue
-22.5
0
22.5
45
67.5
90
Legado Novo sistema
Vida nova
Bus
ines
s V
alue
-22.5
0
22.5
45
67.5
90
Legado Novo sistema
Vida nova
Cenário infeliz
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Desenvolvimento
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Implantação
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Implantação
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Estabilização
Bus
ines
s V
alue
-20
-15
-10
-5
0
5
10
15
20
Legado Novo sistema
Estabilização
Strangler Application
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
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
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
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
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
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
Bus
ines
s V
alue
0
7.5
15
22.5
30
Legado Novo sistema
Strangler
Strangler Application
“qualquer problema
adicionando um nível de indireção”
TimelineURLs
Follows
TimelineURLs
Follows
TimelineURLs
Follows
Caching
Validando o strangler
Traffic replay
Prod
Prod
Prod
Local
Prod
Staging
Prod
Implantações parciais
Conclusões
“qualquer problema
adicionando um nível de indireção”
“… com exceção dos problemas criados pelas indireções."
TimelineURLs
Follows
Caching
Solução temporária
Solução temporária
Transição planejada