IFSP 2015 - Cultura DevOps

367 visualizações

Publicada em

I Jornada da Informática do IFSP - Câmpus Araraquara - 2015

Cultura DevOps - 26/11/2015

Publicada em: Software
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
367
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
25
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

IFSP 2015 - Cultura DevOps

  1. 1. CULTURA DEVOPS @leocomelli
  2. 2. Leonardo Comelli@leocomelli
  3. 3. porque estamos aqui? software vs sistema
  4. 4. o mais importante é…
  5. 5. entregar valor para o cliente!
  6. 6. mas isso precisa ser feito com: rapidez | segurança | confiabilidade
  7. 7. nada é perfeito, as coisas podem falhar...
  8. 8. qual o segredo?
  9. 9. falhar rápido!
  10. 10. como falhar rápido? desenvolvimento ágil | entrega contínua | análise da operação
  11. 11. dev ops esse fluxo envolve os dois times
  12. 12. porque toda essa distância? existe um conflito de interesse
  13. 13. alterar é o papel do dev
  14. 14. estabilizar é o papel de ops
  15. 15. dev não publicam software consistente
  16. 16. ops são resistentes a mudanças
  17. 17. dev processo ágil
  18. 18. ops processo estático
  19. 19. dev “na minha máquina funciona…"
  20. 20. ops “não é o servidor, é o seu código…"
  21. 21. é necessário unir os times
  22. 22. feito! isso é devops!
  23. 23. não!
  24. 24. dev ops devops não é juntar os times
  25. 25. devops não é o time de ops desenvolver um sistema para substituir os demais
  26. 26. devops não é o time de ops criar um ambiente de uma maneira simples
  27. 27. devops não é o time de ops saber o que o time de dev quer
  28. 28. devops não é o time de dev saber utilizar uma ferramenta de aprovisionamento
  29. 29. devops não é o time de dev criar um script para publicar uma nova versão
  30. 30. devops não é o time de dev saber o que o time de ops quer
  31. 31. devops não é apenas ferramentas, automação, acessos e time
  32. 32. os princípios são maiores que as práticas
  33. 33. devops é comunicação, entendimento, integração e relacionamento
  34. 34. devops é cultura!
  35. 35. devops é uma cultura de colaboração entre desenvolvedores e operações
  36. 36. [in]felizmente devops não é uma opção
  37. 37. precisamos de tudo muito rápido alterações, publicações, identificação de problemas, correções
  38. 38. lembre-se, falhar é normal o segredo é falhar rápido!
  39. 39. o que pode nos auxiliar a falhar rápido? ferramentas e automatizações
  40. 40. pipeline! um exemplo
  41. 41. executar testes
 integração executar testes
 unitários obter dados do
 versionador compilar código
 fonte publicar em homologação empacotar gerar documentação publicar em produção executar testes de aceitação
  42. 42. publicação deploy com bug zero?
  43. 43. publicação blue/green deployment
  44. 44. https://blog.snap-ci.com/blog/2015/06/22/continuous-deployment-strategies
  45. 45. publicação canary deployment
  46. 46. https://blog.snap-ci.com/blog/2015/06/22/continuous-deployment-strategies
  47. 47. o trabalho não acaba após o deploy
  48. 48. operation analytics monitoramento
  49. 49. ferramentas alguns exemplos
  50. 50. sistema de controle de versão svn, tfs, git, etc
  51. 51. $  git  init   $  touch  README.md   $  git  add  .   $  git  commit  -­‐m  “Criado  arquivo  readme”   $  git  remote  add  origin  https://github.com/user/ repo.git   $  git  push  -­‐u  origin  master
  52. 52. infra como código ansible, chef, puppet, etc
  53. 53. -­‐-­‐-­‐   -­‐  name:  create  user  group      sudo:  yes      group:          name:  "hpe_apps"          state:  present   -­‐  name:  add  server  user      sudo:  yes      user:          name:  "comelli"          password:  secret          system:  yes          group:  "hpe_apps"          state:  present
  54. 54. virtualização docker, vagrant, vmware
  55. 55. #  Pull  base  image.   FROM  ubuntu   #  Install  Ruby.   RUN        apt-­‐get  update  &&        apt-­‐get  install  -­‐y  ruby  ruby-­‐dev  ruby-­‐bundler  &&        rm  -­‐rf  /var/lib/apt/lists/*   #  Define  working  directory.   WORKDIR  /data   #  Define  default  command.   CMD  ["bash"]  
  56. 56. orquestração de container mesos, kubernetes, swarm, etc
  57. 57. integração contínua travis, jenkins, go, etc
  58. 58. entrega e deploy contínuo travis, jenkins, go, etc
  59. 59. entrega contínua != deploy contínuo
  60. 60. operation analytics logstash, elasticsearch e kibana
  61. 61. esta pronto para o devops?
  62. 62. Obrigado! http://slideshare.net/leocomelli
  63. 63. Bônus! git, docker, jenkins, travis ou kibana?

×