SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Más de Rackspace

How Startups can leverage big data?
How Startups can leverage big data?How Startups can leverage big data?
How Startups can leverage big data?Rackspace
 
Become an IT Service Broker
Become an IT Service BrokerBecome an IT Service Broker
Become an IT Service BrokerRackspace
 
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 PlatformRackspace
 
Rethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise ITRethinking People Costs in Enterprise IT
Rethinking People Costs in Enterprise ITRackspace
 
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 ServicesRackspace
 
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
 
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
 
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...Rackspace
 
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 SolutionRackspace
 
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 CloudRackspace
 
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 LightRackspace
 
DR-to-the-Cloud Best Practices
DR-to-the-Cloud Best PracticesDR-to-the-Cloud Best Practices
DR-to-the-Cloud Best PracticesRackspace
 
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 CloudRackspace
 
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 NextRackspace
 
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
 
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...Rackspace
 
vSphere with Openstack
vSphere with OpenstackvSphere with Openstack
vSphere with OpenstackRackspace
 
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 GolubRackspace
 
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 EngatesRackspace
 
vSphere with OpenStack
vSphere with OpenStackvSphere with OpenStack
vSphere with OpenStackRackspace
 

Más de 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
 

Último

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

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