oficina de infraestrutura como código (apresentando o puppet)

145
Brasília/DF 2013-04-27 Infraestrutura como código - Apresentando Puppet Guto Carvalho sexta-feira, 16 de agosto de 13

Upload: jose-augusto-carvalho

Post on 24-May-2015

3.422 views

Category:

Technology


3 download

DESCRIPTION

A oficina apresenta o conceito de gerência de configurações e apresenta o Puppet como solução para implantar esse tipo de gerência.

TRANSCRIPT

Page 1: Oficina de infraestrutura como código (apresentando o Puppet)

Brasília/DF 2013-04-27

Infraestrutura como código - Apresentando PuppetGuto Carvalho

sexta-feira, 16 de agosto de 13

Page 2: Oficina de infraestrutura como código (apresentando o Puppet)

Oficina infraestrutura como código Apresentando: Puppet

Guto [email protected]

sexta-feira, 16 de agosto de 13

Page 3: Oficina de infraestrutura como código (apresentando o Puppet)

José Augusto (Guto) Carvalho

Consultor/SysAdmin/DevOp (LPIC-3 e PCP-201);

14 anos de experiência com TI e FOSS;

Blogueiro TI/FOSS há 10 anos no site 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

sexta-feira, 16 de agosto de 13

Page 4: Oficina de infraestrutura como código (apresentando o Puppet)

Plano de Trabalho

50 minutos de apresentação

10 minutos para perguntas

3 horas de mão na massa

Slidedeck disponível em slideshare.com/gutocarvalho

sexta-feira, 16 de agosto de 13

Page 5: Oficina de infraestrutura como código (apresentando o Puppet)

Agenda

Teoria

Configuração de VMs

Instalação de Puppet

Mão na Massa (Resource Types)

Dashboard & Foreman

sexta-feira, 16 de agosto de 13

Page 6: Oficina de infraestrutura como código (apresentando o Puppet)

Administração de sistemas e serviços

sexta-feira, 16 de agosto de 13

Page 7: Oficina de infraestrutura como código (apresentando o Puppet)

Virtualização

sexta-feira, 16 de agosto de 13

Page 8: Oficina de infraestrutura como código (apresentando o Puppet)

Cloud Computing

sexta-feira, 16 de agosto de 13

Page 9: Oficina de infraestrutura como código (apresentando o Puppet)

Administração Manual

sexta-feira, 16 de agosto de 13

Page 10: Oficina de infraestrutura como código (apresentando o Puppet)

Administração Manual

Tarefas repetitivas

Não existem padrões

Não existem procedimentos

sexta-feira, 16 de agosto de 13

Page 11: Oficina de infraestrutura como código (apresentando o Puppet)

Cada sysadmin faz do seu jeito

sexta-feira, 16 de agosto de 13

Page 12: Oficina de infraestrutura como código (apresentando o Puppet)

Tarefas RepetitivasCriação de usuários

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

sexta-feira, 16 de agosto de 13

Page 13: Oficina de infraestrutura como código (apresentando o Puppet)

A medida que o parque aumenta administrá-lo fica mais complicado

sexta-feira, 16 de agosto de 13

Page 14: Oficina de infraestrutura como código (apresentando o Puppet)

Você vai percerber que...Fica mais difícil identificar 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 finais de semana e madrugadas

sexta-feira, 16 de agosto de 13

Page 15: Oficina de infraestrutura como código (apresentando o Puppet)

Maior risco de falhas

sexta-feira, 16 de agosto de 13

Page 16: Oficina de infraestrutura como código (apresentando o Puppet)

Maior tempo gasto para executar mudanças

sexta-feira, 16 de agosto de 13

Page 17: Oficina de infraestrutura como código (apresentando o Puppet)

Criação de usuário

450 máquinas 3 minutos por máquina

1350 minutos ou 22,5 horas450 trocas de senhas

sexta-feira, 16 de agosto de 13

Page 18: Oficina de infraestrutura como código (apresentando o Puppet)

Procedimento para criar usuário

Acessar o servidor por ssh

Se tornar root

Criar usuário

Especificar senha temporária

Especificar permissões no sudoers

sexta-feira, 16 de agosto de 13

Page 19: Oficina de infraestrutura como código (apresentando o Puppet)

