$30 off During Our Annual Pro Sale. View Details »

Meetup Puppet-BR 20160518 - Intro Puppet

Meetup Puppet-BR 20160518 - Intro Puppet

Intro puppet do meetup puppet brasilia 20160518

Guto Carvalho

May 26, 2016
Tweet

More Decks by Guto Carvalho

Other Decks in Technology

Transcript

  1. Meetup Puppet Brasil - Brasília - 18/Mai/16

    View Slide

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

    View Slide

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

    View Slide

  4. Entenda este conceito
    Infraestrutura como código

    View Slide

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

    View Slide

  6. Visualizando sua infra
    Do ponto de vista físico
    Comunidade Puppet-BR 6

    View Slide

  7. Visualizando sua infraestrutura
    Em forma de diagramas
    Comunidade Puppet-BR 7

    View Slide

  8. Infraestrutura como código
    Exemplo de JSON da AWS
    Comunidade Puppet-BR 8

    View Slide

  9. 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ê

    View Slide

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

    View Slide

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

    View Slide

  12. Vamos entender como tudo começou
    Gerência de Configurações
    12

    View Slide

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

    View Slide

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

    View Slide

  15. Entenda quais os principais ganhos ao adotar automação
    Ganhos com automação

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. Vamos entender como tudo começou, como o termo surgiu, quais foram as
    motivações para a criação deste movimento
    Origens do Puppet
    21

    View Slide

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

    View Slide

  23. Puppet Time Line
    Um viagem pelas origens do Puppet

    View Slide

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

    View Slide

  25. 25
    Comunidade Puppet-BR
    2009
    A Reductive Labs recebe investimento de
    dois milhões de dólares da True Ventures e
    outros investidores privados

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. Vamos entender como o Puppet implementa os conceitos de gerência de configuração
    Modelo Puppet

    View Slide

  31. Administração legada
    que o puppet se propõe a substituir
    Comunidade Puppet-BR 31
    Slide da Puppet Labs

    View Slide

  32. Puppet
    Principais Características
    32
    Infra como código Pronto para Cloud Linguagem
    Declarativa
    Documentação

    Executável
    Suporte a 

    diversos OS

    View Slide

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

    View Slide

  34. Modelo de automação
    do Puppet
    Comunidade Puppet-BR 34
    Slide da Puppet Labs

    View Slide

  35. Clico da execução
    de um agente puppet
    Comunidade Puppet-BR 35
    Slide da Puppet Labs

    View Slide

  36. Puppet Drift
    Convergência para o estado desejado
    Comunidade Puppet-BR 36
    Slide da Puppet Labs

    View Slide

  37. Comunidade Puppet-BR 37
    Puppet Drift
    Robustês nos relatórios e logs de eventos
    Slide da Puppet Labs

    View Slide

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

    View Slide

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

    View Slide

  40. Comparando linguagens
    Declarativa x Imperativa
    40
    Slide da Puppet Labs
    Comunidade Puppet-BR

    View Slide

  41. Resource Types
    para manipulação do sistema operacional e serviços
    Comunidade Puppet-BR 41
    Slide da Puppet Labs

    View Slide

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

    View Slide

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

    View Slide

  44. Dashboards open source
    Que podem ser integradas ao Puppet
    44
    Comunidade Puppet-BR

    View Slide

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

    View Slide

  46. Sobre a Puppet
    Maior deploy
    46
    Wallmart
    Mais de 50 mil
    nodes gerenciados
    em 5 continentes
    Comunidade Puppet-BR

    View Slide

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

    View Slide

  48. Puppet Enterprise
    Suporte da Puppet Labs e console web
    48
    Comunidade Puppet-BR

    View Slide

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

    View Slide

  50. Vamos apresentar alguns dados do DevOps report de 2015
    Novidades do Puppet 4

    View Slide

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

    View Slide

  52. AIO
    Abrindo o pacote
    Comunidade Puppet-BR 52
    Hiera Augeas MCollective
    Facter Ruby
    OpenSSL Gems
    Agent

    View Slide

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

    View Slide

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

    View Slide

  55. Linguagem
    Principais novidades
    55
    Types Functions EPP Template Heredoc
    Comunidade Puppet-BR

    View Slide

  56. 56
    Comunidade Puppet-BR
    PUPPET V4
    Faça a migração o quanto antes, vale a pena!
    d

    View Slide

  57. 57
    QA
    Comunidade Puppet BR

    View Slide

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

    View Slide

  59. Entre em Contato
    @gutocarvalho
    @polivox

    View Slide

  60. Comunidade Puppet BR 60
    Obrigado

    View Slide

  61. Fotos
    Créditos
    61
    Flickr/PuppetLabs/PuppetConf'2015
    Instruct/PuppetConf'2015
    Google Images
    Comunidade Puppet-BR

    View Slide