Prestação de serviços em: Baseados em: Para construir sua infraestrutura de TI e criar novas soluções de negócio. - Consultoria - Suporte - Projetos



Documentos relacionados
Monday, August 6, 12

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

CISL Brasília/DF. Infraestrutura ágil com Puppet por Guto Carvalho

Webinar Introdução ao Puppet Enterprise

Assuma o controle de suas configurações Palestrantes:

Gerenciamento Avançado de Ambientes com Puppet

DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% de uptime

COORDENAÇÃO DE TECNOLOGIA (COTEC) AGOSTO/2010

Os clientes devem fornecer todos os materiais de operação necessários quando solicitados pelo engenheiro.

Trabalho na 4Linux a 2 anos, e mexo com Linux a 5 anos.

Online Help StruxureWare Data Center Expert

Mcollective. Orquestrando o seu parque de servidores

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Funcionalidades da ferramenta zabbix

Líder em Soluções Samba 4 no Brasil

Monitoramento com Software Livre Zabbix

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift

Soluções Completas. Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de:

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)

Projeto e Instalação de Servidores Introdução a Servidores

A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC

AS CONSULTORIA & TREINAMENTOS. Pacote VIP. Linux Básico Linux Intermediário Samba 4 Firewall pfsense

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Uma poderosa ferramenta de monitoramento. Madson Santos - madson@pop-pi.rnp.br Técnico de Operação e Manutenção do PoP-PI/RNP

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Realizando inventário e gestão de hardware e software utilizando o OCS Inventory NG. Dario Kuceki Knopfholz

Manual de Instalação do Agente Citsmart

Serviços de produtividade de nuvem hospedados pela Microsoft Ferramentas de qualidade empresarial a um preço acessível Sempre atualizado Office,

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

CURSO PRÁTICO. Módulo 2 Pré-requisitos. Application Virtualization 5.0. Nível: Básico / Intermediário

Passo a passo para instalação de um Servidor SSH

Apresentação. Treinamento OTRS Help Desk

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

V ENSOL. Construindo Firewalls Redundantes em Ambientes GNU/Linux Segurança e Alta Disponibilidade. Jansen Sena. Julho, João Pessoa, PB.

SERVIDORES REDES E SR1

Classificação::Modelo de implantação

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

35% GARTNER. Despesas com tecnologia ocorrem fora da T.I. Fazem uso de tecnologias não aprovadas pela T.I.

Instalação do VOL Backup para Sistemas Unix-Like

Universidade Católica de Brasília Pró-reitoria de Graduação Curso de Ciência da Computação

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Microsoft Azure. Softmanager Soluções em TI. ModernBiz

Test Driven Infrastructure na Globo.com. globo. .com. Fernando Carolo e Rogério Schneider QCon São Paulo 2014

INTERNET HOST CONNECTOR

Orquestrando Docker Containers

INSTALANDO SISTEMA PFSENSE COMO FIREWALL/PROXY

CONSULTORIA E SERVIÇOS DE INFORMÁTICA

FACULDADE TECNOLOGIA SENAC GOIÁS

Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

Desenvolvendo Websites com PHP

Soluções em Tecnologia da Informação

Excelência em Metodologia de Helpdesk

Manual de instalação Servidor Orion Phoenix

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Ricardo R. Lecheta. Novatec

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

FACULDADE SENAC-RS PELOTAS RODRIGO ALMEIDA PEREIRA. Sistemas de Informação

O que é a BuenitStore

INTRODUÇÃO: 1 - Conectando na sua conta

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Parceiro Oficial de Soluções Zabbix no Brasil

Problemas detectados

Administrando o sistema linux TCP/IP

Software Livre e proprietário: Coexistência de diferentes formas de Licenciamento, interoperabilidade e eficiência na inclusão digital e social.

ADMINISTRAÇÃO E SERVIÇOS DE REDE

UM PBX GENUINAMENTE BRASILEIRO

Configurando o IIS no Server 2003

