Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps

283 views

Published on

A short presentation on the DevOps history and practices.

Published in: Software
  • Be the first to comment

DevOps

  1. 1. 2015-10-30
  2. 2. http://pt.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
  3. 3. Amazon entre 2006-2011 ● 300 deployments por hora ● 4x menos falhas de deployment ● 10x menos indisponibilidade ● ~0,0001% dos deployments falham ● Rollback automático e instantâneo ● Processo simplificado https://www.youtube.com/watch?v=dxk8b9rSKOo
  4. 4. Google Facebook LinkedIn Netflix Etsy Apple Target Walmart Norstrom Adobe Sony ...
  5. 5. 2015 State of DevOps Report “Organizações de alto-desempenho fazem 30x mais deployments com um lead time 200x menor; sofrem 60x menos falhas e se recuperam 168x mais rápido.” puppetlabs.com/2015-devops-report
  6. 6. 2015 State of DevOps Report Entregam valor mais rápido aplicando práticas de Lean management e de continuous delivery. Conseguem isso em aplicações novas ou legadas. Os gestores têm papel crítico em qualquer iniciativa DevOps. puppetlabs.com/2015-devops-report
  7. 7. Como Medir o Desempenho de TI? Métricas de Fluxo Métricas de Estabilidade Frequência de Deploys Lead Time de Mudança Taxa de Falhas Tempo de Recuperação puppetlabs.com/2014-devops-report
  8. 8. Práticas DevOps Correlacionadas Métricas de Fluxo Métricas de Estabilidade Frequência de Deploys ❏ Controle de Versões ❏ Continuous Delivery Lead Time de Mudança ❏ Controle de Versões ❏ Testes Automáticos Taxa de Falhas Tempo de Recuperação ❏ Controle de Versões ❏ Monitoração Proativa puppetlabs.com/2014-devops-report
  9. 9. 1990 1995 2000 2005 2010 2015 ITIL ITILv2 ITILv3 DevOps Visible Ops Agile Lean Kanban XP Scrum RUP
  10. 10. From Concept to Cash The authors used well-proven lean concepts from the 1980’s and 1990’s to help explain why agile methods are a very effective approach to software development, …, offering basic ideas and practices, building blocks which a team can use to incrementally build an exceptional process over time. This book is written for anyone who wants a more effective development process - managers, project leaders, senior developers, and architects in enterprise IT and software companies alike.
  11. 11. A Novel About IT, DevOps, and Helping Your Business Win ABOUT THE BOOK ❏ how to recognize problems that happen in IT organizations ❏ how these problems jeopardize nearly every commitment the business makes: Development, IT Operations and Information Security ❏ how DevOps techniques can fix the problem to help the business win “It's a gripping read that captures brilliantly the dilemmas that face companies which depend on IT, and offers real-world solutions. As Deming reminds us, "It is not necessary to change. Survival is not mandatory." The Phoenix Project will have a profound effect on IT, just as The Goal did for manufacturing.” –Jez Humble, co-author of the Jolt award winning book "Continuous Delivery," and Principal at ThoughtWorks Studios
  12. 12. Desperdícios no Desenvolvimento de Software ● Funcionalidade extra ● Trabalho incompleto ● Retrabalho (“churn”)
  13. 13. Prática fundamental de DevOps Continuous Deployment commit unit tests integration tests acceptance tests deploy to production
  14. 14. Prática: Infraestrutura é Código commit unit tests integration tests acceptance tests deploy to production version control
  15. 15. Prática: Tudo sobre Controle de Versão ● Código da aplicação ● Configuração da aplicação ● Configuração do sistema ● Scripts de teste ● Scripts de deployment ● Manifestos de infraestrutura
  16. 16. 4.0.0 1.0.1 4.x 2.x 3.x 2.1.0 2.1.1 3.1.1 3.2.0 3.0.1 2.2.1 2.3.1 4.0.1 2.1.x 3.2.x 3.1.x 3.0.x 4.0.x 1.0.x 2.2.x 2.3.x merge merge merge
  17. 17. 2.0.0 1.0.1 trunk 2.0.1 1.0.2 1.1.0 1.1.1 1.0.x 1.1.x 2.0.x
  18. 18. Prática: Trunk-based Development trunk r325623 r296343 r259878 r218633 r184589 r168782
  19. 19. “Se seus testes rotineiramente encontram defeitos é porque o seu processo de desenvolvimento é defeituoso.” “Há dois tipos de teste: os que encontram defeitos e os que previnem defeitos. Os primeiros são puro desperdício. O objetivo é prevenir a inserção de defeitos no código em primeiro lugar e a ferramenta pra fazer isso é test-driven development.” -- Mary e Tom Poppendieck Prática: Test-Driven Development
  20. 20. Prática: Revisão de Código Todo commit é revisado por um colega e validado por checks automáticos antes de ser integrado. Elimina código “porco” Elimina “feudos” e “órfãos” no código Maneira mais barata de treinar novatos Melhor investimento pra evitar que o código “apodreça”
  21. 21. Arquitetura Monolítica simples quando pequeno baixa latência repositório único difícil coordenar quando grande difícil manter modularizado impossível escalar horizontalmente builds demoradas deploy “tudo ou nada” UI Business Logic Data Access Layer Database
  22. 22. Prática: Arquitetura de Micro-serviços UI Microservice Microservice Database Microservice Database Microservice Database
  23. 23. Práticas Técnicas Put everything under version control Trunk-based development Code Review Automated acceptance testing Canary testing A/B testing Proactive monitoring Microservices architecture Peer-reviewed change approval process Infrastructure configuration management Ops using Dev tools ...
  24. 24. Alto custo de comunicação entre equipes UI Business Logic Data Access Layer Database requisitos arquitetura implementação testes implantação configuração infraestruturabanco de dados
  25. 25. Qual é o problema?
  26. 26. Como Dev vê Ops
  27. 27. Como Ops vê Dev
  28. 28. Como vemos InfoSec
  29. 29. ♡ O que gostaríamos de ver ♡ http://devopsreactions.tumblr.com/post/51462515324/encouraging-the-usage-of-coding-standards
  30. 30. Prática: Equipes Multidisciplinares “Donas” de seus Serviços UI Microservice Microservice Database Microservice Database Microservice Database
  31. 31. “An important aspect of Facebook's development culture is the idea that developers are fully responsible for how their code behaves in production. This philosophy mirrors the "DevOps" movement, which encourages lowering the wall between software development and IT operations. If any of the code in a Facebook update causes problems in production, the developer who wrote it is on the hook for making sure that the issue gets resolved as quickly as possible.” http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/
  32. 32. Lei de Little da Teoria de Filas Número médio de items no sistema Taxa média de chegada Tempo médio de espera de um item no sistema W = L ⁄ λ
  33. 33. Lei de Little da Teoria de Filas aplicada ao Desenvolvimento de Software Lead Time = Tasks in Process Average Completion Rate Ocupação Eficiência Velocidade
  34. 34. Google 20% de tempo “livre”
  35. 35. Prática: Kanban Lead Time
  36. 36. Prática: Kanban Visualizar todo o trabalho Identificar bloqueios Swarm to solve it! Garantir lead time ao invés de prazo de entrega Limitar Work In Progress (WIP)
  37. 37. Gestão de Comando e Controle (C2) “O Sistema Militar de Comando e Controle (SISMC²) do Ministério da Defesa objetiva otimizar o exercício da direção, do controle e da coordenação das forças militares em operação, possibilitando o acompanhamento em tempo real das ações em curso.”
  38. 38. “Quando você quer construir um navio, não diga às pessoas pra juntar madeira, cortar pranchas ou distribuir trabalho, mas desperte em cada homem o desejo pela imensidão do mar.” -- Antoine de Saint-Exupéry Prática: Gestão por Comando de Missão
  39. 39. Prática: Cultivar e Cultuar a Cultura Organizacional Respeito Confiança Excelência Alto-desempenho Franqueza Honestidade Escute, pense e aja Dê responsabilidade e propósito Peça desculpas ao invés de permissão Great Workplace = Stunning Colleagues Hire well & fire well... https://hbr.org/2014/01/how-netflix-reinvented-hr
  40. 40. Referências ❏10+ Deploys Per Day ❏y2u.be/LdOe18KhtT4 ❏What Is DevOps? ❏theagileadmin.com/what-is-devops ❏2014 State of DevOps Report ❏puppetlabs.com/2014-devops-report ❏2015 State of DevOps Report ❏puppetlabs.com/2015-devops-report ❏E mais… ❏diigo.com/user/gnustavo/devops+good ❏goodreads.com/review/list/25759596?shelf=devops
  41. 41. Dois outros ótimos livros!
  42. 42. www.cpqd.com.br Gustavo Chaves gustavo@cpqd.com.br (19) 3705 7003 go.cpqd.com.br/devops

×