DEPLOYMENT ALÉM
DO TRIVIAL COM
RELEASE
MANAGEMENT E
POWERSHELL DSC
Vinícius Hana
Lambda3
Microsoft MVP – VS
ALM
PALESTRANTE
Consultor de ALM, arquitetura e desenvolvimento de
software na Lambda3
Microsoft MVP em Visual Studio ALM
O DEPLOYMENT DE
HOJE EM DIA
Como é feito e quais
seus problemas
MAJORITARIAMENTE
MANUAL
Mesmo se baseado em build automatizado
Propenso a erro humano
Não escala!
COMPLEXIDADE DE
DEPENDÊNCIAS
Dependências precisam de controles delicados e
ferramental específico
Publicar aplicações em diversos servidores é trabalhoso
Necessário garantir que os servidores da aplicação
estejam corretamente instalados e configurados
VISIBILIDADE LIMITADA
DE PROCESSOS
Validação e aprovação manual dos ambientes
Falta de visão consolidada de quais versões estão em
quais ambientes
Políticas ad-hoc de promoção de ambientes
AUTOMAÇÃO DE
DEPLOYMENT
O primeiro passo para
melhoria
USANDO RELEASE
MANAGEMENT
Configuração de ambientes
Fluxos de validação e aprovação
Fluxos de deployment
Integração com TFS para usar builds como ponto de
partida
CONFIGURAÇÃO
COMO CÓDIGO
A chave para
complementar a
automação
ESCLARECENDO
Configuração como código não é automação de
infraestrutura
Automação de infraestrutura: realizar ações iguais
repetidas vezes, entre vários componentes
Configuração como código: usar ferramentas, técnicas e
práticas de programação para executar e validar ações
de infraestrutura
PRINCIPAIS
FERRAMENTAS EM
VISUAL STUDIO ALM
Powershell DSC
Chef
Puppet
POWERSHELL DSC
DSC significa Desired State Configuration
Extensão do Powershell que permite a definição de
padrões de configuração
Permite, dentre outras coisas:
Instalar ou remover roles do Windows Server
Manipular registro do Windows
Gerenciar arquivos e diretórios
Iniciar ou interromper processos e serviços
Executar scripts Powershell
POWERSHELL DSC
Deve-se primeiramente definir uma configuração
Uma configuração deve possuir vários recursos
Cada recurso representa um pedaço da configuração que
será definida
Existem diversos recursos prontos já entregues com DSC
Outros tantos estão disponíveis no GitHub
Recursos novos podem ser desenvolvidos com
Powershell
INTEGRANDO RELEASE
MANAGEMENT E
POWERSHELL DSC
TFS 2013 Update 3: scripts DSC como parte de
deployment no Release Management
Infraestrutura como código junto com automação de
infraestrutura
Integrando DSC, Release Management e TFS, a entrega
de software é integrada de ponta a ponta
DEMONSTRAÇÃO
Release Management
e Powershell DSC no
TFS
REFERÊNCIAS E LINKS
http://kief.com/infrastructure-as-code-versus-
automation.html
http://blogs.technet.com/b/privatecloud/archive/2013/
08/30/introducing-powershell-desired-state-
configuration-dsc.aspx
http://blogs.msdn.com/b/visualstudioalm/archive/2014
/07/22/deploying-using-powershell-desired-state-
configuration-in-release-management.aspx
http://blogs.technet.com/b/privatecloud/archive/2013/
08/30/introducing-powershell-desired-state-
configuration-dsc.aspx
OBRIGADO!
Vinicius Hana
Lambda3
Microsoft MVP – VS
ALM
ALM Summit Brasil 2014
29 e 30 de agosto
www.almsummitbrasil.com.br
Promocode: ALMBR14-DEVCHAMPS

Deployment além do trivial com Release Management e Powershell DSC