Instalação de agente de

monitoramento450 máquinas

10 minutos por máquina4500 minutos ou 75 horas9 dias trabalhando 8 h.p.d

sexta-feira, 16 de agosto de 13

Page 20: Oficina de infraestrutura como código (apresentando o Puppet)

Procedimento para instalar zabbix

Acessar servidor via ssh

Adicionar repositório APT

Atualizar índices

Instalar pacote

Ajustar arquivo zabbix_agentd.conf

Reiniciar agente zabbix

Remover agente antigo (nagios).

sexta-feira, 16 de agosto de 13

Page 21: Oficina de infraestrutura como código (apresentando o Puppet)

Documentação inexistente

sexta-feira, 16 de agosto de 13

Page 22: Oficina de infraestrutura como código (apresentando o Puppet)

Não há rastreamento de mudanças

sexta-feira, 16 de agosto de 13

Page 23: Oficina de infraestrutura como código (apresentando o Puppet)

sexta-feira, 16 de agosto de 13

Page 24: Oficina de infraestrutura como código (apresentando o Puppet)

Você começa a ter a sensação de estar sendo engolido por seu ambiente?

sexta-feira, 16 de agosto de 13

Page 25: Oficina de infraestrutura como código (apresentando o Puppet)

Como resolver estes problemas?Como obtenho controle e padronização em meu ambiente ?

sexta-feira, 16 de agosto de 13

Page 26: Oficina de infraestrutura como código (apresentando o Puppet)

Gerência de Configurações

sexta-feira, 16 de agosto de 13

Page 27: Oficina de infraestrutura como código (apresentando o Puppet)

Padronização

sexta-feira, 16 de agosto de 13

Page 28: Oficina de infraestrutura como código (apresentando o Puppet)

Automatização

sexta-feira, 16 de agosto de 13

Page 29: Oficina de infraestrutura como código (apresentando o Puppet)

Controle

sexta-feira, 16 de agosto de 13

Page 30: Oficina de infraestrutura como código (apresentando o Puppet)

Integridade

sexta-feira, 16 de agosto de 13

Page 31: Oficina de infraestrutura como código (apresentando o Puppet)

Agilidade nas mudanças

sexta-feira, 16 de agosto de 13

Page 32: Oficina de infraestrutura como código (apresentando o Puppet)

PuppetFerramenta de nova geração que implementa gerência de

configurações para seu ambiente.

sexta-feira, 16 de agosto de 13

Page 33: Oficina de infraestrutura como código (apresentando o Puppet)

Puppet em poucas palavras

sexta-feira, 16 de agosto de 13

Page 34: Oficina de infraestrutura como código (apresentando o Puppet)

Puppet em poucas palavras

Nos permite parar de administrar e começar a desenvolver nossa infra

Nos permite reaproveitar código para construir configurações

Oferece linguagem declarativa para criar configurações

Sintaxe simples, prática e natural para sysadmins

Oferece suporte a Linux, BDBs, OSX e Windows

sexta-feira, 16 de agosto de 13

Page 35: Oficina de infraestrutura como código (apresentando o Puppet)

Sobre a ferramenta

sexta-feira, 16 de agosto de 13

Page 36: Oficina de infraestrutura como código (apresentando o Puppet)

Sobre a ferramenta

Ferramenta Open Source - Apache License

Ferramenta mantida pela empresa Puppetlabs

Empresa oferece suporte e versão enterprise

Criado por Luke Kaines (CEO e Fundador Puppetlabs)

Cases de uso com gandes players (HP, CISCO, VMWARE...)

Recebeu pesados investimentos (VMWARE 30bi)

sexta-feira, 16 de agosto de 13

Page 37: Oficina de infraestrutura como código (apresentando o Puppet)

Sobre a ferramenta

Ferramenta Open Source - Apache License

Ferramenta mantida pela empresa Puppetlabs

Empresa oferece suporte e versão enterprise

Criado por Luke Kaines (CEO e Fundador Puppetlabs)

Cases de uso com gandes players (HP, CISCO, VMWARE...)

Recebeu pesados investimentos (VMWARE 30bi)

sexta-feira, 16 de agosto de 13

Page 38: Oficina de infraestrutura como código (apresentando o Puppet)