VDESK 2011 Desktop Virtualization

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Administração de Sistemas GNU/Linux

HOW TO Procedimento para instalar Aker Firewall virtualizado no ESXi 5.0

Instalando o Debian em modo texto

Guia do Aplicativo Bomgar B200 Índice

UM PBX GENUINAMENTE BRASILEIRO MANUAL DE INSTALAÇÃO COM IMAGEM ISO

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Treinamento em Alfresco Open Source Enterprise Content Management ( ECM ) - GED Gestão Eletrônica de Documentos

Monitoramento Open source com Zabbix Giovanni Oliveira Renato Resende

Config. do módulo MSA com dispositivos REP.

- Wireless e NTP - 272

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Projeto Integrador Projeto de Redes de Computadores

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

MSN-Proxy v0.7 no Debian 5 (Atualizado)

Consultoria sobre Joomla!

IV Workshop VoIP Felipe Tocchetto

NetEye Guia de Instalação

MONITORAMENTO DO AMBIENTE TECNOLÓGICO FoccoMONITOR

FUNDAÇÃO PARQUE TECNOLÓGICO ITAIPU - BRASIL REGULAMENTO DO PROCESSO SELETIVO Nº 42.15

NOVO MODELO DE ATUALIZAÇÃO FOCCO Atualização automática com o FoccoUPDATE

OpenSSH

Transcrição:

Prestação de serviços em: Baseados em: - Consultoria - Suporte - Projetos - Desenvolvimento - Soluções e Aplicativos - Treinamento - Softwares Livres - Open Source - Padrões Abertos Para construir sua infraestrutura de TI e criar novas soluções de negócio.

Gerência de Configurações em Cloud Puppet em ambientes IaaS José Augusto (Guto) Carvalho jose.carvalho@4linux.com.br

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ília

Puppet em IaaS

Plano de Trabalho 40 minutos de apresentação 5 minutos para perguntas

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 Perguntas

Cloud Computing - Tendência

Cloud e seus Benefícios Hiper-escalável Rápida e elástica Abstração de hardware Infraestrutura dinâmica Alta-disponibilidade Investimento atraente

Provisionamento Podemos criar 500 VM s em poucos minutos

Como Administrar 500 VM s?

Configuração Manual?

Acesso Secure Shell (ssh)?

Host a Host?

Quantos SysAdmins são necessários para administrar 500 servidores?

Qual a velocidade nas mudanças em seu ambiente?

Qual a probabilidade de falhas decorrentes de mudanças manuais?

Você consegue manter todo o seu ambiente padronizado?

Seu custo com manutenção e equipes técnicas está aumentando?

Está difícil colocar suas configurações nos trilhos?

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

Gerência de Configurações

Padronização

Automatização

Controle

Integridade

Desempenho

Agilidade nas mudanças

Puppet Ferramenta de nova geração que implementa gerência de configurações para seu ambiente.

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)

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 Enterprise

Feito por um SysAdmin para SysAdmins

Eficiente para uso DevOps

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)

Cases Puppet

Arquitetura Como funciona o Puppet?

Resource Abstraction Layer (RAL)

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 fazer

Instale Pacote X

Remova usuário Z

(Re)inicie serviço Y

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

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

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.

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álogo

Idempotência

Funcionamento Módulos Estáticos Puppet Master Configurações Voláteis e Dados Camada de Serviços Estruturantes LDAP DNS MONIT SYSLOG Camada de Aplicação JBOSS APACHE MYSQL PGSQL Puppet Agents

Puppet Master 8140 TCP Client puppetd -t SSL 8139 TCP Server puppetrun Puppet Client Puppet Visão em Rede

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.

Quando seu ambiente IaaS começar a crescer demais você vai perceber administrá-lo não é tão simples.

Adicionando Novos Nodes NGINX ZABBIX JBOSS POSTGRESQL MEMCACHED

Adicionando Novos Nodes NGINX ZABBIX JBOSS POSTGRESQL MEMCACHED Adicionar um novo node representa N mudanças

