3. 3
➢ Puppet Labs;
➢ Fluxo de Dados;
➢ Idempotência;
➢ Tipos de Recursos;
➢ Camada de Abstração;
➢ Centralizar a Administração;
Objetivos da Apresentação
Automação de Ambientes com Puppet
➢ Linguagem Declarativa;
➢ Arquitetura Agente / Servidor ;
➢ VM/Cloud Provisioning ;
➢ Dashboard ;
➢ 4Linux e Puppet ;
➢ Case de Sucesso.
4. 4
Puppet Labs
Desenvolvedora de software para automação de TI para os
SysAdmins.
➢ 3.000 membros da comunidade ;
➢ Mais de 10.000 usuários;
➢ Investimentos da Google Ventures, Cisco, VMware, Kleiner
Perkins e True Ventures.
Automação de Ambientes com Puppet
6. 6
Trabalho Artesanal x Automação com Puppet
Automação de Ambientes com Puppet
➢ Muita mão de obra;
➢ Tarefas repetitivas;
➢ Não existe padronização;
➢ Tempo gasto em mudanças;
➢ Customização de Scripts;
7. 7
Puppet Labs
➢ Ambiente Homogêneos em todos os níveis Produção, Homologação
e Desenvolvimento;
➢ Aplicar mudanças no ambiente de homologação com rollback feito
pelo Puppet em segundos em caso de problemas;
➢ Após validar uma mudança no ambiente de homologação, de forma
rápida e com garantia, se aplica em Produção com o Puppet;
➢ Escalabilidade com Puppet com alguns cliques, pois o Puppet seria
capaz de provisionar uma máquina do zero em questões de minutos
(Um novo Servidor de Email, um novo Jboss, etc);
Automação de Ambientes com Puppet
8. 8
Quebrando Paradigma
Quando o Puppet é implementado para Gerenciar as
Configurações do seu ambiente, toda e qualquer alteração nesse
ambiente é feita através do Puppet e não mais diretamente no
servidor como tem sido a administração dos ambiente ao longo do
anos.
Automação de Ambientes com Puppet
11. 11
Como funciona o Puppet
Automação de Ambientes com Puppet
package {'sshd':
ensure => installed,
}
file {'/etc/ssh/sshd_config':
ensure => file,
owner => root,
group => root,
}
service {'sshd':
ensure => running,
enabled => true,
}
12. 12
Automação de Ambientes com Puppet
Arquitetura Puppet Master/Puppet Agent
if [ "`getent group sysadmin | awk -F: '{print $1}'`"
== "" ]
then
groupadd sysadmin
fi
13. 14
Automação de Ambientes com Puppet
Recursos do Puppet
Os recursos são blocos de construção. Quando combinados podem
fazer componentes maiores e modelar o estado esperado do seu sistema.
1# First Puppet Run
notice: /Group[sysadmin]/ensure: created
notice: /User[elmo]/ensure: created
notice: Finished catalog run in 0.08 seconds
2# Second Puppet Run
notice: Finished catalog run in 0.03 seconds
14. 19
Automação de Ambientes com Puppet
Idempotência
A propriedade que algumas operações na matemática e ciências da
computação tem de poderem ser aplicadas várias vezes sem que o valor
do resultado se altere após a aplicação inicial.
1# First Puppet Run
notice: /Group[sysadmin]/ensure: created
notice: /User[elmo]/ensure: created
notice: Finished catalog run in 0.08 seconds
2# Second Puppet Run
notice: Finished catalog run in 0.03 seconds
15. 20
VM/Cloud Provisioning
Automação de Ambientes com Puppet
1 – Criação de VM
Usando VMWare vSphere ou AWS.
2 – Instalação Automatica
O Puppet Agente em novos nodes.
3 – Configuração do Node
Usando definições existentes
26. 32
Automação de Ambientes com Puppet
4Linux e Puppet
A 4Linux é a primeira parceira da Puppet Labs no Brasil e oferece
serviço para implantação, consultoria, suporte e mentoria em Puppet.
27. 33
Case de Sucesso
➢ Ambiente separado em 3 módulos: Expresso
Caixa, Expresso Parceiros e Expresso
Prefeituras.
➢ Gerenciando balanceadores, frontends web,
IMAP, banco de dados, MTAs, dentre outros.