CULTURA DEVOPS
@leocomelli
Leonardo Comelli@leocomelli
porque estamos aqui?
software vs sistema
o mais importante é…
entregar valor para o cliente!
mas isso precisa ser feito com:
rapidez | segurança | confiabilidade
nada é perfeito,
as coisas podem falhar...
qual o segredo?
falhar rápido!
como falhar rápido?
desenvolvimento ágil | entrega contínua | análise da operação
dev ops
esse fluxo envolve os dois times
porque toda essa distância?
existe um conflito de interesse
alterar
é o papel do dev
estabilizar
é o papel de ops
dev
não publicam software consistente
ops
são resistentes a mudanças
dev
processo ágil
ops
processo estático
dev
“na minha máquina funciona…"
ops
“não é o servidor, é o seu código…"
é necessário unir os times
feito! isso é devops!
não!
dev ops
devops não é juntar os times
devops não é o time de ops
desenvolver um sistema para substituir os demais
devops não é o time de ops
criar um ambiente de uma maneira simples
devops não é o time de ops
saber o que o time de dev quer
devops não é o time de dev
saber utilizar uma ferramenta de aprovisionamento
devops não é o time de dev
criar um script para publicar uma nova versão
devops não é o time de dev
saber o que o time de ops quer
devops não é apenas
ferramentas, automação, acessos e time
os princípios são maiores que as práticas
devops é
comunicação, entendimento, integração e relacionamento
devops é cultura!
devops é uma cultura de colaboração entre
desenvolvedores e operações
[in]felizmente devops não é uma opção
precisamos de tudo muito rápido
alterações, publicações, identificação de problemas, correções
lembre-se, falhar é normal
o segredo é falhar rápido!
o que pode nos auxiliar a falhar rápido?
ferramentas e automatizações
pipeline!
um exemplo
executar testes

integração
executar testes

unitários
obter dados do

versionador
compilar código

fonte
publicar em
homo...
publicação
deploy com bug zero?
publicação
blue/green deployment
https://blog.snap-ci.com/blog/2015/06/22/continuous-deployment-strategies
publicação
canary deployment
https://blog.snap-ci.com/blog/2015/06/22/continuous-deployment-strategies
o trabalho não acaba após o deploy
operation analytics
monitoramento
ferramentas
alguns exemplos
sistema de controle de versão
svn, tfs, git, etc
$	
  git	
  init	
  
$	
  touch	
  README.md	
  
$	
  git	
  add	
  .	
  
$	
  git	
  commit	
  -­‐m	
  “Criado	
  arquivo...
infra como código
ansible, chef, puppet, etc
-­‐-­‐-­‐	
  
-­‐	
  name:	
  create	
  user	
  group	
  
	
  	
  sudo:	
  yes	
  
	
  	
  group:	
  
	
  	
  	
  	
  name...
virtualização
docker, vagrant, vmware
#	
  Pull	
  base	
  image.	
  
FROM	
  ubuntu	
  
#	
  Install	
  Ruby.	
  
RUN	
  	
  
	
  	
  apt-­‐get	
  update	
  &&...
orquestração de container
mesos, kubernetes, swarm, etc
integração contínua
travis, jenkins, go, etc
entrega e deploy contínuo
travis, jenkins, go, etc
entrega contínua != deploy contínuo
operation analytics
logstash, elasticsearch e kibana
esta pronto para o devops?
Obrigado!
http://slideshare.net/leocomelli
Bônus!
git, docker, jenkins, travis ou kibana?
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
Próximos SlideShares
Carregando em…5
×

IFSP 2015 - Cultura DevOps

420 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
420
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
26
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?

×