PuppetAutomatizando e Gerênciando Con!gurações             <Guto Carvalho>
whoami‣ Consultor/SysAdmin (LPIC-3) na 4Linux‣ Doze anos de experiência com tecnologias FOSS‣ Blogueiro de TI há 6 anos no...
whoami‣ Consultor/SysAdmin (LPIC-3) na 4Linux‣ Doze anos de experiência com tecnologias FOSS‣ Blogueiro de TI há 6 anos no...
Agenda‣ Administração Manual‣ Gerência de Con!gurações‣ Puppet como ferramenta de GC  ‣ Puppet Características  ‣ Puppet E...
Administração Manual‣ Tarefas repetitivas‣ Falta de padrões‣ Falta de procedimentos de!nidos  ‣ Cada sysadmin faz do seu j...
Problemas da Administração Manual‣ Tarefas repetitivas‣ Falta de padrões‣ Maior índice de falhas humanas‣Equipe sempre sob...
Tarefas repetitivas‣ Criação de usuários‣ Elaboração de scripts‣ Con!guração de serviços‣ Con!gurações de monitoramento‣ C...
Exemplo: PacoteDemandaTrocar Nagios por ZabbixAmbiente450 máquinasEstimativa10 minutos por máquina4.500 minutos ou 75 hora...
Exemplo: UsuárioDemandaCriar usuário em 450 nodesAmbiente450 máquinasEstimativa3 minutos por máquina1350 minutos22.5 horas...
Você vai perceber que...‣ Fica mais difícil identi!car e corrigir problemas‣ Fica mais difícil manter ambientes complexos ...
Como resolvo isto?
Gerência de Con!guraçõesA gerência de configuração oferece um conjunto de recursos que visa garantir a integridade das confi...
Gerência de Con!gurações‣Padronização‣Automatização‣Controle‣Integridade‣Agilidade nas mudanças
Puppet em poucas palavras‣ Ferramenta de nova geração que implementa Gerência de Con!gurações‣ Podemos parar de administra...
Puppet Características‣ Escrito em Ruby‣ Extensível usando código Ruby‣ Funciona em modo autônomo (roda na máquina localme...
Instale pacote X
Crie usuário Y
Inicie serviço Z
Recursos‣ Suporte a mais de 19 tipos de sistemas operacionais   ‣ RHEL, CentOS, Debian, Scienti!c Linux, Oracle Linux, Ubu...
Exemplo de Con!guração# aptitude install apache2# update-rc.d -f apache2 defaults# cp ~/httpd.conf /etc/apache2/# invoke-r...
Exemplo de Con!guraçãopackage { postfix:  ensure => present,} service { postfix:  ensure => running,  enable => true,}file { ...
Exemplo de Con!guraçãopackage { postfix:  ensure => present,                                resource type}                 ...
Exemplo de templateTrecho do template main.cf.erbmyorigin = <%= hostname %>mydestination = $myhostname, ..., localhost, <%...
Exemplo de de!niçãoproxy::squid { ProxyFilial :    http_port                       => 3128,    squid_mode                 ...
Cases Puppet BR‣EBC‣Detran/DF‣Caixa
Cases Puppet
Comunidade Puppet‣727 pessoas online no canal #puppet da irc.freenode.net‣8.500 repositórios no GitHub‣450 módulos no Pupp...
Quais os ganhos com o Puppet?‣ Documentação instantânea‣ Restore de backup e mudanças‣ Processos bem de!nidos‣ Ambiente pa...
Benefícios Reais‣ Maior produtividade em menor tempo‣ Poucos sysadmins para muitos nodes‣ Diminuição de falhas humanas‣ Ma...
Exemplo real                   Ambiente com 450 nodes     modo                  manual            puppetinstalando zabbix ...
Puppet & 4Linux‣  4Linux & PuppetLabs  1o Parceiro no Brasil‣ Consultores Especializados‣ Cases no Governo Federal‣ Suport...
Perguntas?
EOFJosé Augusto (Guto) Carvalho <gutocarvalho@4linux.com.br>        @gutocarvalho                        twitter@4linuxBR ...
Puppet webcast 4linux
Puppet webcast 4linux
Upcoming SlideShare
Loading in …5
×

Puppet webcast 4linux

2,293 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,293
On SlideShare
0
From Embeds
0
Number of Embeds
680
Actions
Shares
0
Downloads
60
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Puppet webcast 4linux

  1. 1. PuppetAutomatizando e Gerênciando Con!gurações <Guto Carvalho>
  2. 2. whoami‣ Consultor/SysAdmin (LPIC-3) na 4Linux‣ Doze anos de experiência com tecnologias FOSS‣ Blogueiro de TI há 6 anos no site gutocarvalho.net‣ Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS, MPS/DATAPREV, ITI/PR, CEF, MD/SIPAM, DETRAN/DF‣ Há 2 anos trabalhando com gerência de con!gurações em ambientesvirtualizados e clouds privadas em Brasília
  3. 3. whoami‣ Consultor/SysAdmin (LPIC-3) na 4Linux‣ Doze anos de experiência com tecnologias FOSS‣ Blogueiro de TI há 6 anos no site gutocarvalho.net‣ Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS, MPS/DATAPREV, ITI/PR, CEF, MD/SIPAM, DETRAN/DF‣ Há 2 anos trabalhando com gerência de con!gurações em ambientesvirtualizados e clouds privadas em Brasília
  4. 4. Agenda‣ Administração Manual‣ Gerência de Con!gurações‣ Puppet como ferramenta de GC ‣ Puppet Características ‣ Puppet Exemplos ‣ Cases Puppet ‣ Comunidade Puppet‣ Benefícios e Ganhos‣ Puppet & 4Linux
  5. 5. Administração Manual‣ Tarefas repetitivas‣ Falta de padrões‣ Falta de procedimentos de!nidos ‣ Cada sysadmin faz do seu jeito ‣ Falta de documentação das mudanças executadas
  6. 6. Problemas da Administração Manual‣ Tarefas repetitivas‣ Falta de padrões‣ Maior índice de falhas humanas‣Equipe sempre sobrecarregada‣Equipe sempre saindo tarde e trabalhando FDS‣ Falta de procedimentos de!nidos ‣ Cada sysadmin faz do seu jeito ‣ Falta de documentação das mudanças executadas
  7. 7. Tarefas repetitivas‣ Criação de usuários‣ Elaboração de scripts‣ Con!guração de serviços‣ Con!gurações de monitoramento‣ Criação de imagens de ambientes‣ Con!guração do sistema operacional‣ Instalação, atualização e remoção de pacotes‣ Reinstalação de ambientes‣ Expansão de ambientes balanceados
  8. 8. Exemplo: PacoteDemandaTrocar Nagios por ZabbixAmbiente450 máquinasEstimativa10 minutos por máquina4.500 minutos ou 75 horasCerca 9 dias trabalhando 8 h.p.d
  9. 9. Exemplo: UsuárioDemandaCriar usuário em 450 nodesAmbiente450 máquinasEstimativa3 minutos por máquina1350 minutos22.5 horas para criar o usuário450 trocas de senha, quem curte?
  10. 10. Você vai perceber que...‣ Fica mais difícil identi!car e corrigir problemas‣ Fica mais difícil manter ambientes complexos funcionando‣ Fica mais difícil manter seu parque padronizado‣ Sua produtividade diminui a media que o ambiente cresce‣ Sua capacidade de entrega não é mais a mesma‣ Você nunca chega em casa no mesmo horário‣ Você trabalha muitos !nais de semana e madrugadas
  11. 11. Como resolvo isto?
  12. 12. Gerência de Con!guraçõesA gerência de configuração oferece um conjunto de recursos que visa garantir a integridade das configurações de nossossistemas, serviços e infraestrutura envolvida, fazendo isto de forma ágil e automatizada.
  13. 13. Gerência de Con!gurações‣Padronização‣Automatização‣Controle‣Integridade‣Agilidade nas mudanças
  14. 14. Puppet em poucas palavras‣ Ferramenta de nova geração que implementa Gerência de Con!gurações‣ Podemos parar de administrar e começar a desenvolver nossa infra‣ Nos permite reaproveitar código para construir con!gurações‣ Oferece linguagem declarativa para expressar nossas con!gurações‣ Possui uma sintaxe simples, prática e natural para sysadmins‣ Oferece suporte a Linux, BSDs, OSX e Windows‣ Criada por um sysadmin (Luke Kaine) para sysadmins.
  15. 15. Puppet Características‣ Escrito em Ruby‣ Extensível usando código Ruby‣ Funciona em modo autônomo (roda na máquina localmente)‣ Funciona em modo cliente/servidor (RESTful)‣ Oferece comunicação segura SSL entre cliente/servidor‣ Oferece camada de abstração para criação das con!gurações
  16. 16. Instale pacote X
  17. 17. Crie usuário Y
  18. 18. Inicie serviço Z
  19. 19. Recursos‣ Suporte a mais de 19 tipos de sistemas operacionais ‣ RHEL, CentOS, Debian, Scienti!c Linux, Oracle Linux, Ubuntu, Fedora, Suse, Gentoo, Mandriva, Archlinux, FreeBSD, OpenBSB, Mac OS X, Oracle Solaris, AIX, HPUX, Windows 2003, Windows 7‣ Suporte a 23 tipos de gerenciadores de pacotes‣ Suporte a 11 tipos de sistemas de inicialização‣ Puppet é Idempotente‣ Suporte a tratamento a condicionais em suas con!gurações‣ Resource Types, Parâmetros, Meta-Parâmetros, Classes, Fatos, Variáveis, Templates e De!nições‣ Obtém fatos do sistema via FACTER‣ E muito mais...
  20. 20. Exemplo de Con!guração# aptitude install apache2# update-rc.d -f apache2 defaults# cp ~/httpd.conf /etc/apache2/# invoke-rc.d apache2 start debian way
  21. 21. Exemplo de Con!guraçãopackage { postfix: ensure => present,} service { postfix: ensure => running, enable => true,}file { main.cf: path => “/etc/postfix/main.cf”, content => template(‘/srv/puppet/templates/main.cf.erb’),}
  22. 22. Exemplo de Con!guraçãopackage { postfix: ensure => present, resource type}  parameterservice { postfix: ensure => running, enable => true, title} valuefile { main.cf: path => “/etc/postfix/main.cf”, content => template(‘/srv/puppet/templates/main.cf.erb’),}
  23. 23. Exemplo de templateTrecho do template main.cf.erbmyorigin = <%= hostname %>mydestination = $myhostname, ..., localhost, <%= fqdn %>Substituição de variáveis por fatosmyorigin = servidor.dominiomydestination = $myhostname, ..., localhost, servidor.dominio
  24. 24. Exemplo de de!niçãoproxy::squid { ProxyFilial : http_port => 3128, squid_mode => transparent, squid_hostname => proxy.4linux, cache_mem => 2 GB, maximum_object_size_in_memory => 6 MB, maximum_object_size => 128 MB, memory_replacement_policy => heap GDSF, cache_replacement_policy => heap LFUDA, cache_dir => aufs /var/spool/squid 1024 16 256, cache_mgr => monitora@4linux.com.br, cache_e"ective_user => proxy, cache_e"ective_group => proxy, dns_nameservers => 127.0.0.1 10.61.12.2 172.16.1.1, ips_squid => 127.0.0.1 192.168.12.3, }
  25. 25. Cases Puppet BR‣EBC‣Detran/DF‣Caixa
  26. 26. Cases Puppet
  27. 27. Comunidade Puppet‣727 pessoas online no canal #puppet da irc.freenode.net‣8.500 repositórios no GitHub‣450 módulos no PuppetForge‣4457 usuários ativos na lista puppet-users‣Lista puppet-users com 7795 tópicos de discussão
  28. 28. Quais os ganhos com o Puppet?‣ Documentação instantânea‣ Restore de backup e mudanças‣ Processos bem de!nidos‣ Ambiente padronizado‣ Sistemas automatizados
  29. 29. 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‣ Você chegará cedo em casa‣ Suas madrugas e !nais de semana serão seus
  30. 30. Exemplo real Ambiente com 450 nodes modo manual puppetinstalando zabbix 75 horas 10 minutos criando usuário 22 horas 10 minutos
  31. 31. Puppet & 4Linux‣ 4Linux & PuppetLabs 1o Parceiro no Brasil‣ Consultores Especializados‣ Cases no Governo Federal‣ Suporte Puppet Enterprise‣ Treinamentos Puppet Master
  32. 32. Perguntas?
  33. 33. EOFJosé Augusto (Guto) Carvalho <gutocarvalho@4linux.com.br> @gutocarvalho twitter@4linuxBR facebook/4linux

×