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.
Using Rancher for highly
available deployment services
with GoCD and TeamCity
Matthew Skelton, Skelton Thatcher Consulting...
Rancher + GoCD + TeamCity == 😍
Today
'Deployment Services'
Deployment orchestration with GoCD
Introduction to Rancher
Rancher: platform for deployment se...
Team-first digital transformation
30+ organisations
UK, EU, India, China
skeltonthatcher.com
Build & Release Engineering
Infrastructure Automation
Organisational 'Medicine'
Training and Mentoring
We're partners with…
DevOpsTopologies.com
About me
Matthew Skelton
@matthewpskelton
Co-founder at
Skelton Thatcher Consulting
skeltonthatcher.com
Using Rancher for highly
available deployment
services with GoCD and
TeamCity
Safer, more rapid changes
to software systems
(Business Agility)
Deployment services as
first-class, core capabilities
for modern software teams
use logging as a
channel/vector to
make distributed systems
more testable
Invest in
Build & Release Engineering
'Deployment Services'
Minimum capabilities
•Version Control
•Build & Unit Test
•Packaging / artefact management
•Deployment & test orchestration...
Minimum capabilities
•Version Control
•Build & Unit Test
•Packaging / artefact mgt
•Deployment & test orchestration
•Loggi...
2017: build & deployment
tooling is core/critical
infrastructure – it's the only
mechanism we use to make
changes to
Produ...
DZone 2017 Guide to
DevOps &
Continuous Delivery
https://dzone.com/guides/devops-
continuous-delivery-and-automation
Article: CD Anti-Patterns
1. "One-stop shop" tools
2. Hidden logging / errors
3. Environment-driven
4. Blurred terminology...
TSK, TSK.
BAD TOOLS!!!
One-stop-shop tools 
Compose tooling w/ APIs 
Logging exposed 
Logging exposed 
Environment-driven 
Activity-driven 
'Partially successful' 
Deployment Orchestration
with GoCD
My experience
•Using GoCD since 2011
•(Used CruiseControl 2006-2011)
•100s of pipelines
•~200 build agents
•😍
However…
•GoCD is powerful
•With great power comes
responsibility some trickiness
•Forces you to really understand
your bu...
Server + Agent model
Server
Build Agents Test Agents
Deployment Agents
Staging
Production
Value stream map
http://jeremie-martinez.com/2016/04/19/gocd-android/
Model the current activities
'Walking Skeleton' deployment pipeline
Helps to transform ways of working
Model the current activities
Model activities, not envs
Secure deployments
Use sensible
security
boundaries
GoCD encourages good
practices and approaches
for Continuous Delivery
Introduction to Rancher
"A Complete Platform for Running Containers"
Managing container
clusters is tricky
Rancher simplifies the
container 'fabric' lifecycle
Rancher Catalog
Custom Catalog !!! 
Rancher as a platform for
highly-available
deployment services
Goal: highly-available tools
•Survive host failures
•Auto-failover to healthy hosts
•Auto-scale-out under load
•Multi-zone...
Bad old deployment services
•Single VM
•Manual installation
•Occasional backups (not tested)
•Sitting under a desk (aka ra...
Modern deployment services
•Either SaaS
or
•Containerised
•Built and managed as code
•Recreateable in minutes
Platform for HA deployment services
Rancher + Terraform + AWS
Blog post series
'Container Clustering with Rancher'
https://skeltonthatcher.com/blog/
HA at the Rancher level
HA at the EFS level
HA at the GoCD level (1x AZ)
HA at the GoCD level (2x AZ)
Rancher enables highly-
available build &
deployment services using
best-of-breed tools like
GoCD
Live Demo!
Demo
•Create HA Rancher platform with
Terraform
'cdams36'
Demo
•Spin up new GoCD agents via Rancher
'scale' setting
Demo
•Flexibility and power of GoCD 'value
stream map' view
Further material
Links
• GoCD: https://www.gocd.io/
• Rancher: http://rancher.com/
• Continuous Delivery with Windows & .NET by Matthew Ske...
Containerised
Built and managed as code
Recreateable in minutes
Using Rancher for highly
available deployment services
wit...
thank you
Matthew Skelton & Rich Bosomworth
@matthewpskelton & @richbos
skeltonthatcher.com
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
Upcoming SlideShare
Loading in …5
×

Using Rancher for highly available deployment services with GoCD and TeamCity

4,527 views

Published on

Tools like GoCD and TeamCity are excellent components of advanced Continuous Delivery deployment systems. They help us focus on deployment pipelines and the flow of changes, rather than "builds" or "environments". We can further enhance these tools by using frameworks like Rancher to manage GoCD and TeamCity as highly available, always-on deployment services. In this talk, we'll see how to use Rancher to run deployment pipeline tooling like GoCD and TeamCity, and how this lets us focus on the important parts of Continuous Delivery: getting changes to Production safely and rapidly.

Published in: Software

Using Rancher for highly available deployment services with GoCD and TeamCity

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

×