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.
Continuous Delivery with
Chef and Go
Not a talk about tools
The tools illustrate the concepts
Continuous Delivery
Build-Test-Release
Deployment Pipeline
Is this change good enough to go Live
Fail Fast, Learn Fast
Don’t wait till Production release
Go Domain Model Concepts
Key to modeling a deployment
pipeline
Go Concepts
Traceability
Traceability through Pipeline Labels
Visual Metaphor
Key to visibility and traceability
Build Pipeline
• Pipeline per component
• Build
– Automated build scripts
– Gradle, Simple Build Tool (SBT) etc…
• Test
– ...
Build Pipeline Demo
Demo App
• 3 Tiers
• App
• Service 1
• Service 2
• DB
• Siteconfigs – siteconfig.git
– For site config changes without req...
Chef
Infrastructure as code
Chef recipe
Templatize Configuration
Install RPMs
Deployment Pipeline Demo
Deployments
• Automated One click deployments triggered from Go
• Chef for deployment
• Many times a day
• Deployment pipe...
RPMs ease deployment
Chef + Yum
App deploys treated like just another
rpm installation
fpm ruby gem
Deploment Pipeline Stages
• Deploy
• Upgrade database
– Apply schema changes
– Load data
• Post deploy Smoke Test
• Manual...
Deployment Notifications in Ganglia
References
• http://www.thoughtworks.com/products/webinars/en
d-end-automated-build-and-deployment-pipeline-
maven-chef-an...
Copyrights
• http://cd-with-thoughtworks-go.blogspot.in/
• Thoughtworks Studios
Questions
Continuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCD
Upcoming SlideShare
Loading in …5
×

Continuous Delivery with Chef and GoCD

In my last project, I led the team that setup the Continuous Delivery infrastructure for the product marketing and publishing platform of a major consumer electronics giant. This platform was based on Scala and the Play framework and used a non-blocking architecture to achieve scale.

Here, I want to share some of the key highlights of this project from a Devops and Continuous Delivery point of view.

Read more here: http://arojgeorge.ghost.io/a-continuous-delivery-example/
Video @ https://youtu.be/tPcmnx6UOlw

  • Be the first to comment

Continuous Delivery with Chef and GoCD

  1. 1. Continuous Delivery with Chef and Go
  2. 2. Not a talk about tools The tools illustrate the concepts
  3. 3. Continuous Delivery Build-Test-Release
  4. 4. Deployment Pipeline Is this change good enough to go Live
  5. 5. Fail Fast, Learn Fast Don’t wait till Production release
  6. 6. Go Domain Model Concepts Key to modeling a deployment pipeline
  7. 7. Go Concepts
  8. 8. Traceability
  9. 9. Traceability through Pipeline Labels
  10. 10. Visual Metaphor Key to visibility and traceability
  11. 11. Build Pipeline • Pipeline per component • Build – Automated build scripts – Gradle, Simple Build Tool (SBT) etc… • Test – Automated tests • Unit, Integration – Junit, Rspec, ScalaTest • Functional – Cucumber + Webdriver – Test results artifacts • Create artifacts – Packaged as RPMs • Traceability through pipeline labels
  12. 12. Build Pipeline Demo
  13. 13. Demo App • 3 Tiers • App • Service 1 • Service 2 • DB • Siteconfigs – siteconfig.git – For site config changes without requiring app deployment
  14. 14. Chef Infrastructure as code
  15. 15. Chef recipe
  16. 16. Templatize Configuration
  17. 17. Install RPMs
  18. 18. Deployment Pipeline Demo
  19. 19. Deployments • Automated One click deployments triggered from Go • Chef for deployment • Many times a day • Deployment pipeline per environment • Pipeline dependencies help promote binaries from one environment to another
  20. 20. RPMs ease deployment Chef + Yum App deploys treated like just another rpm installation fpm ruby gem
  21. 21. Deploment Pipeline Stages • Deploy • Upgrade database – Apply schema changes – Load data • Post deploy Smoke Test • Manual Signoff Gate Stage
  22. 22. Deployment Notifications in Ganglia
  23. 23. References • http://www.thoughtworks.com/products/webinars/en d-end-automated-build-and-deployment-pipeline- maven-chef-and-go • http://martinfowler.com/bliki/DeploymentPipeline.ht ml • https://learnchef.opscode.com/ • www.thoughtworks.com/products/go-continuous- delivery/
  24. 24. Copyrights • http://cd-with-thoughtworks-go.blogspot.in/ • Thoughtworks Studios
  25. 25. Questions

×