Feito por um SysAdmin para SysAdmins

sexta-feira, 16 de agosto de 13

Page 39: Oficina de infraestrutura como código (apresentando o Puppet)

Desenhada para uso DevOps

sexta-feira, 16 de agosto de 13

Page 40: Oficina de infraestrutura como código (apresentando o Puppet)

sexta-feira, 16 de agosto de 13

Page 41: Oficina de infraestrutura como código (apresentando o Puppet)

DEVOPS

Developers (Dev)Operations (Ops)

sexta-feira, 16 de agosto de 13

Page 42: Oficina de infraestrutura como código (apresentando o Puppet)

Visão DevOpssexta-feira, 16 de agosto de 13

Page 43: Oficina de infraestrutura como código (apresentando o Puppet)

Veja palestra DevOps do Flisol/DF 2013

sexta-feira, 16 de agosto de 13

Page 44: Oficina de infraestrutura como código (apresentando o Puppet)

Tech Specs

sexta-feira, 16 de agosto de 13

Page 45: Oficina de infraestrutura como código (apresentando o Puppet)

Tech SpecsEscrito em Ruby

Extensível usando código Ruby

Funciona em modo autônomo e serverless

Funciona em modo cliente.servidor

Usa RESTful API

Oferece comunicação segura com uso de certificados digitais

sexta-feira, 16 de agosto de 13

Page 46: Oficina de infraestrutura como código (apresentando o Puppet)

Cases Puppet Enterprise

sexta-feira, 16 de agosto de 13

Page 47: Oficina de infraestrutura como código (apresentando o Puppet)

Cases Puppet Gov Brasil

Detran/DFEBC - Empresa Brasil de ComunicaçãoCAIXA (expresso)CAIXA (estação financeira)CAIXA (proinfo)SERPRO....

sexta-feira, 16 de agosto de 13

Page 48: Oficina de infraestrutura como código (apresentando o Puppet)

ArquiteturaComo funciona o Puppet?

sexta-feira, 16 de agosto de 13

Page 49: Oficina de infraestrutura como código (apresentando o Puppet)

Resource Abstraction Layer(RAL)

sexta-feira, 16 de agosto de 13

Page 50: Oficina de infraestrutura como código (apresentando o Puppet)

Resource Abstraction Layer

sexta-feira, 16 de agosto de 13

Page 51: Oficina de infraestrutura como código (apresentando o Puppet)

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 fazer

sexta-feira, 16 de agosto de 13

Page 52: Oficina de infraestrutura como código (apresentando o Puppet)

Instale Pacote X

sexta-feira, 16 de agosto de 13

Page 53: Oficina de infraestrutura como código (apresentando o Puppet)

Remova usuário Z

sexta-feira, 16 de agosto de 13

Page 54: Oficina de infraestrutura como código (apresentando o Puppet)

(Re)inicie serviço Y

sexta-feira, 16 de agosto de 13

Page 55: Oficina de infraestrutura como código (apresentando o Puppet)

Tratamento de Informações

O grande diferencial do Puppet é a forma como ele trata as informações de seus nodes

sexta-feira, 16 de agosto de 13

Page 56: Oficina de infraestrutura como código (apresentando o Puppet)

Tratamento de informações

sexta-feira, 16 de agosto de 13

Page 57: Oficina de infraestrutura como código (apresentando o Puppet)

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 dado

sexta-feira, 16 de agosto de 13

Page 58: Oficina de infraestrutura como código (apresentando o Puppet)

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.

sexta-feira, 16 de agosto de 13

Page 59: Oficina de infraestrutura como código (apresentando o Puppet)

Processamento do Catálogo

1) Agente Requisita Catálogo2) Agente envia Fatos para Master3) Master Processa Fatos e Compara4) Master Produz e envia Catálogo5) Node Recebe, Compara e Aplica6) Node informa estado atual ao Master7) Sistema reflete catálogo

sexta-feira, 16 de agosto de 13

Page 60: Oficina de infraestrutura como código (apresentando o Puppet)

Processamento do Catálogo

1) Agente Requisita Catálogo2) Agente envia Fatos para Master3) Master Processa Fatos e Compara4) Master Produz e envia Catálogo5) Node Recebe, Compara e Aplica6) Node informa estado atual ao Master7) Sistema reflete catálogo

