O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

TDC2016SP - Trilha DevOps Java

145 visualizações

Publicada em

Continuous Delivery para aplicações Java com ferramentas open-source

Publicada em: Educação
  • Seja o primeiro a comentar

TDC2016SP - Trilha DevOps Java

  1. 1. Globalcode – Open4education Continuous Delivery para aplicações Java com ferramentas open-source Stefan Teixeira stefanfk@gmail.com / @stefan_teixeira
  2. 2. • QA Automation Engineer @ Toptal • Blogs técnicos: stefanteixeira.com.br (pt-br) / stefanteixeira.com (en) • Co-organizador dos meetups DevOps Carioca e Grupo de Testes Carioca Contatos: • E-mail: stefanfk@gmail.com • Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira Sobre
  3. 3. Contexto
  4. 4. Contexto • Aplicação Java (Spring Boot)
  5. 5. Contexto • Aplicação Java (Spring Boot) • Apenas server-side
  6. 6. Contexto • Aplicação Java (Spring Boot) • Apenas server-side • Muitas integrações com outros sistemas internos
  7. 7. Modelando pipelines
  8. 8. GoCD • Criado pela ThoughtWorks https://www.go.cd/ | https://github.com/gocd/gocd
  9. 9. GoCD • Criado pela ThoughtWorks • Open-source (desde Fev/2014) https://www.go.cd/ | https://github.com/gocd/gocd
  10. 10. GoCD • Criado pela ThoughtWorks • Open-source (desde Fev/2014) • Foco em Continuous Delivery https://www.go.cd/ | https://github.com/gocd/gocd
  11. 11. O poder das abstrações certas
  12. 12. Pipelines são first-class citizens
  13. 13. Mas o Jenkins não faz isso tudo?
  14. 14. (Alguns dos) problemas do Jenkins • Plugin hell
  15. 15. (Alguns dos) problemas do Jenkins • Plugin hell • Falta de maiores níveis de abstração
  16. 16. (Alguns dos) problemas do Jenkins • Plugin hell • Falta de maiores níveis de abstração • Suporte a CD somente via plugins
  17. 17. https://www.thoughtworks.com/pt/radar/tools/jenkins-as-a-deployment-pipeline
  18. 18. Pipeline
  19. 19. Pipeline
  20. 20. Pipeline -> Passos manuais
  21. 21. docker-tag
  22. 22. docker-tag docker-push
  23. 23. X
  24. 24. App 1 App 2 Simulator App 2 X
  25. 25. X
  26. 26. App 1 App 2 Simulator App 2 X
  27. 27. SSH
  28. 28. SSH
  29. 29. App 1 SSH
  30. 30. App 1 App 2 App 3 App 4
  31. 31. SSH
  32. 32. SSH
  33. 33. SSH
  34. 34. SSH
  35. 35. SSH
  36. 36. SSH
  37. 37. https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen-nginx
  38. 38. https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen
  39. 39. Outros
  40. 40. Referências • Blue-Green deployment: • https://technologyconversations.com/2015/07/02/scaling-to-infinity-with- docker-swarm-docker-compose-and-consul-part-34-blue-green-deployment- automation-and-self-healing-procedure/ • https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen-nginx • https://github.com/cyberdyne-corp/skynet/tree/poc-bluegreen • Ferramentas: • https://www.packer.io/ • https://www.go.cd/ • https://www.terraform.io/ • https://www.consul.io/ • https://www.ansible.com/ • http://gliderlabs.com/registrator/latest/ • http://pitest.org/ • http://rest-assured.io/ • http://sparkjava.com/
  41. 41. Globalcode – Open4education Stefan Teixeira @stefan_teixeira stefanfk@gmail.com Obrigado! stefanteixeira.com.br stefanteixeira.com

×