SlideShare a Scribd company logo
1 of 35
Using DevOps Tools to Achieve
Continuous Integration
2RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Speakers
Kyle Kelley
Developer Support Engineer
@rgbkrk
2
Ryan Richard, RHCA
DevOps Automation Team
Lead
@rackninja
3RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
First, a precursor
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
5RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Keep Deploying!
•Let’s keep that product going
•Let’s keep delivering!
6RACKSPACE® HOSTING | WWW.RACKSPACE.COM
What can we do?
•Write tests
•Use Continuous Integration
•Use version control, particularly git
7RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Let’s Test!
8RACKSPACE® HOSTING | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM
10RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Object Placeholder
Downtime
•It’s going to happen
•Assume failure
•Have a rollback strategy
-for your application
11
Testing with Open Source Tools
RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM 12RACKSPACE® HOSTING | WWW.RACKSPACE.COM
13RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM
Minimal .travis.yml
language: python
python:
– “2.6”
– “2.7”
– “3.2”
– “3.3”
# install dependencies
install: “pip install .”
# run tests
script: nosetests
14RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM 17RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17RACKSPACE® HOSTING | WWW.RACKSPACE.COM
15
Need more build power?
17RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17
How the DevOps Automation
Service tests our cookbooks
18RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Practical examples with Chef
•Our pipeline for testing
cookbooks
•Testing your chef powered
infrastructure
Our CI pipeline for Chef cookbooks
CI serverJenkins
Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Our CI pipeline for Chef cookbooks
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Functional tests
Test-kitchen + serverspec
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
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)
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).
Application Cookbook Workflow
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Application Cookbook Workflow
CI serverJenkins
WorkflowRake
Ruby Syntax/lint
Chef Syntax/lintFoodcritic
Unit testChefspec
Functional tests
Test-kitchen + serverspec
Do not destroy instance
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
Deployment Workflow Model
CI serverJenkins
Chef Workflow
Test-kitchen + serverspec
Do not destroy instance
Deployment Workflow Model
CI serverJenkins
Chef Workflow
Test-kitchen + serverspec
Do not destroy instance
Additional JobsDeployment workflow executed
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
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
RACKSPACE® HOSTING | 1 FANATICAL PLACE | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COMRACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

More Related Content

More from Rackspace

More from Rackspace (20)

How Startups can leverage big data?
How Startups can leverage big data?How Startups can leverage big data?
How Startups can leverage big data?
 
Become an IT Service Broker
Become an IT Service BrokerBecome an IT Service Broker
Become an IT Service Broker
 
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data PlatformDeploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
Deploy Apache Spark™ on Rackspace OnMetal™ for Cloud Big Data Platform
 
Rethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise ITRethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise IT
 
Starting the Journey to Managed Infrastructure Services
Starting the Journey to Managed Infrastructure ServicesStarting the Journey to Managed Infrastructure Services
Starting the Journey to Managed Infrastructure Services
 
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
 
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
Rackspace::Solve NYC - Solving for Rapid Customer Growth and Scale Through De...
 
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
 
vCenter Site Recovery Manager: Architecting a DR Solution
vCenter Site Recovery Manager: Architecting a DR SolutionvCenter Site Recovery Manager: Architecting a DR Solution
vCenter Site Recovery Manager: Architecting a DR Solution
 
Outsourcing IT Projects to Managed Hosting of the Cloud
Outsourcing IT Projects to Managed Hosting of the CloudOutsourcing IT Projects to Managed Hosting of the Cloud
Outsourcing IT Projects to Managed Hosting of the Cloud
 
How to Bring Shadow IT to the Light
How to Bring Shadow IT to the LightHow to Bring Shadow IT to the Light
How to Bring Shadow IT to the Light
 
DR-to-the-Cloud Best Practices
DR-to-the-Cloud Best PracticesDR-to-the-Cloud Best Practices
DR-to-the-Cloud Best Practices
 