Adicionando Novos Nodes NGINX ZABBIX JBOSS POSTGRESQL MEMCACHED sysadmin-utils zabbix-agent ntpconf locales hosts users localmta smtpd vimrc backup-agent apt-repos

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 controlada

Insira o Puppet na imagem de instalação de seus nodes.

Não tenha medo de realizar atualizações, o puppet faz pra você!

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

Como funciona o modo cliente/servidor?

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

Fluxo Cliente/Servidor Instalação do node

Fluxo Cliente/Servidor Instalação do node Inicialização do puppet

Fluxo Cliente/Servidor Instalação do node Inicialização do puppet Geração de Certificado

Fluxo Cliente/Servidor Instalação do node Inicialização do puppet Geração de Certificado Envio de Certificado

Fluxo Cliente/Servidor Instalação do node Inicialização do puppet Geração de Certificado Master Assina Certificado Envio de Certificado

Fluxo Cliente/Servidor Instalação do node Inicialização do puppet Geração de Certificado Agente Sincroniza Master Assina Certificado Envio de Certificado

Fluxo Cliente/Servidor Instalação do node Inicialização do puppet Geração de Certificado Agente Sincroniza Master Assina Certificado Envio de 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ção

Quais recursos estão disponíveis?

Recursos do Puppet Resource Types Parâmetros e Meta-parâmetros Templates e Definições Classes e Módulos Funções e Condicionais

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.

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

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

Resource Type: File Especifique permissões e owners Declare arquivos, diretórios e links Controle de mudanças usando até 15 tipos de checksums

Exemplos

Instala, Configura e Inicia debian-way # aptitude install apache2 # update-rc.d -f apache2 defaults # cp ~/httpd.conf /etc/apache2/ # invoke-rc.d apache2 start

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, }

Instala, Configura e Inicia package { 'apache2': ensure => present, } service { 'apache2': ensure => running, enable => true, } resource type parameter title value file { 'httpd.conf': path => /etc/apache2/httpd.conf, source => /etc/puppet/files/httpd.conf, }

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 }

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 }

Variáveis e Fatos Fatos (facter) domain 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, Variáveis vimpackage => vim-puppet, apacheservice => apache2, ntpconfrhel => ntp.conf.rhel,

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',

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',

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.dominio

Como acompanho mudanças?

Puppet Dashboard

Posso fazer mudanças em tempo real?

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

Qual o resultado concreto?

Documentação Instantânea

Restore e backup de mudanças

Processos bem definidos

Ambiente Padronizado

Tarefas Automatizadas

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

Tecnologia trabalhando para você

E a compatibilidade?

Puppet & Cloud IaaS Cloud Tools (FOSS) Cloud Hosts Ganeti

Boas Práticas

Use API do fornecedor

Desenvolva sua Infra

Versione suas configurações

Reaproveite Código

GitHub & PuppetForge

Pesquise!

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

4Linux & PuppetLabs 1o Parceiro no Brasil Consultores Especializados Cases no Governo Federal Suporte Puppet Enterprise Treinamentos Puppet Master

Puppet na rede Site/Blog http://www.puppetlabs.com http://www.puppetlabs.com/blog/ http://puppet-br.org/ Twitter @puppetlabs GitHub http://www.github.com/puppelabs Google Groups Puppet-camp, puppet-users, puppet-users-br, puppet-dev IRC irc.freenode.org #puppet #puppet-br

Perguntas?

4linux na rede Contato Twitter @4linuxBR Facebook /4Linux Twitter @gutocarvalho jose.carvalho@4linux.com.br slideshare.net/gutocarvalho Obrigado!

Prestação de serviços em: Baseados em: - Consultoria - Suporte - Projetos - Desenvolvimento - Soluções e Aplicativos - Treinamento - Softwares Livres - Open Source - Padrões Abertos Para construir sua infraestrutura de TI e criar novas soluções de negócio.

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 Yes