More Related Content

Similar to Using Rancher for highly available deployment services with GoCD and TeamCity(20)


More from Skelton Thatcher Consulting Ltd(20)


Using Rancher for highly available deployment services with GoCD and TeamCity

  1. Using Rancher for highly available deployment services with GoCD and TeamCity Matthew Skelton, Skelton Thatcher Consulting @matthewpskelton / Amsterdam Continuous Delivery meetup group 08 February 2017, Amsterdam, NL
  2. Rancher + GoCD + TeamCity == 😍
  3. Today 'Deployment Services' Deployment orchestration with GoCD Introduction to Rancher Rancher: platform for deployment services Live Demo!
  4. Team-first digital transformation 30+ organisations UK, EU, India, China
  5. Build & Release Engineering Infrastructure Automation Organisational 'Medicine' Training and Mentoring
  6. We're partners with…
  8. About me Matthew Skelton @matthewpskelton Co-founder at Skelton Thatcher Consulting
  9. Using Rancher for highly available deployment services with GoCD and TeamCity
  10. Safer, more rapid changes to software systems (Business Agility)
  11. Deployment services as first-class, core capabilities for modern software teams
  12. use logging as a channel/vector to make distributed systems more testable Invest in Build & Release Engineering
  13. 'Deployment Services'
  14. Minimum capabilities •Version Control •Build & Unit Test •Packaging / artefact management •Deployment & test orchestration •Logging / metrics / dashboard
  15. Minimum capabilities •Version Control •Build & Unit Test •Packaging / artefact mgt •Deployment & test orchestration •Logging / metrics / dashboard
  16. 2017: build & deployment tooling is core/critical infrastructure – it's the only mechanism we use to make changes to Production systems
  17. DZone 2017 Guide to DevOps & Continuous Delivery continuous-delivery-and-automation
  18. Article: CD Anti-Patterns 1. "One-stop shop" tools 2. Hidden logging / errors 3. Environment-driven 4. Blurred terminology Authors: Manuel Pais & Matthew Skelton
  19. TSK, TSK. BAD TOOLS!!!
  20. One-stop-shop tools 
  21. Compose tooling w/ APIs 
  22. Logging exposed 
  23. Logging exposed 
  24. Environment-driven 
  25. Activity-driven 
  26. 'Partially successful' 
  27. Deployment Orchestration with GoCD
  28. My experience •Using GoCD since 2011 •(Used CruiseControl 2006-2011) •100s of pipelines •~200 build agents •😍
  29. However… •GoCD is powerful •With great power comes responsibility some trickiness •Forces you to really understand your build & deployments 👍
  30. Server + Agent model Server Build Agents Test Agents Deployment Agents Staging Production
  31. Value stream map
  32. Model the current activities 'Walking Skeleton' deployment pipeline Helps to transform ways of working
  33. Model the current activities
  34. Model activities, not envs
  35. Secure deployments Use sensible security boundaries
  36. GoCD encourages good practices and approaches for Continuous Delivery
  37. Introduction to Rancher
  38. "A Complete Platform for Running Containers"
  39. Managing container clusters is tricky Rancher simplifies the container 'fabric' lifecycle
  40. Rancher Catalog
  41. Custom Catalog !!!
  42. Rancher as a platform for highly-available deployment services
  43. Goal: highly-available tools •Survive host failures •Auto-failover to healthy hosts •Auto-scale-out under load •Multi-zone availability
  44. Bad old deployment services •Single VM •Manual installation •Occasional backups (not tested) •Sitting under a desk (aka random AWS subscription)
  45. Modern deployment services •Either SaaS or •Containerised •Built and managed as code •Recreateable in minutes
  46. Platform for HA deployment services Rancher + Terraform + AWS
  47. Blog post series 'Container Clustering with Rancher'
  48. HA at the Rancher level
  49. HA at the EFS level
  50. HA at the GoCD level (1x AZ)
  51. HA at the GoCD level (2x AZ)
  52. Rancher enables highly- available build & deployment services using best-of-breed tools like GoCD
  53. Live Demo!
  54. Demo •Create HA Rancher platform with Terraform 'cdams36'
  55. Demo •Spin up new GoCD agents via Rancher 'scale' setting
  56. Demo •Flexibility and power of GoCD 'value stream map' view
  57. Further material
  58. Links • GoCD: • Rancher: • Continuous Delivery with Windows & .NET by Matthew Skelton & Chris O'Dell (O'Reilly, 2016): (free download) • Blog post series on High-Availability Rancher: aws-efs-mounts-using-rancher-nfs/ • DZone 2017 guide to Continuous Delivery:
  59. Containerised Built and managed as code Recreateable in minutes Using Rancher for highly available deployment services with GoCD and TeamCity
  60. thank you Matthew Skelton & Rich Bosomworth @matthewpskelton & @richbos