Migrating Traditional Apps from On-Premises to the Hybrid Cloud
Migrating Traditional Apps from On-Premises to the Hybrid CloudMigrating Traditional Apps from On-Premises to the Hybrid Cloud
Migrating Traditional Apps from On-Premises to the Hybrid Cloud
 
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's NextRackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
Rackspace::Solve SFO - CoreOS CEO Alex Polvi on Solving for What's Next
 
Rackspace::Solve SFO - Rackspace CEO Taylor Rhodes on the Power of Solving Pr...
Rackspace::Solve SFO - Rackspace CEO Taylor Rhodes on the Power of Solving Pr...Rackspace::Solve SFO - Rackspace CEO Taylor Rhodes on the Power of Solving Pr...
Rackspace::Solve SFO - Rackspace CEO Taylor Rhodes on the Power of Solving Pr...
 
Rackspace::Solve SFO - Solving for the Coming Tidal Wave of Choices with Avai...
Rackspace::Solve SFO - Solving for the Coming Tidal Wave of Choices with Avai...Rackspace::Solve SFO - Solving for the Coming Tidal Wave of Choices with Avai...
Rackspace::Solve SFO - Solving for the Coming Tidal Wave of Choices with Avai...
 
vSphere with Openstack
vSphere with OpenstackvSphere with Openstack
vSphere with Openstack
 
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben GolubRackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
Rackspace::Solve SFO - Solve(Scale) Featuring Docker CEO Ben Golub
 
Rackspace::Solve SFO - Welcome Keynote featuring Rackspace CTO John Engates
Rackspace::Solve SFO - Welcome Keynote featuring Rackspace CTO John EngatesRackspace::Solve SFO - Welcome Keynote featuring Rackspace CTO John Engates
Rackspace::Solve SFO - Welcome Keynote featuring Rackspace CTO John Engates
 
vSphere with OpenStack
vSphere with OpenStackvSphere with OpenStack
vSphere with OpenStack
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Using DevOps Tools to Achieve Continuous Integration

  • 1. Using DevOps Tools to Achieve Continuous Integration
  • 2. 2RACKSPACE® HOSTING | WWW.RACKSPACE.COM Speakers Kyle Kelley Developer Support Engineer @rgbkrk 2 Ryan Richard, RHCA DevOps Automation Team Lead @rackninja
  • 3. 3RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3 First, a precursor
  • 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
  • 5. 5RACKSPACE® HOSTING | WWW.RACKSPACE.COM Keep Deploying! •Let’s keep that product going •Let’s keep delivering!
  • 6. 6RACKSPACE® HOSTING | WWW.RACKSPACE.COM What can we do? •Write tests •Use Continuous Integration •Use version control, particularly git
  • 7. 7RACKSPACE® HOSTING | WWW.RACKSPACE.COM Let’s Test!
  • 8. 8RACKSPACE® HOSTING | WWW.RACKSPACE.COM
  • 9. RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM
  • 10. 10RACKSPACE® HOSTING | WWW.RACKSPACE.COM Object Placeholder Downtime •It’s going to happen •Assume failure •Have a rollback strategy -for your application
  • 11. 11 Testing with Open Source Tools
  • 12. RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM 12RACKSPACE® HOSTING | WWW.RACKSPACE.COM
  • 13. 13RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM Minimal .travis.yml language: python python: – “2.6” – “2.7” – “3.2” – “3.3” # install dependencies install: “pip install .” # run tests script: nosetests
  • 14. 14RACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COMRACKSPACE® HOSTING | WWW.RACKSPACE.COM 17RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17RACKSPACE® HOSTING | WWW.RACKSPACE.COM
  • 16.
  • 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
  • 19. Our CI pipeline for Chef cookbooks CI serverJenkins
  • 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).
  • 28. Application Cookbook Workflow CI serverJenkins WorkflowRake Ruby Syntax/lint Chef Syntax/lintFoodcritic Unit testChefspec
  • 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
  • 31. Deployment Workflow Model CI serverJenkins Chef Workflow Test-kitchen + serverspec Do not destroy instance
  • 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
  • 35. RACKSPACE® HOSTING | 1 FANATICAL PLACE | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COMRACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM