SlideShare uma empresa Scribd logo
1 de 23
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ção 
Ní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ção 
PowerShell 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ção 
PowerShell DSC com Release Management
ALM Summit Brasil 2014 
ALM Summit Brasil 2014 
Obrigado! 
Vinicius Hana 
vinicius.hana@lambda3.com.br 
@viniciushana

Mais conteúdo relacionado

Mais procurados

DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareAndré Dias
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...Bruno Luiz Pereira da Silva
 
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Igor Abade
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.XEduardo Pires
 
DevOps - Integrando TFS com System Center
DevOps - Integrando TFS com System CenterDevOps - Integrando TFS com System Center
DevOps - Integrando TFS com System CenterFelipe Rezende
 
QA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsQA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsJaqueline Ramos
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemFernando Ike
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
 
Como escolher o modelo ideal de TFS para sua empresa
Como escolher o modelo ideal de TFS para sua empresaComo escolher o modelo ideal de TFS para sua empresa
Como escolher o modelo ideal de TFS para sua empresaCDS
 
Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?Alan Cafruni Gularte
 
Configurando controle de versões Team Foundation Server(TFS)
Configurando controle de versões Team Foundation Server(TFS) Configurando controle de versões Team Foundation Server(TFS)
Configurando controle de versões Team Foundation Server(TFS) maxcnunes
 
Uma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineeringUma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineeringThiago Ferreira
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 

Mais procurados (20)

Alm e share point
Alm e share pointAlm e share point
Alm e share point
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
 
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
 
DevOps - Integrando TFS com System Center
DevOps - Integrando TFS com System CenterDevOps - Integrando TFS com System Center
DevOps - Integrando TFS com System Center
 
QA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsQA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps Projects
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvem
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
 
Como escolher o modelo ideal de TFS para sua empresa
Como escolher o modelo ideal de TFS para sua empresaComo escolher o modelo ideal de TFS para sua empresa
Como escolher o modelo ideal de TFS para sua empresa
 
Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?
 
Configurando controle de versões Team Foundation Server(TFS)
Configurando controle de versões Team Foundation Server(TFS) Configurando controle de versões Team Foundation Server(TFS)
Configurando controle de versões Team Foundation Server(TFS)
 
Uma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineeringUma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineering
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 

Semelhante a ALM Summit 2014: Configuração como código e automação

ALM Summit Brasil - Case BTG Pactual e Lambda3
ALM Summit Brasil - Case BTG Pactual e Lambda3ALM Summit Brasil - Case BTG Pactual e Lambda3
ALM Summit Brasil - Case BTG Pactual e Lambda3Gerson Dias
 
Case BTG Pactual - ALM Summit Brasil
Case BTG Pactual - ALM Summit BrasilCase BTG Pactual - ALM Summit Brasil
Case BTG Pactual - ALM Summit BrasilGerson Afonso Dias
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
 
OOWLAD2012-OVMTemplates
OOWLAD2012-OVMTemplatesOOWLAD2012-OVMTemplates
OOWLAD2012-OVMTemplatesDavid Siqueira
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...Alvaro Brognoli
 
Release Management for Visual Studio 2013
Release Management for Visual Studio 2013Release Management for Visual Studio 2013
Release Management for Visual Studio 2013André Dias
 
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...Bruno Luiz Pereira da Silva
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
Segurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesSegurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesJeronimo Zucco
 
Visual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NETVisual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NETFernando Henrique
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsRafael Salerno de Oliveira
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 

Semelhante a ALM Summit 2014: Configuração como código e automação (20)

ALM Summit Brasil - Case BTG Pactual e Lambda3
ALM Summit Brasil - Case BTG Pactual e Lambda3ALM Summit Brasil - Case BTG Pactual e Lambda3
ALM Summit Brasil - Case BTG Pactual e Lambda3
 
Case BTG Pactual - ALM Summit Brasil
Case BTG Pactual - ALM Summit BrasilCase BTG Pactual - ALM Summit Brasil
Case BTG Pactual - ALM Summit Brasil
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
 
OOWLAD2012-OVMTemplates
OOWLAD2012-OVMTemplatesOOWLAD2012-OVMTemplates
OOWLAD2012-OVMTemplates
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
 
Release Management for Visual Studio 2013
Release Management for Visual Studio 2013Release Management for Visual Studio 2013
Release Management for Visual Studio 2013
 
DatabaseCI_ALMSummit2014
DatabaseCI_ALMSummit2014DatabaseCI_ALMSummit2014
DatabaseCI_ALMSummit2014
 
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Fri...
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Segurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesSegurança Através de Gerência de Configurações
Segurança Através de Gerência de Configurações
 
Visual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NETVisual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NET
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
Windows server 2012
Windows server 2012Windows server 2012
Windows server 2012
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Dev Ops at Paguemenos
Dev Ops at PaguemenosDev Ops at Paguemenos
Dev Ops at Paguemenos
 
Módulo_01.pptx
Módulo_01.pptxMódulo_01.pptx
Módulo_01.pptx
 
Rails nas Nuvens
Rails nas NuvensRails nas Nuvens
Rails nas Nuvens
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 

ALM Summit 2014: Configuração como código e automação

  • 1. ALM Summit Brasil 2014 ALM Summit Brasil 2014 Configuration as Code e ALM: a nova realidade da automação Vinicius Hana
  • 2. ALM Summit Brasil 2014 Vinicius Hana Microsoft MVP – Visual Studio ALM Visual Studio ALM Ranger Consultor de ALM e arquitetura na Lambda3
  • 3. 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
  • 4. ALM Summit Brasil 2014 Processos manuais • Alto custo de posse • Lentidão de processos • Exigem documentação excessiva • Considerável propensão a erros
  • 5. 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
  • 6. 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
  • 7. ALM Summit Brasil 2014 Progredindo na automação Níveis, práticas e ferramentas
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. ALM Summit Brasil 2014 Como automatizar de outra forma? Configuração como código
  • 13. 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
  • 14. ALM Summit Brasil 2014 Configuração como código Configuração Estado desejado Ferramenta Estado inicial
  • 15. ALM Summit Brasil 2014 Configuração como código • Ferramentas mais comuns: • PowerShell DSC • Puppet
  • 16. 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
  • 17. ALM Summit Brasil 2014 Demonstração PowerShell DSC
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. ALM Summit Brasil 2014 Demonstração PowerShell DSC com Release Management
  • 23. ALM Summit Brasil 2014 ALM Summit Brasil 2014 Obrigado! Vinicius Hana vinicius.hana@lambda3.com.br @viniciushana