SlideShare una empresa de Scribd logo
1 de 145
Descargar para leer sin conexión
Brasília/DF
2013-04-27
Infraestrutura como código - Apresentando Puppet
Guto Carvalho
sexta-feira, 16 de agosto de 13
Oficina infraestrutura como código
Apresentando: Puppet
Guto Carvalho
gutocarvalho@gmail.com
sexta-feira, 16 de agosto de 13
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
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
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
Administração de sistemas e serviços
sexta-feira, 16 de agosto de 13
Virtualização
sexta-feira, 16 de agosto de 13
Cloud Computing
sexta-feira, 16 de agosto de 13
Administração Manual
sexta-feira, 16 de agosto de 13
Administração Manual
Tarefas repetitivas
Não existem padrões
Não existem procedimentos
sexta-feira, 16 de agosto de 13
Cada sysadmin faz do seu jeito
sexta-feira, 16 de agosto de 13
Tarefas Repetitivas	
Criaçã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
A medida que o parque aumenta
administrá-lo fica mais complicado
sexta-feira, 16 de agosto de 13
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
Maior risco de falhas
sexta-feira, 16 de agosto de 13
Maior tempo gasto para
executar mudanças
sexta-feira, 16 de agosto de 13
Criação de
usuário
450 máquinas
3 minutos por máquina
1350 minutos ou 22,5 horas
450 trocas de senhas
sexta-feira, 16 de agosto de 13
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
Instalação de
agente de
monitoramento
450 máquinas
10 minutos por máquina
4500 minutos ou 75 horas
9 dias trabalhando 8 h.p.d
sexta-feira, 16 de agosto de 13
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
Documentação inexistente
sexta-feira, 16 de agosto de 13
Não há rastreamento de mudanças
sexta-feira, 16 de agosto de 13
sexta-feira, 16 de agosto de 13
Você começa a ter a sensação de estar sendo
engolido por seu ambiente?
sexta-feira, 16 de agosto de 13
Como resolver
estes problemas?
Como obtenho controle e
padronização em meu
ambiente ?
sexta-feira, 16 de agosto de 13
Gerência de Configurações
sexta-feira, 16 de agosto de 13
Padronização
sexta-feira, 16 de agosto de 13
Automatização
sexta-feira, 16 de agosto de 13
Controle
sexta-feira, 16 de agosto de 13
Integridade
sexta-feira, 16 de agosto de 13
Agilidade nas mudanças
sexta-feira, 16 de agosto de 13
Puppet
Ferramenta de nova geração
que implementa gerência de
configurações para seu
ambiente.
sexta-feira, 16 de agosto de 13
Puppet em poucas palavras
sexta-feira, 16 de agosto de 13
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
Sobre a ferramenta
sexta-feira, 16 de agosto de 13
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
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
Feito por um SysAdmin para SysAdmins
sexta-feira, 16 de agosto de 13
Desenhada para uso DevOps
sexta-feira, 16 de agosto de 13
sexta-feira, 16 de agosto de 13
DEVOPS
Developers (Dev)
Operations (Ops)
sexta-feira, 16 de agosto de 13
Visão DevOps
sexta-feira, 16 de agosto de 13
Veja palestra DevOps do Flisol/DF 2013
sexta-feira, 16 de agosto de 13
Tech Specs
sexta-feira, 16 de agosto de 13
Tech Specs
Escrito 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
Cases Puppet Enterprise
sexta-feira, 16 de agosto de 13
Cases Puppet Gov Brasil
Detran/DF
EBC - Empresa Brasil de Comunicação
CAIXA (expresso)
CAIXA (estação financeira)
CAIXA (proinfo)
SERPRO
....
sexta-feira, 16 de agosto de 13
Arquitetura
Como funciona o Puppet?
sexta-feira, 16 de agosto de 13
Resource Abstraction Layer
(RAL)
sexta-feira, 16 de agosto de 13
Resource Abstraction Layer
sexta-feira, 16 de agosto de 13
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
Instale Pacote X
sexta-feira, 16 de agosto de 13
Remova usuário Z
sexta-feira, 16 de agosto de 13
(Re)inicie serviço Y
sexta-feira, 16 de agosto de 13
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
Tratamento de informações
sexta-feira, 16 de agosto de 13
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
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
Processamento
do Catálogo
1) Agente Requisita Catálogo
2) Agente envia Fatos para Master
3) Master Processa Fatos e Compara
4) Master Produz e envia Catálogo
5) Node Recebe, Compara e Aplica
6) Node informa estado atual ao Master
7) Sistema reflete catálogo
sexta-feira, 16 de agosto de 13
Processamento
do Catálogo
1) Agente Requisita Catálogo
2) Agente envia Fatos para Master
3) Master Processa Fatos e Compara
4) Master Produz e envia Catálogo
5) Node Recebe, Compara e Aplica
6) Node informa estado atual ao Master
7) Sistema reflete catálogo
sexta-feira, 16 de agosto de 13
Idempotência
sexta-feira, 16 de agosto de 13
Configurações
Voláteis e Dados
Puppet
Master
Mó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
Você pode fazer deploy de sua APP
Você pode controlar a versão de sua APP
sexta-feira, 16 de agosto de 13
sexta-feira, 16 de agosto de 13
Como funciona o modo cliente/servidor?
sexta-feira, 16 de agosto de 13
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
Puppet Visão em Rede
Puppet Master
Puppet Client
8140 TCP
Client
puppetd -t
8139 TCP
Server
puppetkick
SSL
sexta-feira, 16 de agosto de 13
Fluxo Cliente/Servidor
Instalação do
node
sexta-feira, 16 de agosto de 13
Fluxo Cliente/Servidor
Instalação do
node
Inicialização
do puppet
sexta-feira, 16 de agosto de 13
Fluxo Cliente/Servidor
Instalação do
node
Geração de
Certificado
Inicialização
do puppet
sexta-feira, 16 de agosto de 13
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
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
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
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 Certificado
Assinatura pode ser manual
Assinatura pode ser automática por domínio
Assinatura pode ser automática em qualquer requisição
sexta-feira, 16 de agosto de 13
O agente se comunica com o
master a cada N minutos
sexta-feira, 16 de agosto de 13
Posso forçar execução do agente
de forma remota?
sexta-feira, 16 de agosto de 13
sexta-feira, 16 de agosto de 13
Quais recursos estão disponíveis?
sexta-feira, 16 de agosto de 13
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
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
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ão
sexta-feira, 16 de agosto de 13
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 arquivo
sexta-feira, 16 de agosto de 13
Resource Type: File
Especifique 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
Exemplos
sexta-feira, 16 de agosto de 13
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
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
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 type
parameter
title
value
sexta-feira, 16 de agosto de 13
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
}
sexta-feira, 16 de agosto de 13
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
}
sexta-feira, 16 de agosto de 13
Variáveis e Fatos
Fatos (facter)
vimpackage => vim-puppet,
apacheservice => apache2,
ntpconfrhel => ntp.conf.rhel,
Variáveisdomain
fqdn
hostname
interfaces
ipaddress_eth0
ipaddress_eth1
ipaddress_lo
lsbdistid
lsbdistrelease
=> 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
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',
}
}
....
sexta-feira, 16 de agosto de 13
Definições
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_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',
=> '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',
sexta-feira, 16 de agosto de 13
Templates
myorigin = <%= hostname %>
mydestination = $myhostname, ..., localhost, <%= fqdn %>
Trecho do template postfix/main.cf
myorigin = servidor.dominio
mydestination = $myhostname, ..., localhost, servidor.dominio
Substituição de variáveis por fatos
sexta-feira, 16 de agosto de 13
Como acompanho mudanças?
sexta-feira, 16 de agosto de 13
Puppet Dashboard
sexta-feira, 16 de agosto de 13
sexta-feira, 16 de agosto de 13
Posso fazer mudanças em
tempo real?
sexta-feira, 16 de agosto de 13
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
Mão na Massa
sexta-feira, 16 de agosto de 13
http://gutocarvalho.net/dokuwiki
http://172.16.61.105/
puppet serverless
sexta-feira, 16 de agosto de 13
Demonstração do puppet em modo autônomo
sexta-feira, 16 de agosto de 13
puppet resource (ral)
sexta-feira, 16 de agosto de 13
puppet apply manifest.pp
sexta-feira, 16 de agosto de 13
manifests
sexta-feira, 16 de agosto de 13
resource type file
sexta-feira, 16 de agosto de 13
resource type package
sexta-feira, 16 de agosto de 13
resource type service
sexta-feira, 16 de agosto de 13
resource type user
sexta-feira, 16 de agosto de 13
condicionais, templates, definições...
sexta-feira, 16 de agosto de 13
puppet filebucket
sexta-feira, 16 de agosto de 13
puppet parser
sexta-feira, 16 de agosto de 13
Demonstração do puppet modo cliente servidor
sexta-feira, 16 de agosto de 13
site.pp
sexta-feira, 16 de agosto de 13
nodes
sexta-feira, 16 de agosto de 13
classes
sexta-feira, 16 de agosto de 13
módulos
sexta-feira, 16 de agosto de 13
puppet agent --test
sexta-feira, 16 de agosto de 13
Demonstração mcollective
sexta-feira, 16 de agosto de 13
mco puppet runonce -v
sexta-feira, 16 de agosto de 13
mco facts operatingsystem -v
sexta-feira, 16 de agosto de 13
mco shell “uptime” -v
sexta-feira, 16 de agosto de 13
Puppet Labs
sexta-feira, 16 de agosto de 13
Qual o resultado concreto?
sexta-feira, 16 de agosto de 13
Documentação Instantânea
sexta-feira, 16 de agosto de 13
Processos bem definidos
sexta-feira, 16 de agosto de 13
Ambiente Padronizado
sexta-feira, 16 de agosto de 13
Restore e backup de mudanças
sexta-feira, 16 de agosto de 13
Tarefas Automatizadas
sexta-feira, 16 de agosto de 13
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 e suas madrugas e finais de semana serão seus
sexta-feira, 16 de agosto de 13
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
Tecnologia trabalhando para você
sexta-feira, 16 de agosto de 13
Boas Práticas
sexta-feira, 16 de agosto de 13
Insira o puppet nos templates
de seu hypervisor
sexta-feira, 16 de agosto de 13
Use o puppet para executar e
controlar mudanças em seu parque
sexta-feira, 16 de agosto de 13
Para de administrar e comece a
desenvolver a sua infraestrutura
sexta-feira, 16 de agosto de 13
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
Versione as configurações (git)
criadas no Puppet.
sexta-feira, 16 de agosto de 13
Reaproveite código, escreva seus módulos
da forma mais flexível possível.
sexta-feira, 16 de agosto de 13
Não precisa começar do zero, use
módulo prontos do GitHub e
PuppetForge.
sexta-feira, 16 de agosto de 13
Pesquise, há muita informação
sobre puppet na rede!
sexta-feira, 16 de agosto de 13
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 PM
sexta-feira, 16 de agosto de 13
Puppet Labs
sexta-feira, 16 de agosto de 13
Site/Blog
http://www.puppetlabs.com
http://www.puppetlabs.com/blog/
http://puppet-br.org/
Twitter
@puppetlabs
GitHub
http://www.github.com/puppelabs
Puppet na rede
Google Groups
Puppet-camp,
puppet-users,
puppet-users-br,
puppet-dev
IRC
irc.freenode.org
#puppet
#puppet-br
sexta-feira, 16 de agosto de 13
Perguntas?
sexta-feira, 16 de agosto de 13
Obrigado!
Linkedin: http://br.linkedin.com/in/gutocarv
E-mail: gutocarvalho@gmail.com
Contato
Slides: slideshare.net/gutocarvalho
Blog: gutocarvalho.net
Twitter: @gutocarvalho
sexta-feira, 16 de agosto de 13

