Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desmistificando as pipelines

Desmistificando as pipelines

Nesta apresentação estudamos as pipelines, entendendo o que é, para que serve e como montar uma.

Guto Carvalho

April 29, 2020
Tweet

More Decks by Guto Carvalho

Other Decks in Technology

Transcript

  1. View Slide

  2. 48
    2
    Bora montar uma pipeline?
    PipeLINES
    D e s m i s t i f i c a n d o s u a c o n s t r u ç ã o
    Do commit ao Deploy com GitLab CI, Kubernetes e Rancher

    View Slide

  3. 27
    3
    jac.bsb.br
    jac.bsb.br
    $_ WHOAMI
    Uso computadores desde 1995, trabalho profissionalmente com TI
    desde 1998. De 2000 a 2010 atuei como sysadmin de sistemas
    operacionais heterogêneos. De 2011 até hoje, estou me
    reencontrando na cultura DevOps e me tornando um
    desenvolvedor de soluções para infraestrutura, especialmente em
    no que toca Cloud Native, CNCF.
    Fui co-founder de uma das primeiras empresas brasileiras
    especializada em infraestrutura com código em 2013. Em 2019
    fundei uma nova empresa focada em Kubernetes e Cloud Native.
    Nos últimos 10 anos atuei em diversos projetos no Governo
    Federal na Anatel, TCU, CAIXA, MEC, STJ, INFRAERO, DATAPREV, EBC,
    Ministério da Justiça, dentre outros. Participei da criação da nuvem
    privada do Itaú e de projetos em automação de infraestrutura
    como código na Equinix Brasil.
    Quer saber mais?
    Acesse https://gutocarvalho.net
    Guto Carvalho
    Infrastructure as Code (IaC) Expert

    View Slide

  4. Nosso objetivo é desenvolver e implantar soluções inteligentes, ágeis e inovadoras para nossos clientes
    utilizando o máximo de tecnologias e premissas Cloud Native.
    Kubernetes está em nosso DNA.
    Especializada em Cloud Native e Kubernetes

    View Slide

  5. Pedro
    Infrastructure
    Developer
    Rodrigo
    Infrastructure
    Developer
    Ruan
    Co-Founder
    Observability Expert
    Guto
    Founder
    IaC Expert
    Dirceu
    Founder
    Academia JAC
    Renata
    Financial
    Analyst
    Marcus
    Art
    Designer
    Uma equipe muito fera!

    View Slide

  6. Nosso toolkit :)

    View Slide

  7. 27
    7
    jac.bsb.br
    jac.bsb.br
    Vamos nessa?
    Do commit ao Deploy!
    Guto Carvalho
    Infrastructure as Code Expert
    Let’s Have
    Some
    Fun!

    View Slide

  8. 27
    8
    Novo DevOps BR
    12
    Pessoas
    Ajudando a manter
    A discussão em
    alto nível
    Migramos!
    2
    Bots cuidando do
    canal e protegendo
    a comunidade
    @novodevopsbr
    Vem aprender :)
    Vem compar9lhar!
    Venha par9cipar dessa mudança!
    #respeito
    #bomsenso
    #DevOps
    #SRE
    #Agile
    Novo canal no telegram, mesma galera do bem!
    #NOSPAM
    #NOJOBS
    #IaC
    #Cloud
    #Metrics
    #Culture
    #GitOps
    #Sharing
    #Blameless

    View Slide

  9. Entendendo esse trem…
    Pipelines

    View Slide

  10. 27
    10
    O que é ?
    Uma pipeline
    Pra que serve?
    Uma Pipeline
    Pipelines
    Questões importantes!
    jac.bsb.br
    Eu preciso?
    De uma Pipeline
    Como construo?
    Minha Pipeline

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. 27
    14
    jac.bsb.br
    Pipelines
    Também conhecidas como esteiras
    nos ajudam no processo de entrega
    de soDware
    O que é uma pipeline?
    Vamos entender
    GitOps
    É a mesma coisa? Não
    DevOps
    É a mesma coisa? Não
    Hoje falaremos de pipelines de entrega de so2ware
    Jenkins
    É a mesma coisa? Não

    View Slide

  15. 27
    Pipelines
    15
    Olhando por cima
    jac.bsb.br

    View Slide

  16. 27
    Pipelines
    16
    Olhando por dentro
    jac.bsb.br

    View Slide

  17. 27
    17
    Eficiência
    Na entrega
    Velocidade
    Na entrega
    Pipelines
    Pra que serve?
    jac.bsb.br
    Mais entregas
    Mais features para seus clientes
    em menos tempo
    Rollback
    Simplificado

    View Slide

  18. 27
    18
    Controle
    Maior na entrega
    do seu soDware
    Visibilidade
    Do que está acontecendo
    e sendo entregue
    Pipelines
    Pra que serve?
    jac.bsb.br
    Padronização
    De sua entrega através
    de automação

    View Slide

  19. 27
    19
    Métricas
    Com uma Pipeline eu
    consigo medir, avaliar,
    trabalhar em um processo
    de melhoria conPnua
    Pipelines
    Métricas
    jac.bsb.br
    Dados
    De seu processo de entrega,
    testes, builds e mais

    View Slide

  20. 27
    20
    Preciso de uma Pipe?
    Bora refle9r sobre isso…
    Pipelines
    Será que eu preciso mesmo?
    jac.bsb.br

    View Slide

  21. 27
    21
    O que preciso saber antes de montar a Pipe?
    Entender ou propor o fluxo de gestão,
    versionamento e release, ex: gi4low, semver
    Pipelines
    Será que eu preciso mesmo?
    jac.bsb.br
    Compreender como o soTware deve ser instalado e
    entregue em seus respec9vos ambientes
    Conhecer o alcance da cobertura do soDware e
    quais testes devem ser aplicados na pipeline
    Avaliar processo de controle de qualidade do código
    Mapear se alguma etapa necessita de aprovação
    externa da gestão
    Analisar processo de controle de segurança da app

    View Slide

  22. 27
    22
    Quais estágios normalmente temos em uma Pipe?
    Pipelines
    Será que eu preciso mesmo?
    jac.bsb.br
    Release
    Tests
    Validate
    Build
    Deploy

    View Slide

  23. 27
    23
    Quais jobs normalmente temos
    dentro destes estágios?
    >> Testes está9cos
    >> Build do soDware
    >> Testes do binário gerado
    >> Build da imagem docker
    >> Teste da imagem docker (security e run[me)
    >> Push da imagem para repositório
    >> Sensibilização da infraestrutura para deploy
    >> Testes dinâmicos com APP rodando
    >> Testes de segurança com APP rodando
    >> Teste de carga e estresse com APP rodando
    >> No[ficações diversas
    Pipelines
    Será que eu preciso mesmo?
    jac.bsb.br

    View Slide

  24. 27
    24
    O que eu preciso?
    Para montar minha pipeline?
    jac.bsb.br
    SCM
    Ferramenta de
    gerenciamento de
    código (Git)
    Repositório
    Ferramenta para
    armazenar os
    artefatos
    CI/CD
    Ferramenta pra
    construir a esteira
    CI/CD.
    Infraestrutura
    Para rodar as
    aplicações da
    Pipeline e as APPs

    View Slide

  25. 27
    25
    O que eu preciso?
    Para montar minha pipeline?
    jac.bsb.br
    SCM
    Git
    +GitLab
    Repositório
    Nexus Repository
    CI/CD
    GitLab CI
    + GitLab Runner
    Infraestrutura
    Kubernetes Cluster
    + Rancher

    View Slide

  26. 27
    26
    O que eu preciso?
    Para montar minha pipeline?
    jac.bsb.br
    Hora da mão na massa!
    hfps://git.jac.bsb.br/gutocarvalho/ficaemcasaconf

    View Slide

  27. 27
    27
    O que eu preciso?
    Para montar minha pipeline?
    jac.bsb.br
    Demo Finalizada!

    View Slide

  28. 27
    28
    Não se esqueça!
    Se liga!
    jac.bsb.br
    O mais importante
    não é entregar rápido….
    O mais importante é voltar
    rápido!
    Ike, Fernando, 2012

    View Slide

  29. Entre em contato
    [email protected]
    https://jac.bsb.br
    @gutocarvalho
    +55 (61 ) 99154-1860
    @devopsguto bit.ly/sysadminqcoda-zap bit.ly/sysadminqcoda-youtube

    View Slide