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

2º DevOps Inside RJ - Pipeline e DevOps: Constr...

Avatar for Gaby Dias Gaby Dias
October 30, 2018

2º DevOps Inside RJ - Pipeline e DevOps: Construindo uma Pipeline DevOps

Avatar for Gaby Dias

Gaby Dias

October 30, 2018
Tweet

More Decks by Gaby Dias

Other Decks in Technology

Transcript

  1. 3 Pipelines Pipeline DevOps ajudam a automatizar e dimensionar fluxos

    de trabalhos de ponta a ponta em todas as equipes e ferramentas, permitindo de fato uma entrega contínua. • Pipeline é um reflexo do seu processo!!! < Processo Torto gera Pipeline Torta> • Software sem Teste é pipeline automatizando “@#$ %@” em produção!
  2. 4 PipeLine de Desenvolvimento Escrever Código SCM Testes Unitários Testes

    de Integração Repositório de Artefatos “Principal foco é a entrega de uma release de Software confiável para entrar em Produção.”
  3. Pipeline DevOps São focadas na automação e conexão de atividades

    realizadas por várias equipes: CI para Desenvolvedores; Automação de Testes para Teste; Patches de Segurança para a área de Segurança; Provisionamento e Automação para Operações; Aprovações para os Gerentes de Lançamentos. “Um pipeline de pipelines”
  4. 7 DevOps não é Ferramenta! “A DevOps não é um

    produto ou ferramenta - é uma cultura que evoluiu organicamente para atender às necessidades de um ritmo mais rápido de TI” “Até 2020, as iniciativas do DevOps farão com que 50% das empresas implementem testes contínuos usando frameworks e ferramentas de código aberto.” [Gartner]
  5. 8 Planejamento e Colaboração Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ São importantes as ferramentas que favoreçam a colaboração para o desenvolvimento de soluções, desde o início da ideia. Comunicação/ChatOps Planning
  6. 9 Escrita do Código Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Os desenvolvedores precisam de algumas ferramentas para iniciar a codificação, dependendo da plataforma e as linguagem de programação. SCM IDE
  7. 10 Escrita do Código Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Git é versionador, ou seja, um controlador de versão. Através dele, conseguimos desenvolver projetos onde mais de uma pessoa consegue trabalhar simultaneamente sem o risco de que algum arquivo seja sobreescrito ou modificado.
  8. 11 Processo de Build Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ A automação de build agiliza tarefas típicas no desenvolvimento de software, como compilação, distribuição, implantação (instalação e configuração) e limpeza. Build CI
  9. 12 Ferramentas de Testes Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Ferramentas que podem garantir a fidelidade dos testes, com o mesmo rigor dos realizados manualmente. Além disso, produzem relatórios e gráficos de tendências e de identificação de falhas e riscos. Testes
  10. 13 O processo de Deploy e Operações Planning Collaborate Planning

    Collaborate Code Code Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Uma das fases mais crítica, as ferramentas gerenciam mudanças e automatizam o deploy. Podem ainda disponibilizar dashboards de releases para facilitar o acompanhamento do status de cada atividade. Config. Mgmt / Provision Deployment
  11. 14 O processo de Deploy e Operações Planning Collaborate Planning

    Collaborate Code Code Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor Management Platform Orchestration Cloud / Iaas / PaaS
  12. 15 Monitoração e Métricas Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Monitoramento automatizado de infraestrutura e desempenho de aplicações. ✔ É importante que as soluções sejam integradas com canais para envio de alertas para que os times se mobilizem prontamente, em caso de incidentes. Monitor / Logs / Analytics ‘
  13. 16 Monitoração e Métricas Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor
  14. 17 DEMO Planning Collaborate Planning Collaborate Code Code Build Build

    Test Test Deploy Deploy Operate Operate Monitor Monitor SCM CI Deploy IDE APP
  15. 18 Planejamento e Colaboração Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Podemos usar o próprio GitHub para planejar nosso projeto.
  16. 19 Processo de Build Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ O Travis CI é uma aplicação de Integração Contínua, é totalmente gratuito para projetos de código aberto hospedados no GitHub GitHub Repositório Travis Aplicação Travis Testes Produção Deploy
  17. 20 Escrita do Código Planning Collaborate Planning Collaborate Code Code

    Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor Subindo o código para o Repositório do GitHub: # git add --all # git status # git commit -m “Update Project” # git push origin master 2 1 Faça uma alteração no código para enviarmos as atualizações ao GitHub.
  18. 21 O processo de Deploy e Operações Planning Collaborate Planning

    Collaborate Code Code Build Build Test Test Deploy Deploy Operate Operate Monitor Monitor ✔ Heroku é PaaS (Platform as a Service) que suporta diversas linguagens de programação (Java, PHP e Python). Ele usa uma unidade de máquina virtual chamada "Dyno" que são como containers que permitem que o desenvolvedor execute a sua aplicação em um ambiente seguro.