Más contenido relacionado

La actualidad más candente

Automação de Ambientes com Puppet
Automação de Ambientes com Puppet Automação de Ambientes com Puppet
Automação de Ambientes com Puppet
4LinuxCursos
 

La actualidad más candente (20)

Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
 
Async/Await Pattern in C#
Async/Await Pattern in C#Async/Await Pattern in C#
Async/Await Pattern in C#
 
Uma breve introdução ao Terraform
Uma breve introdução ao TerraformUma breve introdução ao Terraform
Uma breve introdução ao Terraform
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php
 
Sim, existe vida além do FTP!
Sim, existe vida além do FTP!Sim, existe vida além do FTP!
Sim, existe vida além do FTP!
 
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - PuppetGerenciamento de Configurações - Puppet
Gerenciamento de Configurações - Puppet
 
Hotspot Green and Blue Label - Switching the labels!
Hotspot Green and Blue Label - Switching the labels!Hotspot Green and Blue Label - Switching the labels!
Hotspot Green and Blue Label - Switching the labels!
 
Lidando com operações assíncronas no redux com redux saga
Lidando com operações assíncronas no redux com redux sagaLidando com operações assíncronas no redux com redux saga
Lidando com operações assíncronas no redux com redux saga
 
React Hooks e como adotar
React Hooks e como adotarReact Hooks e como adotar
React Hooks e como adotar
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 
Automação de Ambientes com Puppet
Automação de Ambientes com Puppet Automação de Ambientes com Puppet
Automação de Ambientes com Puppet
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Construindo uma API, Client e Documentação usando Silex, Angular e Swagger
Construindo uma API, Client e Documentação usando Silex, Angular e SwaggerConstruindo uma API, Client e Documentação usando Silex, Angular e Swagger
Construindo uma API, Client e Documentação usando Silex, Angular e Swagger
 