sexta-feira, 16 de agosto de 13

Page 61: Oficina de infraestrutura como código (apresentando o Puppet)

Idempotência

sexta-feira, 16 de agosto de 13

Page 62: Oficina de infraestrutura como código (apresentando o Puppet)

ConfiguraçõesVoláteis e Dados

Puppet MasterMó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

sexta-feira, 16 de agosto de 13

Page 63: Oficina de infraestrutura como código (apresentando o Puppet)

Você pode fazer deploy de sua APPVocê pode controlar a versão de sua APP

sexta-feira, 16 de agosto de 13

Page 64: Oficina de infraestrutura como código (apresentando o Puppet)

sexta-feira, 16 de agosto de 13

Page 65: Oficina de infraestrutura como código (apresentando o Puppet)

Como funciona o modo cliente/servidor?

sexta-feira, 16 de agosto de 13

Page 66: Oficina de infraestrutura como código (apresentando o Puppet)

Modo 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 é segura

sexta-feira, 16 de agosto de 13

Page 67: Oficina de infraestrutura como código (apresentando o Puppet)

Puppet Visão em Rede

Puppet Master

Puppet Client

8140 TCPClient

puppetd -t

8139 TCPServer

puppetkickSSL

sexta-feira, 16 de agosto de 13

Page 68: Oficina de infraestrutura como código (apresentando o Puppet)

Fluxo Cliente/Servidor

Instalação do node

sexta-feira, 16 de agosto de 13

Page 69: Oficina de infraestrutura como código (apresentando o Puppet)

Fluxo Cliente/Servidor

Instalação do node

Inicialização do puppet

sexta-feira, 16 de agosto de 13

Page 70: Oficina de infraestrutura como código (apresentando o Puppet)

Fluxo Cliente/Servidor

Instalação do node

Geração de Certificado

Inicialização do puppet

sexta-feira, 16 de agosto de 13

Page 71: Oficina de infraestrutura como código (apresentando o Puppet)

Fluxo Cliente/Servidor

Instalação do node

Geração de Certificado

Envio de Certificado

Inicialização do puppet

sexta-feira, 16 de agosto de 13

Page 72: Oficina de infraestrutura como código (apresentando o Puppet)

Fluxo Cliente/Servidor

Instalação do node

Geração de Certificado

Master Assina Certificado

Envio de Certificado

Inicialização do puppet

sexta-feira, 16 de agosto de 13

Page 73: Oficina de infraestrutura como código (apresentando o Puppet)

Fluxo Cliente/Servidor

Instalação do node

Geração de Certificado

Agente Sincroniza

Master Assina Certificado

Envio de Certificado

Inicialização do puppet

sexta-feira, 16 de agosto de 13

Page 74: Oficina de infraestrutura como código (apresentando o Puppet)

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 CertificadoAssinatura pode ser manualAssinatura pode ser automática por domínioAssinatura pode ser automática em qualquer requisição

sexta-feira, 16 de agosto de 13

Page 75: Oficina de infraestrutura como código (apresentando o Puppet)

O agente se comunica com o master a cada N minutos

sexta-feira, 16 de agosto de 13

Page 76: Oficina de infraestrutura como código (apresentando o Puppet)

Posso forçar execução do agentede forma remota?

sexta-feira, 16 de agosto de 13

Page 77: Oficina de infraestrutura como código (apresentando o Puppet)

sexta-feira, 16 de agosto de 13

Page 78: Oficina de infraestrutura como código (apresentando o Puppet)

Quais recursos estão disponíveis?

sexta-feira, 16 de agosto de 13

Page 79: Oficina de infraestrutura como código (apresentando o Puppet)

Recursos do Puppet

Resource Types

Parâmetros e Meta-parâmetros

Templates e Definições

Classes e Módulos

Funções e Condicionais

sexta-feira, 16 de agosto de 13

Page 80: Oficina de infraestrutura como código (apresentando o Puppet)

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.

sexta-feira, 16 de agosto de 13

Page 81: Oficina de infraestrutura como código (apresentando o Puppet)

Resource Type: PackagesSuporte 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

