smoke tests, deployment e rollback automatizados (devops summit brasil 2016)
TRANSCRIPT
SMOKE TESTS, DEPLOYMENT E ROLLBACK AUTOMATIZADOS
Igor Abade V. LeiteLambda3Microsoft MVP, Visual Studio ALMProfessional Scrum Trainer
TRILHA | TÉCNICA
@igorabade#devopsbr16
DILEMAS DO DIA-A-DIA DE UM TIME DE DESENVOLVIMENTO...
O “DIA DA RELEASE”Todo mundo morre de medoImplantação é quase uma cerimônia religiosa
Raramente funciona de primeiraVários ajustes “a quente” durante a implantação
CONFLITOS ENTRE DEV, OPS, E NEGÓCIOS
Você está tirando os servidores do ar com esses deploys todos em produção… E nas minhas costas!
NEGÓCIOS
Estou tentando entregar software o mais rápido possível para atender o cliente. E você está atrapalhando!
“Dev, eu preciso de mais cinco funcionalidades até o fim da semana que vem.”
“Infra, você está fazendo a gente perder dinheiro com todo esse tempo fora do ar!”
DEVOPS
EXCESSO DE BUROCRACIA
Implantações são carasProcesso demorado e sujeito a erros“Janelas de implantação”
Perdas de janela são inaceitáveisQualidade de código é a primeira coisa que cai
VAMOS AUTOMATIZAR!
DEV HMGTST PRDTFS
FLUXO AUTOMATIZADO
ReleaseManagement
SMOKE TEST!
DEMO: WEB TEST & LOAD TEST
WEB TEST• Recurso do Visual Studio Ultimate
Enterprise
• Automação de testes baseada em requisições HTTP• Ultra-rápido• Não depende de browser• Melhor que Selenium e CodedUI para
este tipo de uso
• Gravador de testes simplifica criação
• Perfeito para Smoke Tests
DEMO: DEPLOYMENT SLOT
DEPLOYMENT SLOT• Recurso do Azure Web Site App
• Facilita a publicação e rollback rápidos• Slots que podem ser trocados
(“swapped”) a quente• Não sobrescrevem a publicação anterior
• Possível “emular” comportamento no IIS• Sites diferentes• Binding com hostnames• Troca de bindings via scripts para “swap”
DEMO: RELEASE MANAGEMENT
RELEASE MANAGEMENT• Contém a lógica de deployment e rollback
• Copia os bits
• Roda os testes Web
• Faz o rollback (“undo swap”) via PowerShell
• Permite um processo realmente automatizado
DÚVIDAS?
#devopsbr16