Python na Web
Python na WebPython na Web
Python na Web
 

Similar a Oficina de infraestrutura como código (apresentando o Puppet)

Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010
Fabrízio Mello
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
Fabrízio Mello
 

Similar a Oficina de infraestrutura como código (apresentando o Puppet) (20)

IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 
Puppet Cloud IaaS
Puppet Cloud IaaSPuppet Cloud IaaS
Puppet Cloud IaaS
 
Fabric
FabricFabric
Fabric
 
Php do Jeito Certo
Php do Jeito CertoPhp do Jeito Certo
Php do Jeito Certo
 
Ao infinito e além com PHP memcached e Gearman
Ao infinito e além com PHP memcached e GearmanAo infinito e além com PHP memcached e Gearman
Ao infinito e além com PHP memcached e Gearman
 
Bt4 H2HC6th
Bt4 H2HC6thBt4 H2HC6th
Bt4 H2HC6th
 
Deploy completo de uma aplicação Django
Deploy completo de uma aplicação DjangoDeploy completo de uma aplicação Django
Deploy completo de uma aplicação Django
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppet
 
WordPress na Amazon AWS - Cloud36
WordPress na Amazon AWS - Cloud36WordPress na Amazon AWS - Cloud36
WordPress na Amazon AWS - Cloud36
 
