SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Copyright 2018,Alexandre Freire Kawakami, Industrial Logic, Inc. e Nubank
All Rights Reserved.
Deploy Contínuo de
Software Legado:
Loucura ou
Genialidade?
Uma história de Programação eXtrema
#1e5d91
alex@nu.bank
@freire_da_silva
• Diretor de Engenharia @Nubank
• Na onda Ágil desde 2001, últimos 7
anos trabalhando @IndustrialLogic na
Califórnia
• Mestrado: “Reflexões sobre o Ensino
de Metodologias Ágeis na Academia,
Indústria e Governo”
• Décadas de experiência e sucessos com
empresas renomadas pelo mundo!!
• Gosto de surfar e construir casas
Software Legado?
alex@nu.bank
@freire_da_silva
Deploy Contínuo:
deploy pra produção,
automático,
sem risco,
várias vezes por dia
#1e5d91
Continuous
Deployment
(CD)
Continuous
Delivery (CD)
Continuous
Integration (CI)
Testes
Automatizados
O Caminho pro
Deploy Contínuo
Cultura DevOps
#1e5d91
InfoSec
Cultura DevOps
DEV QA
OPS
💰
alex@nu.bank
@freire_da_silva
#1e5d91
Testes Automatizados
alex@nu.bank
@freire_da_silva
#ProTip: Micro-testes
alex@nu.bank
@freire_da_silva
Engineering
Productivity
@Nubank
Pesquisa: o que está doendo?
~200 engenheirxs respondem
Productivity Issues Survey #1
alex@nu.bank
@freire_da_silva
Cycle Time Optimization
Cycle Time: The amount of time a commit takes
since it is merged to master until it reaches staging
alex@nu.bank
@freire_da_silva
Saindo do e2e no
NuBank
Semana
min.
Frequência de Deploys
Semana
deploys
Integrar e fazer o build do sistema muitas vezes por dia,
toda vez que uma tarefa for completada.
— Kent Beck, Extreme Programming Explained
Integração Contínua (CI)
#1e5d91
#Protip: No Master!
#1e5d91
Continuous Delivery(CD)
#1e5d91
#1e5d91
Qual a diferença?
alex@nu.bank
@freire_da_silva
#1e5d91
Deploy Contínuo
#1e5d91
#FAIL
#1e5d91
ZERO Downtime
Para ter Zero Downtime use um
Proxy Reverso, trocando o ambiente ativo
do Green pro Blue depois de um deploy
no Green, e vice-versa.
Deploy Troca
alex@nu.bank
@freire_da_silva
CD de Software Legado?
U
C
R
A
Z
Y
Desses "pré-
requisitos" só 1
é estritamente
necessário!
#1e5d91
ZERO Downtime
Se você conseguir fazer deploy com
Zero Downtime você pode avançar
com confiança, mesmo sem uma Cultura
DevOps, Testes Automatizados, CI ou um
pipeline de deploy automático.
Deploy Switch
Bring the PAIN
forward! alex@nu.bank
@freire_da_silva
💡Comece
fazendo o deploy
da mesma versão,
repita alex@nu.bank
@freire_da_silva
MS IIS
Registro de Domínios
@Locaweb
DB MS Access
LibFichao_2.asp
________
________
________
________
________
________
________
~6K loc
Verisign
.com <SOAP>
.br <.exe>
registro.br
.org <http>
eNon
registro_tools
________
________
#1e5d91
Precisamos Re-escrever!
• Mas em Ruby
• Usando Ruby on Rails
• Com DB PostgreSQL
• E aVerisign acabou de nos avisar que está
matando a API SOAP, daqui a 6 meses
somente a nova API REST vai funcionar!
alex@nu.bank
@freire_da_silva
Como você sai do legado?
alex@nu.bank
@freire_da_silva
#1e5d91
🚫
#1e5d91
alex@nu.bank
@freire_da_silva
#1e5d91
Qual é o primeiro passo?
alex@nu.bank
@freire_da_silva
#1e5d91
🚫
#1e5d91
Oque esse sistema faz?
• Reserva domínios
• Registra domínios
• Renova registros de domínios
• Transfere registros
• Deleta registros
• 3 vezes, um pra cada Registar externo
• Mantém uma interface comun interna
#1e5d91
alex@nu.bank
@freire_da_silva
MS IIS
DB MS Access
LibFichao_2.asp
________
________
________
________
________
________
________
~6K loc
Verisign
.com <SOAP>
.br <.exe>
registro.br
.org <http>
eNon
MS IIS
DB MS Access
LibFichao_2.asp
________
________
________
________
________
________
________
~6K loc
⏰
MS IIS
DB MS Access
LibFichao_2.asp
________
________
________
________
________
________
________
~6K loc
Verisign
.com <SOAP>
.br <.exe>
registro.br
.org <http>
eNon
Não podemos operar
eficientemente aqui!!!
#1e5d91
Camada Anti-Corrupção
alex@nu.bank
@freire_da_silva
#1e5d91
MS IIS
LibFichao_2.asp
________
________
________
________
________
________
________
~6K loc
registro.asp
________________
DB MS Access
Camada Anti-Corrupção
#1e5d91
Envolva o Suporte
alex@nu.bank
@freire_da_silva
#1e5d91
Proxy
registro.asp
________________
if(Application(“verisign.delete.migrated”)
REST
Ruby
on
Rails
Verisign
REST
DB PostgreSQL
Loucura ou
Genialidade?
alex@nu.bank
@freire_da_silva
#1e5d91
alex@nu.bank
@freire_da_silva
#1e5d91
ITIL®e a
Change Management Board
E depois?
alex@nu.bank
@freire_da_silva
Mas conseguimos
mudar a Cultura?
X9 e a 

última CHG
#1e5d91
Nem loucura nem
genialidade:
Deploy Contínuo é mais
simples do que você
imagina.
Você pode começar sem
ser perfeito. 🤗 alex@nu.bank
@freire_da_silva

Weitere ähnliche Inhalte

Mehr von alexandre freire

Tech Safety - um caminho inesperado à excelência
Tech Safety - um caminho inesperado à excelênciaTech Safety - um caminho inesperado à excelência
Tech Safety - um caminho inesperado à excelênciaalexandre freire
 
What NOT to test in your project
What NOT to test in your projectWhat NOT to test in your project
What NOT to test in your projectalexandre freire
 
Como não testar seu projeto de software
Como não testar seu projeto de softwareComo não testar seu projeto de software
Como não testar seu projeto de softwarealexandre freire
 
Ágil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira ÁgilÁgil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira Ágilalexandre freire
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadoresalexandre freire
 
surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle alexandre freire
 
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...alexandre freire
 
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011alexandre freire
 

Mehr von alexandre freire (10)

Agile #FAIL QCon 2013
Agile #FAIL QCon 2013Agile #FAIL QCon 2013
Agile #FAIL QCon 2013
 
Tech Safety - um caminho inesperado à excelência
Tech Safety - um caminho inesperado à excelênciaTech Safety - um caminho inesperado à excelência
Tech Safety - um caminho inesperado à excelência
 
What NOT to test in your project
What NOT to test in your projectWhat NOT to test in your project
What NOT to test in your project
 
Como não testar seu projeto de software
Como não testar seu projeto de softwareComo não testar seu projeto de software
Como não testar seu projeto de software
 
Divida tecnica
Divida tecnicaDivida tecnica
Divida tecnica
 
Ágil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira ÁgilÁgil x Lean Startup no Caipira Ágil
Ágil x Lean Startup no Caipira Ágil
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
 
surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle surge con 2011 lightning talk - closed loop server lifecycle
surge con 2011 lightning talk - closed loop server lifecycle
 
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
 
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
COWBLAM! - a sua metodologia é a melhor. Agile Brasil 2011
 

Kürzlich hochgeladen

FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxFASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxhefifo4687
 
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...xokece8239
 
A demanda urbana de água corresponde à quantidade total de água necessária pa...
A demanda urbana de água corresponde à quantidade total de água necessária pa...A demanda urbana de água corresponde à quantidade total de água necessária pa...
A demanda urbana de água corresponde à quantidade total de água necessária pa...selevac133
 
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...migorof964
 
Quando se trata de inteligência emocional, encontramos inúmeras definições na...
Quando se trata de inteligência emocional, encontramos inúmeras definições na...Quando se trata de inteligência emocional, encontramos inúmeras definições na...
Quando se trata de inteligência emocional, encontramos inúmeras definições na...migorof964
 
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...migorof964
 
A política é tratada como ciência, isto é, um campo específico do conheciment...
A política é tratada como ciência, isto é, um campo específico do conheciment...A política é tratada como ciência, isto é, um campo específico do conheciment...
A política é tratada como ciência, isto é, um campo específico do conheciment...selevac133
 
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...selevac133
 
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxFASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxmigorof964
 
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...selevac133
 
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...renodi5734
 
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...renodi5734
 
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxFASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxrenodi5734
 
Gerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdf
Gerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdfGerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdf
Gerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdfLeonardo Martins
 
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...selevac133
 
ATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docx
ATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docxATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docx
ATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docxselevac133
 
AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024
AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024
AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024AssessoriaAcademica9
 

Kürzlich hochgeladen (17)

FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxFASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
 
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
 
A demanda urbana de água corresponde à quantidade total de água necessária pa...
A demanda urbana de água corresponde à quantidade total de água necessária pa...A demanda urbana de água corresponde à quantidade total de água necessária pa...
A demanda urbana de água corresponde à quantidade total de água necessária pa...
 
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
 
Quando se trata de inteligência emocional, encontramos inúmeras definições na...
Quando se trata de inteligência emocional, encontramos inúmeras definições na...Quando se trata de inteligência emocional, encontramos inúmeras definições na...
Quando se trata de inteligência emocional, encontramos inúmeras definições na...
 
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
 
A política é tratada como ciência, isto é, um campo específico do conheciment...
A política é tratada como ciência, isto é, um campo específico do conheciment...A política é tratada como ciência, isto é, um campo específico do conheciment...
A política é tratada como ciência, isto é, um campo específico do conheciment...
 
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INOVAÇÃO E PENSAMENTO CRIATI...
 
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxFASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
 
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
Com base na imagem apresentada e em seus conhecimentos sobre a implementação ...
 
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
O horário político obrigatório suscitou inúmeros questionamentos em D. Matild...
 
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
Na unidade I, Valenciano (2024) cita três lições para a melhor compreensão da...
 
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docxFASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
FASE A1 de 2024 - Logica de Programacao e Algoritmos.docx
 
Gerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdf
Gerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdfGerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdf
Gerenciando_pequenos_projetos_com_Notion_Leonardo_Martins_AgileTrends2024.pdf
 
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...
ATIVIDADE 1 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INTELIGÊNCIA EMOCIONAL - 512...
 
ATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docx
ATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docxATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docx
ATIVIDADE 1 FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA I.docx
 
AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024
AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024
AE02 - TEORIAS DA ADMINISTRACAO UNICESUMAR 51/2024
 

Continuous deployment de Software Legado: Crazy or Genius? TDC POA 2018