Quick software release is a core business process at fast growing organizations. Yet, on many teams this important process is manual or semi-automated ā an approach that's painful, risky, costly and time consuming. Using DevOps tools to implement Continuous Integration can dramatically improve your software delivery pipeline.
Follow along with the webinar recording at http://youtu.be/u8PdgQvoSVo featuring @rgbkrk @rackninja from the Rackspace DevOps Automation Team and learn how to effectively deliver applications on API-driven infrastructure.
Additional resources available at:
http://www.rackspace.com/devops/
https://github.com/rackspace-cookbooks
https://github.com/rackspace-cookbooks/contributing
http://misheska.com/blog/2013/06/16/getting-started-writing-chef-cookbooks-the-berkshelf-way/
http://docs.ansible.com/intro_getting_started.html
https://travis-ci.org/
http://travis-ci.com/
4. 4RACKSPACEĀ® HOSTING | WWW.RACKSPACE.COM
Why are we here?
ā¢We are all building up similar systems
ā¢Similar configurations, minor tweaks
ā¢Want:
ā¢More time for applications and business
ā¢Less time doing SysOps
17. 17RACKSPACEĀ® HOSTING | WWW.RACKSPACE.COM 17
How the DevOps Automation
Service tests our cookbooks
18. 18RACKSPACEĀ® HOSTING | WWW.RACKSPACE.COM
Practical examples with Chef
ā¢Our pipeline for testing
cookbooks
ā¢Testing your chef powered
infrastructure
20. Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
21. Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
22. Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
23. Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
24. Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Functional tests
Test-kitchen + serverspec
25. Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Functional tests
Test-kitchen + serverspec
Thor
Human/automated
Post Steps
Final
26. 26RACKSPACEĀ® HOSTING | WWW.RACKSPACE.COM
Two modes of application delivery
Webhook Cookbook
Python MongoSupervisord
ā¢ Build an application cookbook that can deploy latest
version of the application/artifact (chef specific)
27. 27RACKSPACEĀ® HOSTING | WWW.RACKSPACE.COM
Two modes of application delivery
Webhook Cookbook
Python MongoSupervisord
ā¢ Build an application cookbook that can deploy latest
version of the application/artifact (chef specific)
ā¢ External workflow for application delivery
ā¢ (Capistrano, fabric, etc).
29. Application Cookbook Workflow
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Functional tests
Test-kitchen + serverspec
Do not destroy instance
30. Application Cookbook Workflow
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Functional tests
Test-kitchen + serverspec
Do not destroy instance
Jenkins steps or additional jobs:
Integration tests, load tests, user tests, etc
Human/automated
Post Steps
Final
32. Deployment Workflow Model
CI serverJenkins
Chef Workflow
Test-kitchen + serverspec
Do not destroy instance
Additional JobsDeployment workflow executed
33. Deployment Workflow Model
CI serverJenkins
Chef Workflow
Test-kitchen + serverspec
Do not destroy instance
Additional JobsDeployment workflow executed
Integration tests, load tests, user tests, etc. Additional Jobs
34. Deployment Workflow Model
CI serverJenkins
Chef Workflow
FinalHuman/automated
Test-kitchen + serverspec
Do not destroy instance
Additional JobsDeployment workflow executed
Integration tests, load tests, user tests, etc. Additional Jobs