Seu site voando
Seu site voandoSeu site voando
Seu site voando
 
Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e devel
 
PT-BR - Lauching a Public PaaS on Open Source Getup & OpenShift Origin - FISL14
PT-BR - Lauching a Public PaaS on Open Source Getup & OpenShift Origin - FISL14PT-BR - Lauching a Public PaaS on Open Source Getup & OpenShift Origin - FISL14
PT-BR - Lauching a Public PaaS on Open Source Getup & OpenShift Origin - FISL14
 
Gerência de redes utilizando o cacti
Gerência de redes utilizando o cactiGerência de redes utilizando o cacti
Gerência de redes utilizando o cacti
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 
Desenvolvimento Web com Django
Desenvolvimento Web com DjangoDesenvolvimento Web com Django
Desenvolvimento Web com Django
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
PaaS - OpenShift como plataforma pública
PaaS - OpenShift como plataforma públicaPaaS - OpenShift como plataforma pública
PaaS - OpenShift como plataforma pública
 
Puppet 3 em 2017
Puppet 3 em 2017Puppet 3 em 2017
Puppet 3 em 2017
 

Más de Jose Augusto Carvalho (7)

Cultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develCultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e devel
 
Conhecendo o Wordpress
Conhecendo o WordpressConhecendo o Wordpress
Conhecendo o Wordpress
 
Monitoração avançada com Zabbix 2
Monitoração avançada com Zabbix 2Monitoração avançada com Zabbix 2
Monitoração avançada com Zabbix 2
 
O que é DevOps afinal?
O que é DevOps afinal?O que é DevOps afinal?
O que é DevOps afinal?
 
Palestra Puppet Hora Livre
Palestra Puppet Hora LivrePalestra Puppet Hora Livre
Palestra Puppet Hora Livre
 
Oficina Puppet latinoware
Oficina Puppet latinowareOficina Puppet latinoware
Oficina Puppet latinoware
 
Documentando de forma Ágil (usando dokuwiki)
Documentando de forma Ágil (usando dokuwiki)Documentando de forma Ágil (usando dokuwiki)
Documentando de forma Ágil (usando dokuwiki)
 

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