configuration as code e alm: a nova realidade da automação
DESCRIPTION
Automação de infraestrutura, muito além de uma promessa, já é uma realidade a muito tempo no mercado. Veremos como automatizar trabalhos de infraestrutura, quais os ganhos obtidos e quais as práticas mais recomendadas para manter um ambiente saudável de código de infraestrutura.TRANSCRIPT
ALM Summit Brasil 2014
ALM Summit Brasil 2014
Configuration as Code e ALM: a nova realidade da
automação
Vinicius Hana
ALM Summit Brasil 2014
Vinicius Hana
Microsoft MVP – Visual Studio ALM
Visual Studio ALM Ranger
Consultor de ALM e arquitetura na Lambda3
ALM Summit Brasil 2014
Realidade atual da automação• Completamente incipiente• Poucas empresas investem
agressivamente em automação, mesmo com os ganhos evidentes• Falta no mercado perfis fortes de DevOps
ALM Summit Brasil 2014
Processos manuais
• Alto custo de posse• Lentidão de processos• Exigem documentação excessiva• Considerável propensão a erros
ALM Summit Brasil 2014
Trivia – Empresa X
• 1 semana para conseguir uma VM• Provisionamento errático com
configurações erradas, baixa confiabilidade• Empresa possui sistemas críticos,
escalabilidade horizontal impactada
ALM Summit Brasil 2014
Trivia – Empresa Y
• Equipe de 4 pessoas dedicadas para fazerem publicações manuais:• Cópia de arquivos• Configuração de IIS• Execução de scripts de SQL
• Janela de 24h para publicar uma versão em qualquer ambiente que seja• Ambiente custoso e improdutivo
ALM Summit Brasil 2014
Progredindo na automaçãoNíveis, práticas e ferramentas
ALM Summit Brasil 2014
Record & Replay
• Gravação de passos e interações para posterior reprodução• Normalmente não trabalham com código
ou geram código que realiza as tarefas• Exemplo: Coded UI
ALM Summit Brasil 2014
Record & Replay
• Exige execuções manuais constantemente para garantir que o processo funciona• Se gerar código, o mesmo tende a ser
complexo e especializado• Apresenta ganhos em relação ao manual,
mas é bem restrito no geral
ALM Summit Brasil 2014
Automação via código
• Usar programação para determinar tarefas de automação• Modelo imperativo, determina como as
coisas devem acontecer• Conhecimento de programação é
difundido, facilita adoção• Chef é uma ferramenta de exemplo
ALM Summit Brasil 2014
Automação via código
• Muitas estruturas precisam ser feitas do nada• Inflexibilidade de plataforma• Demanda grande esforço por precisar de:• Tratamento de erros• Fluxos alternativos• Ferramental específico
• Código resultante não é tão legível• Pode acabar reinventando a roda
ALM Summit Brasil 2014
Como automatizar de outra forma?Configuração como código
ALM Summit Brasil 2014
Configuração como código
• Usar programação para determinar o estado desejado de configuração• Modelo declarativo, determina o que
deve acontecer, não como• Código intuitivo, simples e legível
ALM Summit Brasil 2014
Configuração como código
Configuração
Estado desejado
Ferramenta
Estado inicial
ALM Summit Brasil 2014
Configuração como código
• Ferramentas mais comuns:• PowerShell DSC• Puppet
ALM Summit Brasil 2014
PowerShell DSC
• DSC: Desired State Configuration• Extensão do PowerShell a partir do WMF
4• Já vem por padrão com:• 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
• Totalmente extensível
ALM Summit Brasil 2014
DemonstraçãoPowerShell DSC
ALM Summit Brasil 2014
Consistência de ambientes
• Ambientes podem sofrer influências imprevistas• Scripts de configuração podem ficar
desatualizados• Pode haver conflito de versão de
configurações
ALM Summit Brasil 2014
Pull server de configurações• Um servidor que age como “ponto único
da verdade”• Armazena as configurações que estão
vigentes e assegura que os ambientes estejam de acordo com elas• Configurações passam por processo de
“deploy”• Configurações refletem a realidade na
prática• Atualizações facilitadas
ALM Summit Brasil 2014
DSC para deploy
• Via configuração, é possível definir:• Requisitos de sistema operacional• Cópia de arquivos• Execução de binários
• Possui todas as vantagens mencionadas anteriormente
ALM Summit Brasil 2014
Release Management
• TFS 2013 Update 3: scripts DSC como parte de deployment no Release Management• Integrando DSC, Release Management e
TFS, a entrega de software é integrada de ponta a ponta usando
ALM Summit Brasil 2014
DemonstraçãoPowerShell DSC com Release Management
ALM Summit Brasil 2014
ALM Summit Brasil 2014
Obrigado!
Vinicius Hana
@viniciushana