Infraestrutura ágil com Puppet - CISL

2,117 views

Published on

Palestra sobre gerenciamento de configuração de infraestrutura com Puppet e conceitos de infraestrutura ágil.

Published in: Technology
2 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total views
2,117
On SlideShare
0
From Embeds
0
Number of Embeds
285
Actions
Shares
0
Downloads
84
Comments
2
Likes
4
Embeds 0
No embeds

No notes for slide

Infraestrutura ágil com Puppet - CISL

  1. 1. Brasília/DF Infraestrutura ágil com Puppet por Guto Carvalho CISL 2014 2014.04.07
  2. 2. José Augusto (Guto) Carvalho Consultor/SysAdmin/DevOp (LPIC-3, RHCE e PCP-201); 14 anos de experiência com TI e FOSS; Blogueiro TI/FOSS há 13 anos (gutocarvalho.net); Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS, MPS/DATAPREV, ITI/PR, CAIXA, MD/SIPAM, DETRAN/DF; Entusiasta DevOps (sysadmin em recuperação) desde 2010. whoami FOSS => Free and Open Source Software
  3. 3. Plano de Trabalho 70 minutos de apresentação 25 minutos de demonstração 25 minutos para perguntas Faça perguntas quando quiser Slidedeck disponível em slideshare.com/gutocarvalho
  4. 4. Infraestrutura Ágil Um modelo inteligente e economicamente viável
  5. 5. Infraestrutura ágil é um conceito ainda em formação, mas ele envolve principalmente gerência de configurações, orquestração, provisionamento dinâmico e metodologias ágeis de trabalho em grupo.
  6. 6. Nesta apresentação focaremos na gerência de configurações, uma de suas mais importantes características.
  7. 7. Tendências
  8. 8. Virtualização Hoje podemos rodar centenas de servidores virtuais, com d i f e r e n t e s s i s t e m a s operacionais em um mesmo host em nosso datacenter
  9. 9. Cloud Computing Hoje podemos rodar todos os nossos sistemas em nodes (vms) em nuvens públicas ou privadas e nosso parque pode aumentar ou diminuir de forma dinâmica e automática
  10. 10. Diminuição de Custos As empresas hoje buscam aumentar a qualidade de seus produtos e serviços mas sem aumentar os seus custos de manutenção e operação
  11. 11. Agilidade e Flexibilidade As empresas querem hoje ferramentas que lhes permitam atuar de forma ágil e flexível dentro do seu negócio, algo que se adapte as suas necessidades de forma plena e concreta
  12. 12. Novo tipo de profissional As empresas estão buscando no mercado profissionais m u l t i - d i s c i p l i n a r e s , dinâmicos, criativos, com domínio em diferentes tecnologias para dar vazão a demandas e trabalhar com inovação
  13. 13. Desafios
  14. 14. Desafios na TI de hoje Como administrar parques crescentes? Como manter nosso parque padronizado? Como manter nosso parque seguro? Como manter a qualidade do serviço executado? Como manter o custo de manutenção baixo, sem perder qualidade? Como saber quantos profissionais eu preciso para administrar meu ambiente?
  15. 15. Cenário Virtual
  16. 16. Mjolnir Solutions Inc. Possui um datacenter em sua sede com 750 VMs Contratou 50 Nodes Cloud (IASS) Precisa manter rodando 800 servidores virtuais
  17. 17. Dúvidas
  18. 18. Dúvidas comuns Como faço mudanças rápidas em diversos ambientes e servidores? Como faço para atender demandas em tempo hábil? Como faço para manter a documentação atualizada? Como evitar ao máximo downtime durante as mudanças?
  19. 19. Quantos sysadmins eu preciso para administrar 800 VMs?
  20. 20. Depende de como você faz a administração!
  21. 21. Sysadmin Artesão Hoje ainda é comum encontrar sysadmins que trabalham com administração manual, utilizando um método quase artesanal, executando tarefas repetitivas cotidianamente
  22. 22. Atualização de Pacotes? ssh servidor001.dominio.local ssh servidor002.dominio.local ssh servidor003.dominio.local … ssh servidor800.dominio.local
  23. 23. Instalação de Apps? ssh servidor001.dominio.local ssh servidor002.dominio.local ssh servidor003.dominio.local … ssh servidor800.dominio.local
  24. 24. Criação de Usuários? ssh servidor001.dominio.local ssh servidor002.dominio.local ssh servidor003.dominio.local … ssh servidor800.dominio.local
  25. 25. Tarefas Repetitivas Criação de usuário em servidores Elaboração de scripts Configuração de serviços Configurações de monitoramento Criação de imagens de ambientes Configuração do sistema operacional Instalação, atualização e remoção de pacotes
  26. 26. Exemplo de processo 1 Atualização de um agente de monitoramento (ubuntu) ssh servidor001.dominio.local sudo -i apt-get install agente-monitoramento-2.0 vim /etc/agente-monitoramento/agent.conf restart agente-monitoramento exit
  27. 27. Exemplo de processo 2 Atualização de um agente de monitoramento (centos) ssh servidor002.dominio.local su - yum install agente-monitoramento-2.0 vim /etc/agente-monitoramento/agent.conf service agente-monitoramento restart exit
  28. 28. Exemplo de processo 3 Atualização de um agente de monitoramento (debian) ssh servidor003.dominio.local su - aptitude install agente-monitoramento-2.0 vim /etc/agente-monitoramento/agent.conf /etc/init.d/agente-monitoramento restart exit
  29. 29. Exemplo de processo 4 Atualização de um agente de monitoramento (fedora) ssh servidor004.dominio.local sudo -i yum install agente-monitoramento-2.0 vim /etc/agente-monitoramento/agent.conf systemctl restart agente-monitoramento exit
  30. 30. Cada sistema operacional lida de uma forma muito particular com seus recursos, e todas estas exceções precisam ser cuidadosamente avaliadas e tratadas.
  31. 31. O uso de scripts ajuda, mas o sysadmin vai passar a dividir seu tempo administrando VMs e ajustando seus scripts para atender as mais diferentes exceções.
  32. 32. Fatalmente uma das duas atividades será negligenciada, isto vai gerar falhas e problemas.
  33. 33. Cada sysadmin executará demandas de uma forma distinta, isto gera um ambiente sem padrões, impossível de rastear mudanças.
  34. 34. A medida que o parque aumentar ficará cada vez mais difícil administrar, identificar e corrigir problemas.
  35. 35. Mudanças estruturantes que afetarem todo parque levarão mais tempo para serem concluídas pois no percurso muitas coisas vão quebrar.
  36. 36. Com o excesso de demandas e ambiente crescendo cada vez mais, documentar perderá prioridade e isto criará um ambiente de alto risco, obscuro e desconhecido
  37. 37. Pausa
  38. 38. Sabe como o sysadmin se sente ao atuar em um incidente em ambiente não documentado? Acompanhe…
  39. 39. Documentação é importante para você saber lidar com uma situação inesperada
  40. 40. Continuando…
  41. 41. Percepções da empresa Aumenta o custo de manutenção devido a retrabalho Aumenta o desgaste físico e psíquico da equipe A produtividade da equipe diminui (entregas) A qualidade do serviço oferecido diminui (uptime) Ocorre uma grande rotatividade de funcionários
  42. 42. Tarefas Repetitivas Executadas manualmente significam retrabalho
  43. 43. Retrabalho Para a empresa significa maior custo e menor lucro
  44. 44. Retrabalho Para o sysadmin significa menos tempo com a família
  45. 45. Retrabalho Para ambos significa menor produtividade e menor qualidade no que se faz e no que se entrega.
  46. 46. Desperdício de tempo é uma característica comum n e s t e m o d e l o d e a d m i n i s t r a ç ã o d e infraestrutura
  47. 47. Exemplo O cliente deseja instalar um agente de monitoramento em todas as 800 VMs, removendo qualquer traço do produto antigo no final do procedimento
  48. 48. Procedimento para instalar o agente Acessar servidor via ssh Adicionar repositório APT/YUM Instalar pacote Ajustar arquivo de configuração Reiniciar agente Remover agente antigo
  49. 49. Instalação de agente de monitoramento 800 máquinas 10 minutos por máquina 8000 minutos ou 133 horas 16 dias trabalhando 8 h.p.d
  50. 50. Considerando o modelo manual de administração e o retrabalho decorrente de falhas humanas, teremos um analista focado em uma demanda simples por cerca de 1 mês.
  51. 51. O modelo manual é um modelo caro e insustentável
  52. 52. Como resolver estes problemas? Como obtenho controle e padronização em meu ambiente ?
  53. 53. Gerência de Configurações
  54. 54. Gerência de Configurações Padronização Controle Integridade Produtividade Agilidade
  55. 55. Puppet Ferramenta de nova geração que implementa gerência de configurações para seu ambiente.
  56. 56. Puppet em poucas palavras É documentação executável Nos permite parar de administrar e começar a desenvolver nossa infra Sintaxe simples, prática e natural para sysadmins Oferece suporte a diversos tipos de sistemas operacionais unix, linux windows
  57. 57. Sobre a ferramenta Ferramenta Open Source - Apache License Ferramenta mantida pela empresa Puppetlabs Suporte comercial Criado por Luke Kaines (CEO e Fundador Puppetlabs) Cases de uso com grandes players (HP, CISCO, VMWARE...) Recebeu pesados investimentos em 2012/2013
  58. 58. Feito por um SysAdmin para SysAdmins
  59. 59. Desenhada para uso DevOps
  60. 60. Visão DevOps
  61. 61. Tech Specs Escrito em Ruby Extensível usando código Ruby Funciona em modo autônomo (sem servidor) Funciona em modo cliente e servidor Usa RESTful API Oferece comunicação segura com uso de certificados digitais
  62. 62. Clientes Puppet Enterprise
  63. 63. Parcerias
  64. 64. Parcerias
  65. 65. Alguns cases no Brasil
  66. 66. Arquitetura Como funciona o Puppet?
  67. 67. O Puppet pode funcionar em modo masterless, isto significa sem servidor. Você pode aplicar uma configuração do Puppet diretamente a um sistema operacional apenas com o agente instalado.
  68. 68. O Puppet também funciona em modo cliente e servidor. Isto significa que vicê instalará o puppet master em alguma VMs e seus agentes irão se comunicar com ele para obter configurações.
  69. 69. Existem cenários de uso de Puppet masterless distribuído, usando GIT. Neste modelo as configurações do Puppet são obtidas via GIT e o agente é acionado via cron periódicamente
  70. 70. Tratamento de informações e o uso de dados pelo Puppet
  71. 71. Todas as informações de uma sistema operacional, seja um pacote, usuário, arquivo ou serviço são consideradas um 'dado' para o puppet.
  72. 72. Quando construímos configurações, estas são convertidas em catálogos XML, estes por sua vez são lidos pelos agentes e a configuração é então aplicada ao sistema operacional.
  73. 73. Entenda como funciona a relação cliente e servidor
  74. 74. Tudo é feito pelo agente localmente, o servidor não se conecta na máquina para aplicar as configurações.
  75. 75. O servidor puppet é apenas o repositório de configurações, ele tem apenas o dever de construir e enviar o catálogo quando isso for solicitado por um agente.
  76. 76. Abstração menor preocupação e maior resultado
  77. 77. Resource Abstraction Layer Camada de Abstração de Recursos Fale o que você quer que seja feito Não se preocupe em como será feito O Puppet sabe como precisa fazer o que você pediu
  78. 78. Instale Pacote X
  79. 79. Remova usuário Z
  80. 80. (Re)inicie serviço Y
  81. 81. O Puppet é orientado a estados, nós criamos configurações definindo estes estados, é uma verdadeira documentação executável.
  82. 82. Idempotência Característica exclusiva do Puppet, nenhum outro faz isto.
  83. 83. Puppet na rede Entenda como funciona a comunicação com o Master
  84. 84. Modo cliente e servidor O agente gera um certificado digital O master precisa autorizar o certificado Sem autorização o agente não pode se comunicar Toda a comunicação entre agente e master é segura
  85. 85. Puppet Visão em Rede Puppet Master Puppet Agent 8140 TCP
 puppet agent -t SSL envio do 
 catálogo
  86. 86. Fluxo Cliente/Servidor Instalação do node
  87. 87. Fluxo Cliente/Servidor Instalação do node Inicialização do puppet
  88. 88. Fluxo Cliente/Servidor Instalação do node Geração de Certificado Inicialização do puppet
  89. 89. Fluxo Cliente/Servidor Instalação do node Geração de Certificado Envio de Certificado Inicialização do puppet
  90. 90. Fluxo Cliente/Servidor Instalação do node Geração de Certificado Master Assina Certificado Envio de Certificado Inicialização do puppet
  91. 91. Fluxo Cliente/Servidor Instalação do node Geração de Certificado Agente Sincroniza Master Assina Certificado Envio de Certificado Inicialização do puppet
  92. 92. Fluxo Cliente/Servidor Instalação do node Geração de Certificado Agente Sincroniza Master Assina Certificado Envio de Certificado Inicialização do puppet Modalidades de Assinatura de Certificado Assinatura pode ser manual
 
