30
Daniel Braga dbraga@braspag.com.br Do legado à Black Friday 11 anos de evolução em engenharia e cultura na Braspag

QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Daniel [email protected]

Do legado à Black Friday11 anos de evolução em engenharia e cultura na Braspag

Page 2: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

O que é legado

Page 3: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Baixa manutenibilidade

Page 4: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Complicado

Page 5: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Documentação escassa

Page 6: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Métricas escassas

Page 7: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce
Page 8: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Ok, mas então porque o sistema nasce assim?

Page 9: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Concepção

Page 10: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Pois é, também foi assim conosco

Page 11: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2005-2012

98% de disponibilidade(em contrato)

Grande solução monolítica

Projetos sem padrão Sem testes automatizados

Deploy grande e manualIndicadores de performance

irregulares

Page 12: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2013: início de uma nova era

Page 13: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Reestruturação de projetos

CoreTEF Boleto

Crédito Débito

Sub-

acquirersMobile

Crédito

Débito

Boleto

Mobile

Sub-acquirers

TEF

Plataforma Ecommerce

Page 14: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce
Page 15: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Como garantir que vai continuar funcionando?

Page 16: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Formação de uma cultura de testes

Investimento em treinamentos

Prática

Tech Talks

Primeiros testes integrados

Page 17: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Real Time Logging

Logs: de arquivos texto para base de dados

Interface de consulta em tempo real

Request API Transacional

Base

Transacional

Base de

Logs

Async!Backoffice

Page 18: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2013-2014

Page 19: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Estratégia de Branches

Falta de sincronia com código

de produção

Código sincronizado durante

toda a iteração

Risco ao fazer ajustes

emergenciaisRedução significativa de riscos

Retrabalho Garantia do ongoing

Page 20: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Substituição gradual de código por tecnologias “Test Friendly”

Antes Depois

Jobs (vbs) Windows Services (.NET)

ASP Clássico ASP.NET MVC

Web Services SOAP API RESTful

Injeção de dependência

Testes de unidade

Métricas de código

Page 21: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Code Review

Code CompleteCoding Done Code Review

Review Comment

Review Complete

Page 22: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Automação de Build e Continuous Integration

Check In

Source

Control

Build Server

Build

Testes de unidade

Testes de integração

Análise estática de código

Coleta de métricas de

código

Validação de arquitetura

F

e

e

d

b

a

c

k

Developer

Page 23: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2015 – Redução de 93% do tempo máximo de indisponibilidade contratual

Page 24: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2015 – Redução de 85% no tempo de resposta

Page 25: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2015 – Monitoria da performance do negócio

Page 26: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2015 – Modelo de maturidade

Nível 100

Nível 200

Nível 300

Nível 400

Nível 500

Build &

Deploy

Código Fonte Metodologia Qualidade

Page 27: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

2015 – Métricas lean em tempo real

Page 28: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Lições aprendidas

Disciplina e trabalho em equipeIntegração com áreas de

negócios

Qualidade é/deveria ser

inegociável

Page 29: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Resumindo, como é hoje

1 deploy mensal 5 deploys semanais

Black Friday

Processamento do triplo de um

volume habitual

Release manual Release automatizada

100% de disponibilidade

Tempo de resposta estável

Page 30: QCon São Paulo 2020 - Do legado à Black Friday...O que é legado Baixa manutenibilidade Complicado Documentação escassa Métricas escassas Ok, mas então porque o sistema nasce

Obrigado!

Daniel Braga

[email protected]

https://www.facebook.com/braspagdevelopers