Your SlideShare is downloading. ×
Puppet webcast 4linux
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Puppet webcast 4linux

1,737
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,737
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PuppetAutomatizando e Gerênciando Con!gurações <Guto Carvalho>
  • 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. 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. 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. 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. 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. 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. Exemplo: PacoteDemandaTrocar Nagios por ZabbixAmbiente450 máquinasEstimativa10 minutos por máquina4.500 minutos ou 75 horasCerca 9 dias trabalhando 8 h.p.d
  • 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. 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. Como resolvo isto?
  • 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. Gerência de Con!gurações‣Padronização‣Automatização‣Controle‣Integridade‣Agilidade nas mudanças
  • 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. 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. Instale pacote X
  • 17. Crie usuário Y
  • 18. Inicie serviço Z
  • 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. 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. 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. 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. 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. 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. Cases Puppet BR‣EBC‣Detran/DF‣Caixa
  • 26. Cases Puppet
  • 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. 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. 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. Exemplo real Ambiente com 450 nodes modo manual puppetinstalando zabbix 75 horas 10 minutos criando usuário 22 horas 10 minutos
  • 31. Puppet & 4Linux‣ 4Linux & PuppetLabs 1o Parceiro no Brasil‣ Consultores Especializados‣ Cases no Governo Federal‣ Suporte Puppet Enterprise‣ Treinamentos Puppet Master
  • 32. Perguntas?
  • 33. EOFJosé Augusto (Guto) Carvalho <gutocarvalho@4linux.com.br> @gutocarvalho twitter@4linuxBR facebook/4linux