Upload
andre-dias
View
3.406
Download
1
Embed Size (px)
DESCRIPTION
Palestra realizada no Azure Summit Brasil 2013, onde foram apresentadas as diferenças entre Continuous Delivery, Continuous Deployment e Continuous Integration, além de Patters e Anti-Patterns de Deployment e por fim foram realizadas algumas demonstrações de como implementar essas práticas utilizando Team Foundation Services com Azure e Hosted Build e GIT.
Citation preview
Continuous Delivery para Windows Azure usando Team Foundation Service
André DiasALM Ranger, ALM MVP, MCSD ALM
Agenda
Continuous Delivery com GIT e Azure
Continuous Delivery com Team Foundation Service e Azure
Conhecer alguns Patterns e Anti-Patterns de Deployment
Entender a diferença entre as práticas de Build e Deployment
Continuous
Deployment
Continuous
Delivery
Entendendo a diferença
Build Build Server
Continuous
Integration
Build Deployment
PráticasFerramentas
Developer Developer Developer IT Business
Entendendo a diferença
Build
Build
Ferramentas
Developer
• Compilação do Código• Transformação do código fonte
em binário• F5 do Visual Studio• Exemplos: MSBuild, NAnt, Ant
Entendendo a diferença
Build Server
Build
Ferramentas
Developer
• Servidor Dedicado para Build• Compilação do Código do Time• Independência de Pessoas e
Estações de Trabalho• Melhora o Gerenc. de
Dependências• Permite Agendamento de Builds• Sistema de Relatórios• Mecanismo de Eventos
Entendendo a diferença
Continuous
Integration
Build
Práticas
Developer
• Precisa de um Build Server• Disparo Automático de Build a
cada alteração de código• Foco em encontrar erros de
integração o mais cedo possível• Build Rápida e Auto Testável• Incentiva Commits Frequentes • Facilidade em obter os binários
uma
PAUSApara reflexão
Meu software está
Integrado, Compilado, Testado e
Sem Bugs Conhecidos
mas até entrar em produçãoseu Business Value = 0
Entendendo a diferença
Continuous
Deployment
Deployment
Práticas
IT
• Um passo além da CI• Evitar estoque de código• Foco em reduzir o “Cycle Time”• Cada commit implanta uma
nova build em produção• Pipeline 100% Automatizado• Requer diversos tipos de testes
e alto percentual de cobertura
outra
PAUSApara reflexão
Será que é isso mesmo que eu
quero?
Quantas versões do meu produto eu terei
que suportar?
Como que fica o plano de Marketing e
Treinamento alinhado com Entregas Frequentes?
Por outro lado, eu vou atender os Early
Adopters, Melhorar o Feedback e a
Implantação é 100% automatizada
Não dá pra colocar um controle nesse tal de
Continuous Deployment e eu
decido quando vai ou não para produção?
Continuous Delivery
O estado da arte
Entendendo a diferença
Continuous Delivery
Deployment
Práticas
Business
• É o Continuous Deployment alinhado com a Estratégia da Empresa
• Ambiente de produção a um clique de distância
• Confia na automação e na colaboração de todos os envolvidos (Dev, Tester, DBA, SysAdmins, Usuários, Stakeholders)
É isso!Quero Continuous
Delivery implantado na empresa até semana
que vem!
Lembre-se
Continuous Delivery é a etapa final de uma “Cadeia
Ágil”Se a base da cadeia não
estiver bem estabelecida, CD vai mais atrapalhar do
que ajudar.
CuriosidadeQuais dessas práticas
a Microsoft Utiliza?
Recomendações
Se dói, faça mais frequentemente
Mais importante que ter o processo de deployment
automatizado é ter o processo de Rollback
automatizado
Quer medir algo? Meça a entrega
“Working software is the primary measure of progress”, AgileManifesto
Patterns
Blue Green
Usuários Roteador
Blue Slice
Green Slice
Web Server
Blue Slice
Green Slice
App Server
Blue Slice
Green Slice
DB Server
Blue Green (Mesmo DB)
Usuários Roteador
Blue Slice
Green Slice
Web Server
Blue Slice
Green Slice
App Server
DB
DB Server
AntiPatterns
Implantar Software
Manualmente
Anti Patterns
Mais uma
PAUSApara reflexão
Todo programador quer aprender Design Patterns, TDD, BDD,
Arquitetura Emergente, Agilidade, etc.
Mas são raros os programadores que querem aprender técnicas de automação de build/deployment.
Ambientes Diferentes para
Desenvolvimento, Homologação e
Produção
Anti Patterns
Gerenciamento de Configuração Manual
Anti Patterns
Chega de teoria! Vamos ver as demos desse Continuous Delivery com Blue Green que implanta
sozinho e me deixa virar a chave quando eu quiser.
Ufa!!
DemoTeam Foundation Service +Hosted Build +Azure
DemoGIT + Azure
Contato – Q&A
André DiasCQO – Chief Quality OfficerBR Soluções [email protected]
@AndreDiasBRhttp://blog.andredias.net/