• Nenhum resultado encontrado

Puppet. Automatizando e Gerênciando Con!gurações. <Guto Carvalho>

N/A
N/A
Protected

Academic year: 2021

Share "Puppet. Automatizando e Gerênciando Con!gurações. <Guto Carvalho>"

Copied!
35
0
0

Texto

(1)
(2)

Puppet

Automatizando e Gerênciando Con!gurações

(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 ambientes virtualizados e clouds privadas em Brasília

(4)

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 ambientes virtualizados e clouds privadas em Brasília

(5)

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

(6)

Administração Manual

Tarefas repetitivas

Falta de padrões

Falta de procedimentos de!nidos

Cada sysadmin faz do seu jeito

(7)

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

(8)

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

(9)

Exemplo: Pacote

Demanda

Trocar Nagios por Zabbix

Ambiente

450 máquinas

Estimativa

10 minutos por máquina 4.500 minutos ou 75 horas

(10)

Exemplo: Usuário

Demanda

Criar usuário em 450 nodes

Ambiente

450 máquinas

Estimativa

3 minutos por máquina 1350 minutos

22.5 horas para criar o usuário

(11)

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

(12)
(13)

Gerência de Con!gurações

A gerência de configuração oferece um conjunto de recursos

que visa garantir a integridade das configurações de nossos

sistemas, serviços e infraestrutura envolvida, fazendo isto de

(14)

Gerência de Con!gurações

Padronização

Automatização

Controle

Integridade

(15)

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

(16)

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

(17)
(18)
(19)
(20)

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

(21)

Exemplo de Con!guração

#

aptitude

install apache2

#

update-rc.d -f

apache2 defaults

#

cp

~/httpd.conf /etc/apache2/

#

invoke-rc.d

apache2 start

(22)

Exemplo de Con!guração

package { '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’),

(23)

Exemplo de Con!guração

resource type

parameter

title

value

package { '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’),

(24)

Exemplo de template

myorigin = <%= hostname %>

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

Trecho do template main.cf.erb

myorigin = servidor.dominio

mydestination = $myhostname, ..., localhost, servidor.dominio

(25)

Exemplo de de!nição

proxy::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_e"ective_user cache_e"ective_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', => 'monitora@4linux.com.br', => 'proxy', => 'proxy', => '127.0.0.1 10.61.12.2 172.16.1.1', => '127.0.0.1 192.168.12.3',

(26)

Cases Puppet BR

EBC

Detran/DF

(27)
(28)

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

(29)

Quais os ganhos com o Puppet?

Documentação instantânea

Restore de backup e mudanças

Processos bem de!nidos

Ambiente padronizado

(30)

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

(31)

Exemplo real

Ambiente com 450 nodes Ambiente com 450 nodes Ambiente com 450 nodes

modo manual puppet

instalando zabbix 75 horas 10 minutos

(32)

Puppet & 4Linux

4Linux & PuppetLabs

1o Parceiro no Brasil

Consultores Especializados

Cases no Governo Federal

Suporte Puppet Enterprise

(33)
(34)

EOF

José Augusto (Guto) Carvalho

<gutocarvalho@4linux.com.br> @gutocarvalho

twitter@4linuxBR facebook/4linux

(35)

Referências

Documentos relacionados

Entende-se que para os enfermeiros desta pesquisa, a promoção da saúde está relacionada às condições de trabalho e moradia, acesso à assistência, atividades de educação

Devem, nomeadamente, manter registos do nome dos alimentos para animais (incluindo qualquer forma de alimentos para animais utilizados, como os alimentos compostos

Para a extração da protease digestiva (quimotripsina), as vísceras intestinais foram maceradas e homogeneizadas (18 rpm durante 5 minutos, com intervalos de 30 segundos) em

“A liberdade de cada um termina onde começa a liberdade do outro” (Spencer). Mais especificamente, a liberdade política é a possibilidade de o indivíduo exercer, em

O Kinoplex, Cineflix e Cinemark ficam em shoppings localizados no eixo da Rodovia Dom Pedro I (SP-065), uma das principais rodovias do estado, importante acesso aos distritos

Tudo isto nào quer d izer qu e o cientista da religião nâo tenha religião.. qu alquer

A amostragem compreende 3 períodos: de 1 dezembro a 31 janeiro, de 1 março a 30 abril e de 1 maio a 15 junho (Tabela 1), incidindo nas seguintes espécies: coruja-das-torres Tyto

1 Instituto de Física, Universidade Federal de Alagoas 57072-900 Maceió-AL, Brazil Caminhadas quânticas (CQs) apresentam-se como uma ferramenta avançada para a construção de