Your SlideShare is downloading. ×
0
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Puppet Cloud IaaS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Puppet Cloud IaaS

2,371

Published on

Gerenciamento de Configurações em Nuvem usando Puppet.

Gerenciamento de Configurações em Nuvem usando Puppet.

Published in: Technology
3 Comments
3 Likes
Statistics
Notes
  • Pessoal necessito de profissionais que tenham conhecimento com essa ferramenta Puppet .. favor me retornarem para falarmos melhor .. juliana.andrade@cadmus.com.br
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Ola Guto, uma curiosidade apenas, existem casos de uso de IaaS no governo (independente da esfera)? Nestes casos, como e feito o pagamento do servico? Pode haver dispensa de licitacao ou algo assim?

    Abraco!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Belo trabalho Guto. Parabéns!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,371
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
48
Comments
3
Likes
3
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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Instalação de novo agente de monitoramento em um parque de 500 VM’s?\nComo fazer?\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    1. Gerência de Configurações em Cloud Puppet em ambientes IaaS José Augusto (Guto) Carvalho gutocarvalho@gmail.comWednesday, August 8, 12
    2. whoami Consultor/SysAdmin (LPIC-3) na 4Linux 12 anos de experiência com tecnologias FOSS Blogueiro FOSS 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 configurações em ambientes virtualizados e clouds privadas em BrasíliaWednesday, August 8, 12
    3. Puppet em IaaSWednesday, August 8, 12
    4. Plano de Trabalho 40 minutos de apresentação 5 minutos para perguntasWednesday, August 8, 12
    5. Agenda Gerência de Configurações Infraestrutura como Código Puppet como solução de Gerência de Configurações Puppet Arquitetura, Funcionamento e Recursos PerguntasWednesday, August 8, 12
    6. Cloud Computing - TendênciaWednesday, August 8, 12
    7. Cloud e seus Benefícios Hiper escalável Rápida e elástica Abstração de hardware Infraestrutura dinâmica Alta disponibilidade Investimento atraenteWednesday, August 8, 12
    8. Provisionamento Podemos criar 500 VM’s em poucos minutosWednesday, August 8, 12
    9. Como Administrar 500 VM’s?Wednesday, August 8, 12
    10. Configuração Manual?Wednesday, August 8, 12
    11. Acesso Secure Shell (ssh)?Wednesday, August 8, 12
    12. Host a Host?Wednesday, August 8, 12
    13. Quantos SysAdmins são necessários para administrar 500 servidores?Wednesday, August 8, 12
    14. Qual a velocidade nas mudanças em seu ambiente?Wednesday, August 8, 12
    15. Qual a probabilidade de falhas decorrentes de mudanças manuais?Wednesday, August 8, 12
    16. Você consegue manter todo o seu ambiente padronizado?Wednesday, August 8, 12
    17. Seu custo com manutenção e equipes técnicas está aumentando?Wednesday, August 8, 12
    18. Está difícil colocar suas configurações nos trilhos?Wednesday, August 8, 12
    19. Como resolver isto? Como obtenho controle e padronização em meu ambiente ?Wednesday, August 8, 12
    20. Gerência de ConfiguraçõesWednesday, August 8, 12
    21. PadronizaçãoWednesday, August 8, 12
    22. AutomatizaçãoWednesday, August 8, 12
    23. ControleWednesday, August 8, 12
    24. IntegridadeWednesday, August 8, 12
    25. DesempenhoWednesday, August 8, 12
    26. Agilidade nas mudançasWednesday, August 8, 12
    27. Puppet Ferramenta de nova geração que implementa gerência de configurações para seu ambiente.Wednesday, August 8, 12
    28. Visão Rápida Infraestrutura como código Pare de administrar e comece a desenvolver sua infra Reuse código para gerenciar seu parque com facilidade Linguagem declarativa para descrever configurações (DSL)Wednesday, August 8, 12
    29. Sobre a ferramenta Suporte a Linux, BSDs, Solaris e Windows Criado por Luke Kaines (CEO e Fundador) Empresa PuppetLabs mantém a Ferramenta Ferramenta OpenSource (Licença Apache) Recebeu grandes investimentos Empresa oferece Suporte e Versão EnterpriseWednesday, August 8, 12
    30. Feito por um SysAdmin para SysAdminsWednesday, August 8, 12
    31. Eficiente para uso DevOpsWednesday, August 8, 12
    32. Especificações Escrito em Ruby Extensível usando código Ruby Funciona em modo Autônomo (serverless) Funciona em modo Cliente/Servidor RESTful API Comunicação segura (SSL Certificate)Wednesday, August 8, 12
    33. Cases PuppetWednesday, August 8, 12
    34. Arquitetura Como funciona o Puppet?Wednesday, August 8, 12
    35. Resource Abstraction Layer (RAL)Wednesday, August 8, 12
    36. Puppet: RAL Resource Abstraction Layer = RAL 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 fazerWednesday, August 8, 12
    37. Instale Pacote XWednesday, August 8, 12
    38. Remova usuário ZWednesday, August 8, 12
    39. (Re)inicie serviço YWednesday, August 8, 12
    40. Tratamento de Informações O grande diferencial do Puppet é a forma como ele trata as informações de seus nodesWednesday, August 8, 12
    41. Tratamento de informações No Puppet tudo é modelado e tratado como ‘dados’ O estado atual de um node (servidor) é um dado Um pacote instalado em um node é um dado Um usuário em um servidor é um dadoWednesday, August 8, 12
    42. Os dados são inseridos em catálogos pelo master O catálogo é processado pelo node e as modificações são aplicadas de acordo com o que foi declarado.Wednesday, August 8, 12
    43. Processamento do Catálogo 1) Agente Requisita Catálogo 1.1) Agente envia Fatos para Master 2) Master Processa Fatos e Compara 2.1) Master Produz e envia Catálogo 3) Node Recebe, Compara e Aplica 4) Node informa estado atual ao Master 5) Sistema reflete catálogoWednesday, August 8, 12
    44. IdempotênciaWednesday, August 8, 12
    45. Funcionamento Puppet Configurações Módulos Estáticos Master Voláteis e Dados Camada de Serviços Estruturantes LDAP DNS MONIT SYSLOG Camada de Aplicação JBOSS APACHE MYSQL PGSQL Puppet AgentsWednesday, August 8, 12
    46. Puppet Master 8140 TCP 8139 TCP Client SSL Server puppetd -t puppetrun Puppet Client Puppet Visão em RedeWednesday, August 8, 12
    47. Administração IaaS Administrar uma cloud IaaS não é algo complicado Escalabilidade automática é um recurso fantástico Ter elasticidade é fundamental Criar novos servidores é muito fácil Administrar centenas de nodes? Aqui começa a complicar.Wednesday, August 8, 12
    48. Quando seu ambiente IaaS começar a crescer demais você vai perceber administrá-lo não é tão simples.Wednesday, August 8, 12
    49. Adicionando Nodes ZABBIX NGINX JBOSS POSTGRESQL MEMCACHEDWednesday, August 8, 12
    50. Adicionando Nodes ZABBIX NGINX JBOSS POSTGRESQL MEMCACHED Adicionar um novo node representa N mudançasWednesday, August 8, 12
    51. Adicionando Nodes sysadmin-utils ZABBIX zabbix-agent NGINX ntpconf locales JBOSS hosts users POSTGRESQL localmta smtpd vimrc MEMCACHED backup-agent apt-reposWednesday, August 8, 12
    52. Como o Puppet pode ajudar? Automatizando seu ambiente Gerando maior produtividade com menor esforço Padronizando seus nodes logo após a instalação Modificando configurações de forma controladaWednesday, August 8, 12
    53. Insira o Puppet na imagem de instalação de seus nodes.Wednesday, August 8, 12
    54. Não tenha medo de realizar atualizações, o puppet faz pra você!Wednesday, August 8, 12
    55. Você pode fazer deploy de sua APP Você pode controlar a versão de sua APPWednesday, August 8, 12
    56. Como funciona o modo cliente/servidor?Wednesday, August 8, 12
    57. Arquitetura Cliente/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 é seguraWednesday, August 8, 12
    58. Fluxo Cliente/Servidor Instalação do nodeWednesday, August 8, 12
    59. Fluxo Cliente/Servidor Instalação do Inicialização node do puppetWednesday, August 8, 12
    60. Fluxo Cliente/Servidor Instalação do Inicialização Geração de node do puppet CertificadoWednesday, August 8, 12
    61. Fluxo Cliente/Servidor Instalação do Inicialização Geração de node do puppet Certificado Envio de CertificadoWednesday, August 8, 12
    62. Fluxo Cliente/Servidor Instalação do Inicialização Geração de node do puppet Certificado Master Assina Envio de Certificado CertificadoWednesday, August 8, 12
    63. Fluxo Cliente/Servidor Instalação do Inicialização Geração de node do puppet Certificado Agente Master Assina Envio de Sincroniza Certificado CertificadoWednesday, August 8, 12
    64. Fluxo Cliente/Servidor Instalação do Inicialização Geração de node do puppet Certificado Agente Master Assina Envio de Sincroniza Certificado Certificado 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çãoWednesday, August 8, 12
    65. O agente se comunica com o master a cada N minutosWednesday, August 8, 12
    66. Quais recursos estão disponíveis?Wednesday, August 8, 12
    67. Recursos do Puppet Resource Types Parâmetros e Meta-parâmetros Templates e Definições Classes e Módulos Funções e CondicionaisWednesday, August 8, 12
    68. Puppet Resource Types Arquivos e Diretórios Yum Repos Usuários Augeas Alias Hosts Pacotes SSH Serviços Cron O puppet oferece 38 tipos de recursos nativos, e você pode estendê-lo.Wednesday, August 8, 12
    69. 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ãoWednesday, August 8, 12
    70. 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 arquivoWednesday, August 8, 12
    71. Resource Type: File Especifique permissões e owners Declare arquivos, diretórios e links Controle de mudanças usando até 15 tipos de checksumsWednesday, August 8, 12
    72. ExemplosWednesday, August 8, 12
    73. Instala, Configura e Inicia debian-way # aptitude install apache2 # update-rc.d -f apache2 defaults # cp ~/httpd.conf /etc/apache2/ # invoke-rc.d apache2 startWednesday, August 8, 12
    74. Instala, Configura e Inicia package { apache2: ensure => present, }   service { apache2: ensure => running, enable => true, } file { httpd.conf: path => “/etc/apache2/httpd.conf”, source => “/etc/puppet/files/httpd.conf”, }Wednesday, August 8, 12
    75. Instala, Configura e Inicia package { apache2: ensure => present, } resource type   service { apache2: parameter ensure => running, title enable => true, value } file { httpd.conf: path => “/etc/apache2/httpd.conf”, source => “/etc/puppet/files/httpd.conf”, }Wednesday, August 8, 12
    76. 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 }Wednesday, August 8, 12
    77. Declarando um node node “servidor.dominio” { include linux-server include module } node “balancer.dominio” { include linux-server include cyrus::backend include postfix::hub include haproxy::mailproxy }Wednesday, August 8, 12
    78. Variáveis e Fatos Fatos (facter) domain => hacklab, Variáveis fqdn => puppetmaster.hacklab, hostname => puppetmaster, vimpackage => vim-puppet, interfaces => eth0,eth1,lo, ipaddress_eth0 => 10.0.2.15, apacheservice => apache2, ipaddress_eth1 => 192.168.56.150, ipaddress_lo => 127.0.0.1, ntpconfrhel => ntp.conf.rhel, lsbdistid => debian, lsbdistrelease => 6.0.5,Wednesday, August 8, 12
    79. 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, } } ....Wednesday, August 8, 12
    80. Definições proxy::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_effective_user => proxy, cache_effective_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, }Wednesday, August 8, 12
    81. Templates Trecho do template postfix/main.cf myorigin = <%= hostname %> mydestination = $myhostname, ..., localhost, <%= fqdn %> Substituição de variáveis por fatos myorigin = servidor.dominio mydestination = $myhostname, ..., localhost, servidor.dominioWednesday, August 8, 12
    82. Como acompanho mudanças?Wednesday, August 8, 12
    83. Puppet DashboardWednesday, August 8, 12
    84. Posso fazer mudanças em tempo real?Wednesday, August 8, 12
    85. 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 CapistranoWednesday, August 8, 12
    86. Qual o resultado concreto?Wednesday, August 8, 12
    87. Documentação InstantâneaWednesday, August 8, 12
    88. Restore e backup de mudançasWednesday, August 8, 12
    89. Processos bem definidosWednesday, August 8, 12
    90. Ambiente PadronizadoWednesday, August 8, 12
    91. Tarefas AutomatizadasWednesday, August 8, 12
    92. 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çãoWednesday, August 8, 12
    93. Tecnologia trabalhando para vocêWednesday, August 8, 12
    94. Puppet e a nuvemWednesday, August 8, 12
    95. Puppet & Cloud IaaS Cloud Tools (FOSS) Cloud Hosts GanetiWednesday, August 8, 12
    96. Boas PráticasWednesday, August 8, 12
    97. Use API do fornecedorWednesday, August 8, 12
    98. Desenvolva sua InfraWednesday, August 8, 12
    99. Versione suas configuraçõesWednesday, August 8, 12
    100. Reaproveite CódigoWednesday, August 8, 12
    101. GitHub & PuppetForgeWednesday, August 8, 12
    102. Pesquise!Wednesday, August 8, 12
    103. Puppet em números 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 com 7795 tópicos de discussão Dados coletados em 2012-08-06 às 10:34 PMWednesday, August 8, 12
    104. 4Linux & PuppetLabs 1o Parceiro no Brasil Consultores Especializados Cases no Governo Federal Suporte Puppet Enterprise Treinamentos Puppet MasterWednesday, August 8, 12
    105. Puppet na rede Site/Blog Google Groups http://www.puppetlabs.com Puppet-camp, http://www.puppetlabs.com/blog/ puppet-users, http://puppet-br.org/ puppet-users-br, puppet-dev Twitter @puppetlabs IRC irc.freenode.org GitHub #puppet http://www.github.com/puppelabs #puppet-brWednesday, August 8, 12
    106. Perguntas?Wednesday, August 8, 12
    107. Contato Twitter @gutocarvalho gutocarvalho@gmail.com slideshare.net/gutocarvalho gutocarvalho.net Obrigado!Wednesday, August 8, 12
    108. Comparando Ferramentas Recursos Puppet Chef CfEngine Pull Yes Yes Yes Push No No No Idempotence Yes Yes Yes Config Language Declarative Ruby Declarative Web UI Yes Yes Yes OS Support *NIX,Windows *NIX,Windows *NIX,Windows License Apache Apache GPL Company Puppetlabs OpsCode CfEngine Cloud Yes Yes YesWednesday, August 8, 12

    ×