2 Comunidade Puppet-BR Introdução à IAC, GCONF, Puppet e novidades do Puppet 4 Automação e Código Puppet A u t o m a ç ã o & G E R Ê N C I A D E C O N F I G U R A Ç Õ E S
3 Flato Presentation IAC GCONF Puppet Contato Automação Conteúdo Nesta apresentação vamos falar sobre o Puppet e as novidades da versão 4 Comunidade Puppet-BR Rafael Sales Guto Carvalho Novidades V4
A virtualização e a computação em nuvem (em especial IaaS) impulsionaram a criação de ferramentas inteligentes para gestão destes recursos e destas novas demandas Mudando a forma de pensar O princípio fundamental IaaC é tratar sistemas e serviços da mesma forma que tratamos o código de um software. Sua infraestrutura é traduzida para uma linguagem que permite uma visualização clara de seu ambiente, sistemas, serviços, demonstrando seu comportamento e estado.
Visualizando sua infra Como código Comunidade Puppet-BR 9 Desenvolva sua infra Agora é possível lidar com infraestrutura como se fosse o desenvolvimento de um software, voce escreve código que representa os estados desejados a ferramenta toma conta da infra pra você
Infraestrutura como código usa técnicas, práticas e ferramentas do mundo do desenvolvimento de software, isto permite que ações sejam corretamente testadas antes de serem aplicadas em áreas críticas de nossa organização.
Ao tratar IAC da mesma forma que tratamos software, podemos pensar em versionamento, integração contínua, refatoração, programação em pares, testes, dentre outras técnicas para desenvolver a nossa infra
Mark Burgess Criador da teoria de gerência de configurações e estados Comunidade Puppet-BR Norueguês, professor universitário, criador da teoria Promise Sobre Criou o conceito Gerência de Configurações e estados convergentes O que fez Professor universitário, futurologista e tecnologista Personalidade Escreveu uma ferramenta em 93 que revolucionou o trabalho dos sysadmins Como fez 01 02 03 04 13
Gerência de Configuração Princípios básicos Comunidade Puppet-BR 14 Gerência de estados Enforcing Infra como código Documentação Gerenciar o estado de um sistema operacional e serviços nele executados Garantir que uma vez que um estado é definido este irá persistir mesmo que alguma alteração manual seja executada Você passa a ter toda a sua infraestrutura representada como código A representação da sua infraestrutura como código é sua documentação, e está é uma documentação executável
Ganhos com a automação Resultados a curto prazo 16 Disponibilidade Redução de downtime uma vez que as tarefas repetitivas e maçantes não são mais realizadas manualmente. Agilidade Agilidade nas mudanças que passam a ser realizadas por sua ferramenta de gerência de configuração. Visão Você passa a ter uma visão completa das mudanças em seu parque através dos relatórios emitidos pela ferramenta. Padronização Ao escrever módulos e definir sua infraestrutura como código seu ambiente se torna padronizado. Comunidade Puppet-BR
Ganhos com a automação Mudanças rápidas e precisas 17 Implantação Implantar novas soluções em todo o seu parque não será mais um desafio de alto risco Deploy Você conseguirá criar um processo de deploy claro, preciso e padronizado e com relatórios detalhados de cada mudança Comunidade Puppet-BR
Ganhos com a automação Resgate do seu tempo 18 Use seu tempo para algo produtivo Todo aquele tempo que voce investia em tarefas repetitivas, cansativas e chatas poderá ser recuperado e aplicado em atividades que vão agregar valor a sua organização, tais como planejamento, documentação, capacitação, treinamento dentre outras Comunidade Puppet-BR
Ganhos com a automação Potencializando o alcance de sua equipe 19 O Wallmart tem 50 mil servidores gerenciados pelo puppet, e faz isto com uma equipe com apenas 10 pessoas para manter essa infra toda. Com automação sua equipe mesmo que enxuta consegue fazer mais no mesmo tempo, de forma mais eficaz. Maior alcance Menor esforço Comunidade Puppet-BR
Revolução O que mudou nas empresas de que exigem alta performance em TI? Fonte: DevOps Report’2015 Puppet Labs 20 200 x 30 x mudanças mais rápidas (deploy) aumento na frequência de mudanças 60 x redução nas falhas 168 x recovery mais rápido Dados de empresas que adotaram princípios da cultura DevOps e automação de 2010 a 2015.
Luke Kanies Autor do Puppet e CEO da Puppet Labs Comunidade Puppet-BR Vive em Portland é autor do Puppet e CEO da Puppet Sobre Criou uma das mais eficientes ferramentas de GCONF até hoje O que fez Apóia várias comunidades envolvidas com DevOps, GCONF e Automação Personalidade Criou a Puppet Labs para revolucionar a gerência de sistemas e serviços Como fez 01 02 03 04 22
24 Comunidade Puppet-BR 2005 Durante seus estudos de ruby resolveu escrever uma ferramenta de gerência de configurações que realmente atendesse suas necessidades de administração de servidores em datacenters, algo que fosse além do ssh em loop 2007 Criou a Reductive Labs empresa de automação de infraestutura que tinha como produto principal o Puppet Luke Kanies
26 Comunidade Puppet-BR 2010 O nome da empresa muda para Puppet Labs e ela recebe nova rodada de investimentos da Kleiner Perkins Caufield & Byers são mais cinco milhões de dólares injetados para o desenvolvimento do Puppet e da Puppet Labs. Puppet chegava a versão 0.25. Mcollective chega a versão 1.0. 2011 Cisco, Google e VMWARE investem mais oito milhões de dólares na Puppet Labs. Puppet chega a versão 2.6 e lança seu primeiro produto comercial Puppet Enterprise. É criado o Hiera.
27 Comunidade Puppet-BR 2012 VMWARE investe 30 milhões de dólares na Puppet Labs. São lançados os treinamentos oficiais e o programa de certificação. Puppet Enterprise chega a versão 2. É criado o PuppetDB. 2013 Puppet chega a versão 3 estável, primeira versão do Puppet Enterprise 3 é lançada.
28 Comunidade Puppet-BR 2014 O treinamento oficial advanced dá lugar a dois novos treinamentos Puppet Practitioner e Puppet Architect. É criado o PuppetServer e o trapkeeper. 2015 É criado o puppet-agent e o beaker. Puppet chega à versão 4. É lançado o Puppet Orchestrator na PuppetConf’2015.
29 Comunidade Puppet-BR 2016 Estamos na versão 4.4.2 do agente. Foi lançado o Puppet Enterprise 2016.1. A Puppet Labs passa a ser apenas Puppet, toda sua identidade visual muda, ganha um presidente, nova estrutura interna, e novos tempos se iniciam no desenvolvimento do projeto.
Puppet Configuration Gerenciando estados Comunidade Puppet-BR 33 Primeiro você define o estado desejado de sua infraestrutura usando a linguagem declarativa do puppet O Puppet pode simular a aplicação do que você definiu para testar o resultado final O puppet checará o estado do sistema e fará mudanças se for necessário Todas as diferenças e mudanças aplicadas serão reportadas através de um relatório Describe Simulate Enforce Report
Network Comunicação do Puppet 38 Totalmente seguro A comunicação entre master e agente é segura, são utilizados certificados digitais para a comunicação, todos os dados que trafegam estão criptografados e só o master e o agente conseguem ler estes dados. Comunidade Puppet-BR
Abstração Diga o que você precisa Comunidade Puppet-BR 39 RAL Resource Abstraction Layer O Puppet oferece uma poderosa comanda de abstração que permite que você descreva os estados sem se preocupar com detalhes de execução
Facter Informações do node 42 Fatos Os Fatos são informações geradas pelo facter, elas trazem dados importantes sobre o nome com OS, Kernel, IP, Distro dentre outras, estes fatos permitem o tratamento de exceções, deixando nossos manifests muitos mais ricos Comunidade Puppet-BR
Templates Arquivos gerados dinamicamente 43 ERB & EPP O Puppet oferece uma um mecanismo para gerar arquivos dinamicamente utilizando variáveis e fatos, isto permite que nós criemos um arquivo que consegue se adaptar a N cenários e nodes Comunidade Puppet-BR
Sobre a Puppet Dados da empresa 45 Mais de 4 mil módulos no Puppet Forge FORGE COMUNNITY Mais de 30.000 usuários ativos na comunidade entre listas, irc e forge ALCANCE Mais de 10 milhões de nodes gerenciados Comunidade Puppet-BR
Puppet Toolchain Ferramentas que orbitam e fazem parte do projeto 47 Mcollective Application Orchestration PuppetDB RSPEC Puppet Beaker Razor Hiera Facter R10K Comunidade Puppet-BR
Puppet Enterprise Console Interface web para classificação e consulta de dados 49 Console Nesta imagem estamos visualizando as informações do ciclo de vida dos node, os dados estão consolidados no overview Comunidade Puppet-BR
Puppet V4 Principais Novidades 51 Instalador AIO independente do Sistema Operacional Novo servidor PuppetServer rodando em JVM escrito em Clojure JRuby O uso do novo sistema de environments passa a ser obrigatório Melhorias e expansão da linguagem o que a torna mais poderosa Instalador Environments Linguagem Engine CFacter Novo facter muito mais rápido
Onde ficam os arquivos? do pacote AIO Comunidade Puppet-BR 53 /etc/puppetlabs /etc/puppetlabs/code /opt/puppetlabs Novo Path Com o instalador AIO os paths no seu sistema operacional mudam sensivelmente
Compatibilidade e migração Entenda como funciona Comunidade Puppet-BR 54 Compatibilidade O agente do Puppet 3 fala com o servidor Puppet 4, isto facilita a migração Unificação Os agentes do Puppet e Puppet Enterprise foram unificados para facilitar o desenvolvimento e migração
Participe da comunidade Venha aprender puppet com a gente Comunidade Puppet-BR 58 IRC Site & Planeta Telegram Lista Acesse o canal #puppet-br na rede freenode de IRC com seu cliente preferido Acesse o site puppet-br.org e o planeta.puppet-br.org Entre no grupo telegram.me/puppetbr no telegram. Participe das listas no google groups puppet- users-br e mcollective- users-br.