sexta-feira, 16 de agosto de 13

Page 82: Oficina de infraestrutura como código (apresentando o Puppet)

Resource Type: ServicesSuporta 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

sexta-feira, 16 de agosto de 13

Page 83: Oficina de infraestrutura como código (apresentando o Puppet)

Resource Type: FileEspecifique permissões e owners

Declare arquivos, diretórios e links

Controle de mudanças usando até 15 tipos de checksums

sexta-feira, 16 de agosto de 13

Page 84: Oficina de infraestrutura como código (apresentando o Puppet)

Exemplossexta-feira, 16 de agosto de 13

Page 85: Oficina de infraestrutura como código (apresentando o Puppet)

Instala, Configura e Inicia

# aptitude install apache2

# update-rc.d -f apache2 defaults

# cp ~/httpd.conf /etc/apache2/

# invoke-rc.d apache2 start

debian-way

sexta-feira, 16 de agosto de 13

Page 86: Oficina de infraestrutura como código (apresentando o Puppet)

package { 'apache2':ensure => present,}

 service { 'apache2':

ensure => running,enable => true,}

file { 'httpd.conf':path => “/etc/apache2/httpd.conf”,source => “/etc/puppet/files/httpd.conf”,}

Instala, Configura e Inicia

sexta-feira, 16 de agosto de 13

Page 87: Oficina de infraestrutura como código (apresentando o Puppet)

package { 'apache2':ensure => present,}

 service { 'apache2':

ensure => running,enable => true,}

file { 'httpd.conf':path => “/etc/apache2/httpd.conf”,source => “/etc/puppet/files/httpd.conf”,}

Instala, Configura e Inicia

resource typeparameter

titlevalue

sexta-feira, 16 de agosto de 13

Page 88: Oficina de infraestrutura como código (apresentando o Puppet)

Base Classclass 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}

sexta-feira, 16 de agosto de 13

Page 89: Oficina de infraestrutura como código (apresentando o Puppet)

Declarando um nodenode “servidor.dominio” { include linux-server include module}

node “balancer.dominio” { include linux-server include cyrus::backend include postfix::hub include haproxy::mailproxy}

sexta-feira, 16 de agosto de 13

Page 90: Oficina de infraestrutura como código (apresentando o Puppet)

Variáveis e FatosFatos (facter)

vimpackage => vim-puppet,

apacheservice => apache2,

ntpconfrhel => ntp.conf.rhel,

Variáveisdomainfqdnhostnameinterfacesipaddress_eth0ipaddress_eth1ipaddress_lolsbdistidlsbdistrelease

=> hacklab,=> puppetmaster.hacklab,=> puppetmaster,=> eth0,eth1,lo,=> 10.0.2.15,=> 192.168.56.150,=> 127.0.0.1,=> debian,=> 6.0.5,

sexta-feira, 16 de agosto de 13

Page 91: Oficina de infraestrutura como código (apresentando o Puppet)

Condicionaiscase $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', }}....

sexta-feira, 16 de agosto de 13

Page 92: Oficina de infraestrutura como código (apresentando o Puppet)