Assinatura pode ser automática por domínio
 
Assinatura pode ser automática em qualquer requisição

  93. 93. O agente se comunica com o master a cada N minutos, você configura N
  94. 94. Configurações Voláteis e Dados Puppet Master Módulos Estáticos Visão ampla do Puppet LDAP DNS MONIT SYSLOG JBOSS APACHE MYSQL PGSQL Puppet Agents Camada de Aplicação Camada de Serviços Estruturantes
  95. 95. Quais recursos estão disponíveis?
  96. 96. Recursos do Puppet Resource Types Parâmetros e Meta-parâmetros Templates e Definições Classes e Módulos Funções e Condicionais
  97. 97. Puppet Resource Types Arquivos e Diretórios Usuários Alias Pacotes Serviços ! Yum Repos Augeas Hosts SSH Cron O puppet oferece 38 tipos de recursos nativos, e você pode estendê-lo.
  98. 98. Resource Type: Packages Suporte a 23 tipos de provedores de pacotes Faz a abstração do OS Declare se o pacote deve estar presente ou ausente Declare se o pacote deve sempre estar em sua última versão
  99. 99. Resource Type: Services Suporta 11 tipos de sistemas INIT para inicializar serviços Declare se um serviço deve estar sempre rodando Declare se um serviço deve ser carregado no boot Declare se um serviço depende de um pacote ou arquivo
  100. 100. Resource Type: File Especifique permissões e owners Declare arquivos, diretórios e links Controle de mudanças usando até 15 tipos de checksums
  101. 101. Exemplos
  102. 102. Instala, Configura e Inicia instalar um pacote! ativar um serviço no boot! copiar arquivo de configuração! iniciar serviço instalado o que queremos fazer?
  103. 103. Instala, Configura e Inicia # aptitude install apache2! # insserv apache2! # cp ~/httpd.conf /etc/apache2/! # invoke-rc.d apache2 start no debian seria assim:
  104. 104. Instala, Configura e Inicia # yum install httpd! # chkconfig httpd on! # cp ~/httpd.conf /etc/httpd/conf/! # service httpd start no redhat/centos seria assim:
  105. 105. Como seria no Puppet?
  106. 106. Puppet Manifests Arquivos com extensão.pp, neles expressamos nossas necessidades utilizando a sintaxe declarativa do Puppet
  107. 107. package { 'apache2':! ensure => present,! }!  ! service { 'apache2':! ensure => running,! enable => true,! }! ! file { '/etc/apache2/httpd.conf':! ensure => present,! mode => ‘0644’,! owner => ‘root’,! group => ‘root’,! ensure => “puppet:///files/apache/httpd.conf”,! } Instala, Configura e Inicia
  108. 108. package { 'apache2':! ensure => present,! }!  ! service { 'apache2':! ensure => running,! enable => true,! }! ! file { '/etc/apache2/httpd.conf':! ensure => present,! mode => ‘0644’,! owner => ‘root’,! group => ‘root’,! ensure => “puppet:///files/apache/httpd.conf”,! }
  109. 109. package { 'apache2':! ensure => present,! }!  ! service { 'apache2':! ensure => running,! enable => true,! }! ! file { '/etc/apache2/httpd.conf':! ensure => present,! mode => ‘0644’,! owner => ‘root’,! group => ‘root’,! ensure => “puppet:///files/apache/httpd.conf”,! } resource type parameter title value
  110. 110. A mesma configuração atende a diversos sistemas operacionais, a sintaxe é simples e direta. É uma declaração de estados que o Puppet vai interpretar e aplicar.
  111. 111. Documentação Executável.
  112. 112. Mais exemplos
  113. 113. Declarando um node (site.pp) node “servidor.dominio” {! include linux-server! include module! } node “balancer.dominio” {! include linux-server! include cyrus::backend! include postfix::hub
 include haproxy::mailproxy! }
  114. 114. Apenas com as informações do node, já podemos entender o que ele faz e quais ferramentas o puppet gerencia nele, é outro tipo de documentação.
  115. 115. Variáveis e Fatos Fatos (facter) vimpackage => vim-puppet, ! apacheservice => apache2, ! ntpconfrhel => ntp.conf.rhel, ! servername => $facts[fqdn], Constantes e Variáveisdomain fqdn
 hostname interfaces ipaddress_eth0 ipaddress_eth1 ipaddress_lo lsbdistid lsbdistrelease => hacklab, => puppetmaster.hacklab, => puppetmaster, => eth0,eth1,lo, => 10.0.2.15, => 192.168.56.150, => 127.0.0.1, => debian, => 6.0.5,
  116. 116. Condicionais case $operatingsystem {! CentOS,RedHat: { ! $package_name = 'ntp',! $service_name = 'ntpd',! $conf_file = 'ntp.conf.el',! }! Debian,Ubuntu: { ! $package_name = 'ntp',! $service_name = 'ntp',! $conf_file = 'ntp.conf.debian',! }! }! ....
  117. 117. Condicionais if $operatingsystem == '"CentOS" {! $package_name = 'ntp',! $service_name = 'ntpd',! $conf_file = 'ntp.conf.el',! }! elseif $operatingsystem == 'Debian' { ! $package_name = 'ntp',! $service_name = 'ntp',! $conf_file = 'ntp.conf.debian',! }! else {
 notify { “Sistema desconhecido”: }! }! ....
  118. 118. Condicionais if ( $operatingsystem == 'Debian' ) and ( $lsbdistcodename == 'squeeze' ) {! ! bloco de código! ! }
  119. 119. Definições proxy { 'Filial' :! http_port ! squid_mode ! squid_hostname ! cache_mem ! maximum_object_size_in_memory ! maximum_object_size ! memory_replacement_policy ! cache_replacement_policy ! cache_dir ! cache_mgr ! cache_effective_user ! cache_effective_group ! dns_nameservers ! ips_squid ! } => '3128',! => 'transparent',! => 'proxy.hacklab',! => '2 GB',! => '6 MB',! => '128 MB',! => 'heap GDSF',! => 'heap LFUDA',! => 'aufs /var/spool/squid 1024 16 256',! => ‘monitora@hacklab.local’,! => 'proxy',! => 'proxy',! => '127.0.0.1 10.61.12.2 172.16.1.1',! => '127.0.0.1 192.168.12.3',
  120. 120. Definições proxy { 'Matriz' :! http_port ! squid_mode ! squid_hostname ! cache_mem ! maximum_object_size_in_memory ! maximum_object_size ! memory_replacement_policy ! cache_replacement_policy ! cache_dir ! cache_mgr ! cache_effective_user ! cache_effective_group ! dns_nameservers ! ips_squid ! } => '3128',! => 'transparent',! => 'proxy.hacklab',! => '8 GB',! => '6 MB',! => '512 MB',! => 'heap GDSF',! => 'heap LFUDA',! => 'aufs /var/spool/squid 8096 16 256',! => ‘monitora@hacklab.local’,! => 'proxy',! => 'proxy',! => '127.0.0.1 10.61.12.2 172.16.1.1',! => '127.0.0.1 192.168.12.3',
  121. 121. Templates myorigin = <%= hostname %>! mydestination = $myhostname, ..., localhost, <%= fqdn %> Trecho do template postfix/main.cf myorigin = servidor.dominio! mydestination = $myhostname, ..., localhost, servidor.dominio Substituição de variáveis por fatos
  122. 122. Padronizando nodes
  123. 123. Base Class class linux-server {! include sysadmin-utils! include zabbix-agent! include ntpconf! include locales! include hosts! include users! include localmta! include vimrc! include backup-agent! include apt-repos! }
  124. 124. Node default node default {! include linux-server! }
  125. 125. Dashboards para Puppet
  126. 126. Puppet Dashboard
  127. 127. Foreman
  128. 128. Outros projetos Puppetlabs
  129. 129. Outros projetos Puppetlabs PuppetDB (coletor de dados) Razor (provisionador) Hiera (separa dados de código) Facter (fatos do sistema) Mcollective (orquestrador)
  130. 130. Gerenciadores Externos para o Puppet
  131. 131. Configr
  132. 132. Posso fazer mudanças em tempo real?
  133. 133. Marionette Collective Orquestrador de nodes Execução de Tarefas Paralelas Interação com centenas de nodes Inventário descentralizado Leitura de meta-dados do Puppet Similar a Fabric e Capistrano
  134. 134. Provisionamento? É possível ?
  135. 135. Ferramentas de provisionamento VM ! Foreman Vagrant Razor Sprinkle Puppet Enterprise
  136. 136. Ferramentas de provisionamento SW ! Ansible Salt Capistrano Fabric
  137. 137. Demonstração
  138. 138. Qual o resultado concreto?
  139. 139. A o e s c r e v e r m o s a s n o s s a s configurações, estamos expressando o que desejamos ter em nossos nodes, com isto, já estamos construindo nossa documentação.
  140. 140. Aos escrevermos uma configuração, estamos definindo como aquilo de ser instalado, configurado e como deve funcionar. Toda a equipe passa a usar a mesma receita, isto significa que teremos processos padronizados.
  141. 141. O Puppet oferece recursos para você fazer backup e restore de arquivos modificados, portanto, você tem a segurança de poder recuperar ambientes caso precise.
  142. 142. Ao adotar Puppet você não vai mais sentir vontade de executar nada sem ele, tudo já nascerá automatizado e controlado, com processos e documentação instantânea.
  143. 143. Respostas
  144. 144. Um sysadmin que não usa Puppet consegue administrar no máximo 30 servidores, com alguma dificuldade e muito retrabalho.
  145. 145. Um sysadmin que usa Puppet consegue administrar entre 250 e 1000 servidores com facilidade, a quantidade vai depender do nível de automatização e maturidade do profissional e sua equipe.
  146. 146. Para administrar 800 VMs, utilizando Puppet, você precisará de 4 sysadmins, e afirmo que dependendo do nível de automação até menos.
  147. 147. Compare Ambiente com 800 nodes modo manual puppet instalando agente 133 horas N minutos
  148. 148. Benefícios Reais Maior produtividade em menor tempo Poucos sysadmins para muitos nodes Diminuição de falhas humanas Maior controle de todo o seu parque Diminuição do tempo gasto em mudanças Diminuição do custo de manutenção
  149. 149. O sysadmin fará jornadas de trabalho normais, ficará mais tempo com a família, terá mais qualidade de vida e com isso irá produzir mais e melhor.
  150. 150. O negócio de sua empresa vai fluir, ter m e l h o r q u a l i d a d e , m a i o r disponibilidade e menor custo operacional, sendo gerido por uma equipe qualificada e eficiente.
  151. 151. Puppet Labs
  152. 152. Puppetlabs Suporte Comercial (em inglês) Programa de treinamento presencial Programa de certificação para Sysadmins - PCP 201 Programa de certificação para Developers - PCP 301 Puppet Enterprise Dashboard (Gerenciador)
  153. 153. Puppet em números 700+ pessoas online no canal #puppet da irc.freenode.net 8.500+ repositórios no GitHub 1000+ módulos no PuppetForge 5000+ usuários ativos na lista puppet-users com 8000+ tópicos de discussão Comunidade brasileira!
  154. 154. Site/Blog http://www.puppetlabs.com http://www.puppetlabs.com/blog/ http://puppet-br.org/ 
 Twitter @puppetlabs @puppetmasterd (luke)
 GitHub http://www.github.com/puppelabs 
 Puppet na rede Google Groups Puppet-camp, puppet-users, puppet-users-br, puppet-dev
 IRC irc.freenode.org #puppet #puppet-br
  155. 155. Existe suporte comercial no Brasil?
  156. 156. • Suporte Oficial Puppetlabs no Brasil • Empresa especializada em Puppet • Cursos oficiais, Puppet Enterprise, consultoria e suporte • 1o Parceiro oficial Puppetlabs Brasil • 1o empresa com pessoas certificados PCP na América Latina • Acesse http://www.instruct.com.br
  157. 157. Inovando com o Puppet
  158. 158. PUPPET COMO SERVIÇO • Gerenciamento de Configuração COMO SERVIÇO ! • Automatizar Infraestrutura de GRANDES CORPORAÇÕES ! • Interface intuitiva focada em AGILIDADE e AUTONOMIA ! • Suporte com PROFISSIONAIS CERTIFICADOS (PCP, RHCE, LPI-3) ! • SERVIÇO PIONEIRO para Gestão de Infraestrutura no Brasil www.configr.com
  159. 159. Perguntas?
  160. 160. Obrigado!
  161. 161. Linkedin: http://br.linkedin.com/in/gutocarv E-mail: gutocarvalho@gmail.com Contato Slides: slideshare.net/gutocarvalho Blog: gutocarvalho.net Twitter: @gutocarvalho http://puppetlabs.com http://instruct.com.br http://configr.com

×