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

DevOpsDays Brasília - DevOps no Vale do Silício...

DevOps-DF
November 18, 2016

DevOpsDays Brasília - DevOps no Vale do Silício - Fernando Moraes

Palestrante: Fernando Moraes
Co-palestrante: Alexandre Maldaner

Implementando DevOps em nossos clientes no Vale do Silício: 5 práticas comprovadas para acelerar a mudança de cultura
Mudança de cultura é um dos maiores desafios para a adoção de DevOps. A Daitan tem contribuído e também aprendido com a adoção de DevOps em nossos clientes no Vale do Silício já há alguns anos, em dezenas de projetos. Nesta conversa, compartilharemos 5 práticas que em nossa experiência prática mostraram-se úteis para aproximar os times de Dev e Ops, desde a construção criteriosa de objetivos para os times, até ferramentas que aumentam a interação e diminuem o atrito entre esses grupos.

Trilha: Culture (Cultura)
Público alvo: Intermediário

DevOps-DF

November 18, 2016
Tweet

More Decks by DevOps-DF

Other Decks in Technology

Transcript

  1. © Daitan Group – Private & Confidential – v1 2

    Agenda Sobre nós Práticas Q&A
  2. © Daitan Group – Private & Confidential – v1 4

    @aamaldaner [email protected] VP, Innovation & Talent Fulfilment Alexandre Maldaner @fasmoraes [email protected] Innovation Manager Fernando Moraes
  3. © Daitan Group – Private & Confidential – v1 5

    Campinas, SP Silicon Valley, CA Onde trabalhamos e alguns clientes
  4. © Daitan Group – Private & Confidential – v1 6

    • Equipes completas, atuação em todo o ciclo de desenvolvimento e operação • Parcerias de longo prazo com clientes • Consolidação de modelos ágeis de desenvolvimento • Cultura de aproximação e compartilhamento de responsabilidades entre Dev & Ops Modelo de Parceria com Cliente Daitan Group
  5. © Daitan Group – Private & Confidential – v1 7

    • Alta frequência de deployments • Redução do lead time • Redução da taxa de problemas e do retrabalho Ajudando nossos clientes a acelerar DevOps na Daitan
  6. © Daitan Group – Private & Confidential – v1 9

    Por que recomendamos DevOps aos nossos clientes? Motivações para DevOps Velocidade Escala Exemplo: 500+ servidores da mesma aplicação em produção ao redor do mundo Exemplo: Uma nova integração com terceiros por semana, do requisito à produção, com documentação e SDK Confiabilidade Exemplo: requisitos de disponibilidade de 99.9%
  7. © Daitan Group – Private & Confidential – v1 10

    A barreira da mudança cultural Pesquisa: Qual é o principal tipo de dificuldade para expansão de DevOps na sua empresa?* *Fonte: Gartner, Set/15; n=113 Dificuldades com pessoas 50% Dificuldades com processos 37% Dificuldades com tecnologia 8% Dificuldades com informação 5%
  8. © Daitan Group – Private & Confidential – v1 11

    A barreira da mudança cultural (cont.) Detalhamento: No quesito pessoas, quais são as maiores dificuldades?* 0 5 10 15 20 25 30 35 40 45 50 Resistência à mudança Falta de habilidades (técnica/comportamental) Falha na colaboração Falta de confiança Motivação Porcentagem de respondentes *Fonte: Gartner, Set/15; n=82
  9. © Daitan Group – Private & Confidential – v1 12

    A barreira da mudança cultural (cont.) 0 10 20 30 40 50 60 Capacidade de mudar a cultura organizacional Resistência à mudança Estrutura rígida/ waterfall pré-existente Falta de pessoal com experiência em Agile Suporte gerencial Porcentagem de respondentes Pesquisa: Quais as barreiras para maior adoção de Agile na sua empresa?* *Fonte: VersionOne State of Agile April 2016; n=3,8 mil
  10. © Daitan Group – Private & Confidential – v1 13

    Mas uma vez alcançado o objetivo... 2,2x Colaboradores em times de alto desempenho têm 2,2 vezes mais chance de recomendar a sua organização como um grande local de trabalho.* *Fonte: Puppet 2016 State of DevOps Report; n=4,6 mil
  11. © Daitan Group – Private & Confidential – v1 15

    Estabelecer objetivos amplos e alinhados entre os times Prática #1
  12. © Daitan Group – Private & Confidential – v1 16

    • Equipes Dev e Ops segregadas • Objetivos conflitantes • Deploy e config manual • 1 semana para setup de ambiente Produto no setor bancário com infra complexa #1) Objetivos amplos e alinhados entre os times Antes Depois • Objetivos revistos e alinhados • Adoção de ferramentas de automação e configuração • Redução de 90% no tempo de setup
  13. © Daitan Group – Private & Confidential – v1 17

    #1) Objetivos amplos e alinhados entre os times Lições aprendidas O que funciona O que evitamos Restringir objetivos pode colocar times em oposição Ex.: Dev = mais funcionalidades X Ops = mais disponibilidade Objetivo comum para todos os times Ex.: Entregar novas funcionalidades e manter disponibilidade Redefinição de feito: Não está feito até que esteja nas mãos do usuário KPI’s restritas a cada grupo Definição de feito = teste unitário e código no repositório
  14. © Daitan Group – Private & Confidential – v1 18

    Responsabilidade compartilhada Prática #2
  15. © Daitan Group – Private & Confidential – v1 19

    • MVP e beta: sem automação, sem monitoração • Time todo sentiu a dificuldade em operar dessa forma • Urgência para estruturar o processo e ferramentas Produto de CRM, grandes clientes, alta disponibilidade #2) Responsabilidade compartilhada • Automação, monitoração e microserviços com técnicas de Canary Rollout/Fail Forward • Time DevOps faz suporte nível 2 • Múltiplos deployments por semana, sem indisponibilidade, e rápida resposta a falhas Antes Depois
  16. © Daitan Group – Private & Confidential – v1 20

    #2) Responsabilidade compartilhada Por que só o time de Ops deveria atuar em troubleshooting? O impacto de uma falha deve ser sentido por todos, gerando urgência para planejamento e estruturação Todos devem se sentir responsáveis Devs devem ajudar no troubleshooting e com isso melhorar o processo como um todo Isolar o time de desenvolvimento dos problemas em produção Lições aprendidas O que funciona O que evitamos
  17. © Daitan Group – Private & Confidential – v1 21

    Feedback imediato de produção e interação Prática #3
  18. © Daitan Group – Private & Confidential – v1 22

    • Cliente com Centro de Operações monitorando CPU, memória e banda da infraestrutura • Clientes finais reclamando do serviço mesmo quando servidores estavam em bom estado Serviço de Comunicação Integrada, alta disponibilidade #3) Feedback imediato de produção e interação • Time DevOps criou testes orientados a serviços • Alarmes aparecem em um chat - ChatOps • Troubleshooting imediato e ações a partir do chat • Resultado: Troubleshooting ágil, serviço >99.9% online Antes Depois
  19. © Daitan Group – Private & Confidential – v1 23

    #3) Feedback imediato de produção e interação O time de Dev deve estar ciente de problemas em produção Monitoração do ponto de vista de serviços Notificações ChatBots / ChatOps* Burocracia na comunicação (e-mail) Monitoração apenas de CPU, memória, rede Lições aprendidas O que funciona O que evitamos * Temos times atuando no desenvolvimento de integrações para facilitar cada vez mais a adoção de ChatOps
  20. © Daitan Group – Private & Confidential – v1 24

    Minimizar alterações parciais em produção Prática #4
  21. © Daitan Group – Private & Confidential – v1 25

    • Correção de problemas de incompatibilidade e bugs em ambientes de produção • Taxa de retrabalho na ordem de 40% Ambiente cloud para demo de produtos de virtualização #4) Minimizar alterações parciais em produção • Adoção de microserviços e automação de deployment e conceito de Infraestrutura Imutável • 4 meses depois, retrabalho e bugs em produção caíram mais de 70% Antes Depois
  22. © Daitan Group – Private & Confidential – v1 26

    #4) Minimizar alterações parciais em produção Alterações parciais estão entre as maiores razões de falhas por mudanças em ambientes Falha = estresse = atrito Infraestrutura Imutável Containers* Patches Lições aprendidas O que funciona O que evitamos * Outros excelentes resultados com containers incluem portabilidade, agilidade para escalar e consistência entre ambientes
  23. © Daitan Group – Private & Confidential – v1 27

    Minimizar estresse durante o troubleshooting Prática #5
  24. © Daitan Group – Private & Confidential – v1 28

    • Logs indisponíveis para time Dev • Distribuídos em vários ambientes e orientados a componentes • Falta de visibilidade sobre sequência de transações • “Abertura de chamado” para acesso a logs Casos em clientes de Telecom, IT e Financeiro #5) Minimizar estresse durante o troubleshooting • Instrumentação e agregação de logs • Sequência de transações acessíveis com uma busca Google-like • Autonomia e rapidez para início de troubleshooting Antes Depois
  25. © Daitan Group – Private & Confidential – v1 29

    #5) Minimizar estresse durante o troubleshooting Dificuldade de acesso a dados aumenta o nível de tensão exponencialmente durante troubleshooting Logs orientados a serviço Agregação de logs automática Logs orientados a componentes Sem informação de ID de transação ou serviço Logs não disponíveis imediatamente Lições aprendidas O que funciona O que evitamos
  26. © Daitan Group – Private & Confidential – v1 30

    Organizar times orientados a serviços Prática #6
  27. © Daitan Group – Private & Confidential – v1 31

    • Serviços de voz e dados com diferentes requisitos de atualização, escalabilidade e desempenho • Dificuldade para montar equipe com visão do todo Serviço de Comunicação Integrada, alta disponibilidade #6) Organizar times orientados a serviços • Migração para microserviços • Times responsáveis por serviços fim- a-fim • Facilidade para escalar, times coesos, mais especialistas Antes Depois
  28. © Daitan Group – Private & Confidential – v1 32

    #6) Organizar times orientados a serviços Orientação a serviços traz coesão, alinhamento e agilidade ao time Times responsáveis por um serviço específico, fim-a-fim Times por tecnologia ou por camada da aplicação Lições aprendidas O que funciona O que evitamos
  29. © Daitan Group – Private & Confidential – v1 33

    Práticas para acelerar a cultura DevOps Sumário Objetivos amplos e comuns a todos Responsabilidade Compartilhada Feedback imediato e interação Times orientados a serviços Minimizar alterações parciais em produção Minimizar estresse no troubleshooting