Definiçõesproxy::squid { 'ProxyFilial' : 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.4linux',=> '2 GB',=> '6 MB',=> '128 MB',=> 'heap GDSF',=> 'heap LFUDA',=> 'aufs /var/spool/squid 1024 16 256',=> '[email protected]',=> 'proxy',=> 'proxy',=> '127.0.0.1 10.61.12.2 172.16.1.1',=> '127.0.0.1 192.168.12.3',

sexta-feira, 16 de agosto de 13

Page 93: Oficina de infraestrutura como código (apresentando o Puppet)

Templates

myorigin = <%= hostname %>mydestination = $myhostname, ..., localhost, <%= fqdn %>

Trecho do template postfix/main.cf

myorigin = servidor.dominiomydestination = $myhostname, ..., localhost, servidor.dominio

Substituição de variáveis por fatos

sexta-feira, 16 de agosto de 13

Page 94: Oficina de infraestrutura como código (apresentando o Puppet)

Como acompanho mudanças?

sexta-feira, 16 de agosto de 13

Page 95: Oficina de infraestrutura como código (apresentando o Puppet)

Puppet Dashboard

sexta-feira, 16 de agosto de 13

Page 96: Oficina de infraestrutura como código (apresentando o Puppet)

sexta-feira, 16 de agosto de 13

Page 97: Oficina de infraestrutura como código (apresentando o Puppet)

Posso fazer mudanças em tempo real?

sexta-feira, 16 de agosto de 13

Page 98: Oficina de infraestrutura como código (apresentando o Puppet)

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

sexta-feira, 16 de agosto de 13

Page 99: Oficina de infraestrutura como código (apresentando o Puppet)

Mão na Massasexta-feira, 16 de agosto de 13

Page 100: Oficina de infraestrutura como código (apresentando o Puppet)

http://gutocarvalho.net/dokuwikihttp://172.16.61.105/

puppet serverless

sexta-feira, 16 de agosto de 13

Page 101: Oficina de infraestrutura como código (apresentando o Puppet)

Demonstração do puppet em modo autônomo

sexta-feira, 16 de agosto de 13

Page 102: Oficina de infraestrutura como código (apresentando o Puppet)

puppet resource (ral)

sexta-feira, 16 de agosto de 13

Page 103: Oficina de infraestrutura como código (apresentando o Puppet)

puppet apply manifest.pp

sexta-feira, 16 de agosto de 13

Page 104: Oficina de infraestrutura como código (apresentando o Puppet)

manifests

sexta-feira, 16 de agosto de 13

Page 105: Oficina de infraestrutura como código (apresentando o Puppet)

resource type file

sexta-feira, 16 de agosto de 13

Page 106: Oficina de infraestrutura como código (apresentando o Puppet)

resource type package

sexta-feira, 16 de agosto de 13

Page 107: Oficina de infraestrutura como código (apresentando o Puppet)

resource type service

sexta-feira, 16 de agosto de 13

Page 108: Oficina de infraestrutura como código (apresentando o Puppet)

resource type user

sexta-feira, 16 de agosto de 13

Page 109: Oficina de infraestrutura como código (apresentando o Puppet)

condicionais, templates, definições...

sexta-feira, 16 de agosto de 13

Page 110: Oficina de infraestrutura como código (apresentando o Puppet)

puppet filebucket

sexta-feira, 16 de agosto de 13

Page 111: Oficina de infraestrutura como código (apresentando o Puppet)

puppet parser

sexta-feira, 16 de agosto de 13

Page 112: Oficina de infraestrutura como código (apresentando o Puppet)

Demonstração do puppet modo cliente servidor

sexta-feira, 16 de agosto de 13

Page 113: Oficina de infraestrutura como código (apresentando o Puppet)

site.pp

sexta-feira, 16 de agosto de 13

Page 114: Oficina de infraestrutura como código (apresentando o Puppet)

nodes

sexta-feira, 16 de agosto de 13

Page 115: Oficina de infraestrutura como código (apresentando o Puppet)

classes

sexta-feira, 16 de agosto de 13

Page 116: Oficina de infraestrutura como código (apresentando o Puppet)

módulos

sexta-feira, 16 de agosto de 13

Page 117: Oficina de infraestrutura como código (apresentando o Puppet)

puppet agent --test

sexta-feira, 16 de agosto de 13

Page 118: Oficina de infraestrutura como código (apresentando o Puppet)

Demonstração mcollective

sexta-feira, 16 de agosto de 13

Page 119: Oficina de infraestrutura como código (apresentando o Puppet)

mco puppet runonce -v

sexta-feira, 16 de agosto de 13

Page 120: Oficina de infraestrutura como código (apresentando o Puppet)

mco facts operatingsystem -v

sexta-feira, 16 de agosto de 13

Page 121: Oficina de infraestrutura como código (apresentando o Puppet)

mco shell “uptime” -v

sexta-feira, 16 de agosto de 13

Page 122: Oficina de infraestrutura como código (apresentando o Puppet)

Puppet Labssexta-feira, 16 de agosto de 13

Page 123: Oficina de infraestrutura como código (apresentando o Puppet)

Qual o resultado concreto?

sexta-feira, 16 de agosto de 13

Page 124: Oficina de infraestrutura como código (apresentando o Puppet)

Documentação Instantânea

sexta-feira, 16 de agosto de 13

Page 125: Oficina de infraestrutura como código (apresentando o Puppet)

Processos bem definidos

sexta-feira, 16 de agosto de 13

Page 126: Oficina de infraestrutura como código (apresentando o Puppet)

Ambiente Padronizado

sexta-feira, 16 de agosto de 13

Page 127: Oficina de infraestrutura como código (apresentando o Puppet)

Restore e backup de mudanças

sexta-feira, 16 de agosto de 13

Page 128: Oficina de infraestrutura como código (apresentando o Puppet)

Tarefas Automatizadas

sexta-feira, 16 de agosto de 13

Page 129: Oficina de infraestrutura como código (apresentando o Puppet)

Benefícios ReaisMaior 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 e suas madrugas e finais de semana serão seus

sexta-feira, 16 de agosto de 13

Page 130: Oficina de infraestrutura como código (apresentando o Puppet)

Comparando

Ambiente com 450 nodesAmbiente com 450 nodesAmbiente com 450 nodes

modo manual puppet

instalando zabbix 75 horas 10 minutos

criando usuário 22 horas 10 minutos

sexta-feira, 16 de agosto de 13

Page 131: Oficina de infraestrutura como código (apresentando o Puppet)

Tecnologia trabalhando para você

sexta-feira, 16 de agosto de 13

Page 132: Oficina de infraestrutura como código (apresentando o Puppet)

Boas Práticassexta-feira, 16 de agosto de 13

Page 133: Oficina de infraestrutura como código (apresentando o Puppet)

Insira o puppet nos templates de seu hypervisor

sexta-feira, 16 de agosto de 13

Page 134: Oficina de infraestrutura como código (apresentando o Puppet)

Use o puppet para executar e controlar mudanças em seu parque

sexta-feira, 16 de agosto de 13

Page 135: Oficina de infraestrutura como código (apresentando o Puppet)

Para de administrar e comece a desenvolver a sua infraestrutura

sexta-feira, 16 de agosto de 13

Page 136: Oficina de infraestrutura como código (apresentando o Puppet)

Nova demanda? Já execute utilizando o Puppet, escreva classes e módulos para que você só tenha que fazer isto 1 vez e reaproveitar o código depois.

sexta-feira, 16 de agosto de 13

Page 137: Oficina de infraestrutura como código (apresentando o Puppet)

Versione as configurações (git) criadas no Puppet.

sexta-feira, 16 de agosto de 13

Page 138: Oficina de infraestrutura como código (apresentando o Puppet)

Reaproveite código, escreva seus módulos da forma mais flexível possível.

sexta-feira, 16 de agosto de 13

Page 139: Oficina de infraestrutura como código (apresentando o Puppet)

Não precisa começar do zero, use módulo prontos do GitHub e

PuppetForge.

sexta-feira, 16 de agosto de 13

Page 140: Oficina de infraestrutura como código (apresentando o Puppet)

Pesquise, há muita informação sobre puppet na rede!

sexta-feira, 16 de agosto de 13

Page 141: Oficina de infraestrutura como código (apresentando o Puppet)

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 PMsexta-feira, 16 de agosto de 13

Page 142: Oficina de infraestrutura como código (apresentando o Puppet)

Puppet Labssexta-feira, 16 de agosto de 13

Page 143: Oficina de infraestrutura como código (apresentando o Puppet)

Site/Bloghttp://www.puppetlabs.comhttp://www.puppetlabs.com/blog/http://puppet-br.org/

Twitter@puppetlabs

GitHubhttp://www.github.com/puppelabs

Puppet na rede

Google GroupsPuppet-camp,puppet-users,puppet-users-br,puppet-dev

IRCirc.freenode.org#puppet#puppet-br

sexta-feira, 16 de agosto de 13

Page 144: Oficina de infraestrutura como código (apresentando o Puppet)

Perguntas?

sexta-feira, 16 de agosto de 13

Page 145: Oficina de infraestrutura como código (apresentando o Puppet)

Obrigado!

Linkedin: http://br.linkedin.com/in/gutocarv

E-mail: [email protected]

Contato

Slides: slideshare.net/gutocarvalhoBlog: gutocarvalho.net

Twitter: @gutocarvalho

sexta-feira, 16 de agosto de 13