Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Daniel [email protected]
Do legado à Black Friday11 anos de evolução em engenharia e cultura na Braspag
O que é legado
Baixa manutenibilidade
Complicado
Documentação escassa
Métricas escassas
Ok, mas então porque o sistema nasce assim?
Concepção
Pois é, também foi assim conosco
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
2013: início de uma nova era
Reestruturação de projetos
CoreTEF Boleto
Crédito Débito
Sub-
acquirersMobile
Crédito
Débito
Boleto
Mobile
Sub-acquirers
TEF
Plataforma Ecommerce
Como garantir que vai continuar funcionando?
Formação de uma cultura de testes
Investimento em treinamentos
Prática
Tech Talks
Primeiros testes integrados
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
2013-2014
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
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
Code Review
Code CompleteCoding Done Code Review
Review Comment
Review Complete
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
2015 – Redução de 93% do tempo máximo de indisponibilidade contratual
2015 – Redução de 85% no tempo de resposta
2015 – Monitoria da performance do negócio
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
2015 – Métricas lean em tempo real
Lições aprendidas
Disciplina e trabalho em equipeIntegração com áreas de
negócios
Qualidade é/deveria ser
inegociável
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
Obrigado!
Daniel Braga
https://www.facebook.com/braspagdevelopers