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

O canivete suíço DevOps - v2.0

drequena
December 06, 2018

O canivete suíço DevOps - v2.0

Nessa versão 2.0 da palestra "O Canivete suíço DevOps", abordo as dificuldades culturais normalmente enfrentadas por organizações que querem adotar a cultura DevOps.
O objetivo é destacar as maiores dificuldades no processo de adoção da cultura e demonstrar como é possível transpassar essas barreiras.

drequena

December 06, 2018
Tweet

More Decks by drequena

Other Decks in Technology

Transcript

  1. 3 Agenda + Whoami + O Canivete suíços DevOPs -

    v1 (ferramental) + O Canivete suíços DevOPs - v2 (cultural) + Resumo + Referências
  2. 4 Whoami Daniel Requena + Sysadmin há 12 anos (3

    anos de DevOps) + LPI-1/LPI-2 e Zabbix Specialist + Bacharel em CCP / Mestre em Eng. da Computação. + Tech Lead Mandic - Rivendel + Barista Júnior.
  3. 6 O Canivete suíço DevOps - v1 Problema: ◆ Pneu

    furado Missão: ◆ Trocar o pneu usando as ferramentas mais adequadas
  4. 8 O Canivete suíço DevOps - v1 • O produto

    • O processo • As pessoas
  5. 9 O Canivete suíço DevOps - v1 Pré-cloud Cloud Aware

    Cloud Native ➔ Baremetal/Virt 1º nível ➔ Escalabilidade vertical ➔ Monolítica ➔ Cliente/Servidor ➔ DB Central ➔ StandAlone ➔ Aplicação Web ➔ Monolítica ➔ Usa recursos do Cloud Provider ➔ Instrumentada ➔ Micro-serviços ➔ Distribuída ➔ Assíncronas ➔ Containers ➔ 12 factors SCM Configuration Management Server provisioner CI/CD Scripting Container Orchestrator Cloud Provisioners/Image Provisioners Monitoring
  6. 10 O Canivete suíço DevOps - v1 / Caso 1

    Descrição: ➔ Infraestrutura baseada em servidores físicos (baremetal) ◆ um cliente por servidor ➔ Aplicação cliente/servidor ◆ empacotada em .deb ➔ Escalabilidade vertical ➔ Processos manuais. ◆ montagem ◆ instalação ◆ configuração ◆ monitoria ◆ setup da aplicação ◆ setup banco ◆ catálogo ➔ Principal dor ◆ Tempo para colocar um servidor no ar. (entre 2 e 4 dias)
  7. 11 O Canivete suíço DevOps - v1 / Caso 1

    PXE server (network boot) Provisionador SO Node classifier (Foreman) CM master server (Foreman) Gerenciamento de configuração. Receitas para instalação - Zabbix agent - Database - Application - Basic SO setup - Hardening - etc... SCM: Scripts, manifests, setup recipes. general automation monitoring HW inventory
  8. 12 O Canivete suíço DevOps - v1 / Caso 2

    Descrição: ➔ Infraestrutura de nuvem pública utilizada como IaaS ◆ Uso de LoadBalancer ➔ Aplicação monolítica ◆ Statefull em php ➔ Escalabilidade vertical ➔ Processos manuais. ◆ Build da aplicação (local Dev) ◆ Empacotamento ◆ Update da aplicação no cloud provider em QA (testes) ◆ Update da aplicação em Produção ➔ Principal dor ◆ Deploy/update da aplicação sem downtime de forma rápida e segura. Bônus, escalabilidade horizontal.
  9. 14 Caso 2 commit webhook git pull Test,Build,Package App Create

    AMI (Packer) Push to AWS Deploy with Terraform Deploy env: QA Deploy env: PROD Deploy Job
  10. 16 O Canivete suíço DevOps - v1 / Caso 3

    Descrição: ➔ Runtime em container Docker ➔ Aplicação micro-serviços (API RestFull) ➔ Aplicação Stateless ➔ Processo automático: ◆ Testes, build e empacotamento aplicação ◆ Geração da Docker Image e push para Registry ◆ Execução da aplicação no Kubernetes ➔ Processo manual. ◆ Testes da nova versão ◆ Análise dos dados da nova versão ◆ Promoção para Produção ➔ Principal dor ◆ Gerar ambiente para “teste” de forma dinâmica, e promovê-lo de forma gradativa para produtivo caso passe nos requisitos de aceitação.
  11. 17 O Canivete suíço DevOps - v1 / Caso 3

    Node 1 Node 2 Node 3 Master v1 v1 v1 v1 v1 App v1 PODs v2 v2 v2 v2 v2 App v2 PODs
  12. 29 “Consultoria DevOps” +Objetivos definidos + Melhorar processo de Deploy

    + Migração para nuvem + Automatizar provisionamento (infraestrutura/código) + etc... +Desafios + Garantir execução com alto padrão de qualidade, utilizando melhores práticas. + Documentação + Infra como código / versionada + Testes + Automação + Qualidade
  13. 32 O típico cenário + Áreas não se conversam +

    Objetivos, metas e cobranças diferentes + Devs + Objetivo: Entregas de features + Ops + Objetivo: Zelar pela estabilidade do ambiente (controles/rastreabilidade/previsibilidade)
  14. 33 O típico cenário + “Falta de rastreabilidade!” + “Falta

    de acesso!” + “Demora!” + “Ops não entende nada do que fazemos...” + “Eu pedi um ambiente há X meses...” + “Nada é na hora, tudo abre ticket...” + “Burocracia” Dev
  15. 34 O típico cenário Ops + “O cara não sabe

    nem o que é DNS.” + “Eles só pedem mais e mais máquina!” + “Só ficamos sabendo na última hora!” + “Dev joga por cima do muro, e nós cuidamos.” * + “Cada nova versão é uma saraivada de bugs...” + “O HealthCheck retorna texto ERRO com código HTTP 200!” + “It works on my machine”
  16. 36 Fase 1 - Proof of Concept +Temporário (anti-pattern) +Execução

    de tarefas para 1 time e apenas 1 aplicação (nova de preferência) +Cuidadosa seleção de pessoas ou time. * + Sangue novo + Ânsia para mudar e experimentar + Pró-ativas +Time: + Multidisciplinar seria o mundo ideal, porém… + Dev.
  17. 39 Fase 1 - Proof of Concept + Entregável +

    Novo ambiente / Runtime + Pipeline (CI/CD) +Como? + Alinhamento com Dev + Entendimento do fluxo + Discutindo tecnologias utilizadas (desapego intelectual) + Sugerindo melhorias desde o momento zero. + Automação em todos os passos
  18. 42 Fase 2 - Melhorando a entrega... + O trabalho

    está longe de estar pronto! + Pipeline entregue contêm apenas o fluxo de 1 área Clone repo Dep install Build Int. Tests Deploy Dev
  19. 43 Fase 2 - Melhorando a entrega... + E lá

    vem Ops… O que fazer? + Alinhamento com time + Entendimento do fluxo + Discutindo tecnologias utilizadas + Sugerindo melhorias desde o momento zero. + Automação em todos os passos +Chame pessoas chaves da área de Dev + Já começam a conhecer as dores do outro time + Exigências podem ser conflitantes + Isso pode travar o fluxo final Ops
  20. 44 Fase 2 - Melhorando a entrega... + Dev +

    Ops Pipeline. Clone repo Dev + Ops Dep install Build Int. tests Deploy update cmdb Audit logs Update Jira Ticket Health Check
  21. 45 Fase 2 - Melhorando a entrega... + E lá

    vem QA… O que fazer? + Alinhamento com time + Entendimento do fluxo + Discutindo tecnologias utilizadas + Sugerindo melhorias desde o momento zero. + Automação em todos os passos +Chame pessoas chaves da área de Dev e Ops + Exigências podem ser conflitantes + Isso pode travar o fluxo final QA
  22. 46 Fase 2 - Melhorando a entrega... + E lá

    vem QA… O que fazer? + Alinhamento com time + Entendimento do fluxo + Discutindo tecnologias utilizadas + Sugerindo melhorias desde o momento zero. + Automação em todos os passos +Chame pessoas chaves da área de Dev e Ops + Exigências podem ser conflitantes + Isso pode travar o fluxo final QA
  23. 47 Fase 2 - Melhorando a entrega... + Dev +

    Ops + QA Pipeline. Dev + Ops + QA Unit tests Front tests Perf. tests Clone repo Dep install Build Int. tests Deploy update cmdb Audit logs Update Jira Ticket Health Check
  24. 51 Fase 3 - Divulgação dos resultados. +Faça uma divulgação

    para toda a empresa (ou área de tecnologia) +Mostre os resultados das métricas. +Esclareça quais eram os objetivos de negócio para o teste. +Lembre-se, esse foi o 1o projeto, ele servirá de modelo para os próximos + Novos desafios virão (ctrl+c ctrl+v não vai funcionar!)
  25. 52 Resumindo... +Comece pequeno (1 aplicação) +Selecione “catalisadores” para o

    projeto modelo. +Envolva todas as partes no processo +Faça com que todos se conversem +Compartilhe as responsabilidades * +Ministre cursos, forneça material, de tempo para as pessoas se adaptarem +Convencer por exemplo é a melhor forma. +Compare as métricas com outras aplicações.
  26. 54 Referências ❖ https://web.devopstopologies.com/ ❖ https://www.youtube.com/watch?v=ZYFX9zYa0uo&feature=youtu.be ❖ https://www.amazon.com/Infrastructure-Code-Managing-Servers-Cloud/dp/1491924357 ❖ https://landing.google.com/sre/books/

    ❖ http://www.altabooks.com.br/manual-de-devops-como-obter-agilidade-confiabilidade-e-seguranca-em-organizacoes -tecnologicas.html ❖ http://www.altabooks.com.br/o-projeto-fenix-um-romance-sobre-ti-devops-e-sobre-ajudar-o-seu-negocio-a-vencer.ht ml ❖ https://www.theforeman.org/ ❖ https://puppet.com/ ❖ https://www.ansible.com/ ❖ https://www.packer.io/ ❖ https://jenkins.io/ ❖ https://istio.io ❖ https://prometheus.io/ ❖ https://grafana.com/ ❖ https://helm.sh/ ❖ https://www.rundeck.com/ ❖ https://www.terraform