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

DevOps O que é? Onde vive? Do que se alimenta?

Marylly
September 07, 2019

DevOps O que é? Onde vive? Do que se alimenta?

Talk sobre o que é, origem e impacto de adoção de Devops como cultura por pessoas e organizações.

Marylly

September 07, 2019
Tweet

More Decks by Marylly

Other Decks in Technology

Transcript

  1. .backend { Devops: O que é? Onde vive? Do que

    se alimenta? } Nina Simone Cantora e Ativista Negra
  2. Deixem me apresentar Atua com software desde 2005, formada em

    Sistemas de Informação (UMESP, 13), pós-graduada em Gestão Pública (FESPSP, 2015), Facilitadora/instrutora do projeto #MinasProgramam e da comunidade #WWGSP. Mais nova membro do #DevsJavaGirl, Consultora de desenvolvimento de software na ThoughtWorks. Menina e mulher de família de cor simples da região periférica de SP
  3. Por que eu estou aqui? • Ação Afirmativa • Desigualdade

    de gênero • Desigualdade racial • Desigualdade social e econômica • Networking mais diverso, presente e comprometido
  4. Agenda • Devops • Continuous Integration • Continuous Deployment •

    Cultura • Já estou praticando? Primeiros Passos • Como iniciar na área de atuação • Próximo Passos
  5. O que NÃO é Devops? • Silos tradicionais • Qualidade

    atua somente na entrega em Produção • Ambiente Automatizado e/ou na Cloudn • Devops Job Description • Produto e/ou Software • Algo que possa ser comprado ou dado
  6. O que é Devops? • Desenvolvimento e Operação são do

    mesmo time • Alinhamento com Plano Negócio • Qualidade e Segurança deve ser envolvidas desde do início • Trabalho Colaborativo Transparente
  7. História Movimento Lean 2001 2008 2013 2007 2011 2017 2019

    1980 “10 Deploys per Day: Dev and Ops at Flickr" Velocity Conference Movimento Lean StartUp 1º DevopsDay na Bélgica Agile Conference Manifesto Ágil 1º State of Devops Survey The Blue Matador Monitoring Aqui estamos nós 2006 Movimento Entrega Contínua 2009
  8. O que é Continuous Integration? (Ou Integração contínua) • Prática

    de juntar com frequência alterações de código no repositório central/principal, testes são executados para obter feedback rápido sobre a qualidade de uma implementação, originando um processo cultural por um time, num processo automatizado manifestado por um Pipeline.
  9. Pipeline É uma esteira com etapas de empacotamento, testes e

    avaliação de qualidade de uma implementação integrada ao um repositório central/principal. E idealmente é interessante considerar as seguintes elementares etapas: • Build (Construção do pacote de entrega) • Lint (Análise estática, sintaxe e qualidade de código) • Testes de Unidade (ou Unitários) • Testes de Integração (ou Funcionais) • Testes E2E (Jornada do Usuário ou Fim-a-Fim) • Deployment (Entrega em Produção)
  10. O que é Continuous Deployment? (Ou Entrega Contínua) • É

    uma abordagem na qual os times de desenvolvimento e operação lançam produtos e serviços de forma frequente, previsível e automatizada. Em vez de fazer grandes entregas de uma vez, fazem várias pequenas e rápidas, reduzindo as chances de erros.
  11. Valores e Diretrizes • Conceito de Pronto muito bem definido.

    (Ex.: Disponível em produção) • Transparência (Tudo está acessível a todos os envolvidos: Kanban, Repo, Doc) • Blameless Culture (Não existem culpados, mas coisas a serem melhoradas) • Accountability e Ownership (Todo mundo é responsável pelo produto/serviço) • Self Development • Experimentação (Todo mundo pode experimentar e sugerir alternativas) • Confiança (O time confiança em todos independente da experiência) • Melhoria Contínua (Feedback, Retrospectiva, PostMortem)
  12. Ações diretas • Tenha conversas regulares com cada pessoa do

    time • Esteja sempre disponível para aprender e ensinar • Dê e peça feedbacks para as pessoas do seu time • Foque no objetivo das atividades, não nas ferramentas e o que elas fazem • Esteja aberta a aprender novos métodos, processos e tecnologias • Discuta sempre com o time o que poderia ser feito para melhorar
  13. Ações indiretas • Não veja seus pares como inimigos, sinta-se

    e demonstre que é uma aliada • Entenda o valor das suas entregas no negócio • Esteja presente ou ciente quando algo fica disponível para o cliente • Procure entender o papel das pessoas do seu time e converse para saber o que pode ser feito por você e a outra pessoa para melhorar o processo de entrega • Entendam os porquês da escolha de ferramentas e processos
  14. Sou Infra | Operacional • Procure conversar com o time

    desenvolvimento, tente diminuir os riscos de um deploy em produção • Procure trazer os problemas e preocupações que enfrentados quando algo é colocado em produção e alinhe estratégias para evitar e diminuir instabilidades • Nunca culpe outros times por algo que não foi feito com êxito, todos devem focar no problema e aprender com isso • Entenda que sem a infra, a entrega da deva não entrega valor para o cliente e vice versa
  15. Sou Deva • Procure falar com operações e alinhar quais

    são as necessidades das sua entrega quando estiver disponível em produção, • Se possível crie uma configuração necessária e defina uma estratégia deploy em conjunto com operações • Tente definir como “pronto” quando está disponível entregando valor para o cliente
  16. Sou Negócio | PM | PO • Alinhe sempre o

    valor de negócio com as outras pessoas do time, riscos, ganho e valor para cada pequena entrega feita • Se aproxime das pessoas que estão na linha de frente da entrega quando possível • Acompanhe o deploy em produção e deixe transparente o sucesso das entregas do time, seja de quem for, deva, infra, etc. • Proporcione momentos de retrospectiva para comemorar pequenas vitórias e identificar pontos de melhoria pelo time
  17. Entenda a cultura • Entenda a cultura, tente identificar quais

    valores que fazem sentido para você e no papel que desempenha • Foque nas pessoas e tente entender o valor delas no contexto • Estude agilidade • Incorpore uma postura de auto-desenvolvimento e melhoria contínuos • Ajude as pessoas a se desenvolverem e entrar num estado constante de colaboração • Leia sobre cases de sucesso e porque foram bem sucedidas
  18. Entenda os objetivos • Entenda os objetivos e o resultado

    de atividades, não as ferramentas • Procure estudar ferramentas que atinjam o objetivo do Devops de forma simples, por exemplo, o que é necessário para fazer CI e CD • Use seu background como fortaleza, se já conhece alguma tecnologia, linguagem de programação, banco de dados, identifique como isso pode ser feito da melhor forma com DevOps
  19. Melhoria Contínua • Testes de Performance • Testes de Carga

    • Observability • Métricas de Desempenho
  20. Referências Foto Nina Simone: http://www.musiqxxl.fr/nina-simone/ Banco de Imagens: https://www.flickr.com/photos/wocintechchat O

    que significa integração Contínua: https://aws.amazon.com/pt/devops/continuous-integration/ A Short History Lesson in DevOps - And Where It’s Going: https://dzone.com/articles/a-short-history-lesson-in-devops-and-where-its-goi-1 Manifesto Ágil: https://www.manifestoagil.com.br/ Entrega Contínua: O que é e como aplicar: https://www.opus-software.com.br/o-que-e-entrega-continua/