SlideShare ist ein Scribd-Unternehmen logo
GETTING
STARTED w/
TDI
Hello!
I AM CARLOS MEZA
Sysadmin that wants to
do things better.
Carlos@digitalr00ts.com
@digitalr00ts
ROADMAP
My journey learning TDI
1. The Promise of TDI
2. Configuration
Management
3. Principles of Test
and Behavior Driven
Development
4. Continuous
Integration
5. Test Driven
Infrastructure
6. Continuous Delivery
7. Continuous
Deployment
8. Challenges
1.
TEST DRIVEN
INFRASTRUCTURE
Why TDI?
WHY TDI
TDI applies agile development
to infrastructure.
○Minimizes Risk
○Builds Confidence
○Maintains Focus
WHY TDI
TDI applies agile development
to infrastructure.
○Verifiable Behavior - Consistency
○Increased Code Quality - Confidence
○Safe Refactoring - Speed
○Improved Design - Adaptability
SYSADMIN ANTI-PATTERNS
Issues with system
deployment and maintenance
○Lack of Process
○Manual Process
○Poor Code
2.
Configuration
Management
Infrastructure As Code
CONFIGURATION MANAGEMENT
CM ensures that a system is in a
known, good, and trusted state
○Visibility
○Reliability
○Productivity
○Scalability
CHEF WORKFLOW
TOOL OPTIONS
○Puppet
○Chef
○Salt
○Ansible
CHEF RECIPE EXAMPLE
package 'explicit_action' do
action :remove
end
package 'with_attributes' do
version '1.0.0'
action :remove
end
CM SHORTCOMINGS
CM does not prevent bad
infrastructure code
○Incomplete Code
○Unclear Code
○Unintended Consequences
3.
TEST / BEHAVIOR
DRIVEN
DEVELOPMENT
Principles and Methods
TEST
DRIVEN DEVELOPMENT
A framework to
manage evolving environments with
highly reliable and maintainable code.
○Maintains Scope
○Faster Feedback
○Reduces Risk and
Builds Trust
BEHAVIOR
DRIVEN DEVELOPMENT
Facilitates collaboration between
stakeholders and developers by describing
requirements as system behaviors.
○Business Values Prioritized
○Tests are Documentation
○Improves Communication
SERVERSPEC EXAMPLE
describe port(80) do
it { should be_listening }
end
describe command("lsb_release -d") do
it { should return_stdout /wheezy/ }
end
RED, GREEN, REFACTOR
http://www.agileapps.co.uk/methodology/continuous.html
4.
CONTINUOUS
INTEGRATION
Automating Failure
CONTINUOUS INTEGRATION
A practice with short development cycles,
automated testing and
code integration
○Detect Issues Sooner
○Faster to Implement
TESTING
Unit Test
Verifies that individual parts of your code
continue to work (Pre-Convergence)
Integration Test
Verifies the end state of the system post
integration (Post-Convergence)
CI WORKFLOW
https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
1
CI WORKFLOW
https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
2
CI WORKFLOW
https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
3
5
4
CI WORKFLOW
https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
6
TOOL OPTIONS
○Jenkins
○Travis CI
○Go (ThoughtWorks)
CODE REVIEW
http://explosm.net/comics/2083/
CODE REVIEW
Peer review of source code
○Readability
○Maintainability
○Knowledge Sharing
TOOL ASSISTED OPTIONS
○Garret
○Review Board
○Phabricator
5.
TEST DRIVEN
INFRASTRUCTURE
Agile Infrastructure
PRINCIPLES AND PRACTICES
○Document - Requirements
○Test - Describe behavior
○Script - Code to pass test
○Audit - Version control
○Continuous - Automatically test and
integrate changes
TDI WORKFLOW
FORK
TDI WORKFLOW
CODE
TDI WORKFLOW
COMMIT
TDI WORKFLOW
TEST TRIGGERED
TDI WORKFLOW
TEST JOB
TDI WORKFLOW
INTEGRATION TEST
TDI WORKFLOW
FEEDBACK
TDI WORKFLOW
PULL REQUEST
TDI WORKFLOW
TO CODE REVIEW
6.
CONTINUOUS
DELIVERY
Delivering to staging
environments
CONTINUOUS DELIVERY
A practice of delivering every change to a
production-like environment.
○Increases Ability to Adapt
○Increases Reliability
○Lowers Risk
○Faster to Production
CD WORKFLOW
COMMIT PULL REQUEST
CD WORKFLOW
TEST TRIGGERED
CD WORKFLOW
TEST JOB
CD WORKFLOW
iNTEGRATION TEST
CD WORKFLOW
FEEDBACK
CD WORKFLOW
DELIVER
7.
CONTINUOUS
DEPLOYMENT
Automating to Production
CONTINUOUS DEPLOYMENT
Automating acceptance testing to promote
code through pre-productions
environments to production.
○Quicker Return on Investment
○Faster Client Feedback
CD WORKFLOW
Dev Staging Prod
CD WORKFLOW
Dev Staging Prod
CD WORKFLOW
Dev Staging Prod
CD WORKFLOW
Dev Staging Prod
Manual
(Continuous Delivery)
TOOL OPTIONS
Jenkins Plugins:
○Workflow
○Pipelines
Chef
○Delivery Truck
○Go (ThoughtWorks)
8.
CHALLENGES
This Will All Fail
CHALLENGES
Cultural shift
○Workflow Changes
○Time Investment
○Full Adoption
CHALLENGES
Poor Testing
○Lack of Understanding
○Overlooking Test Parameters
○Trivial Tests
9.
CONCLUSION
Wrap It Up
Conclusion
○Improves Reliability
○Increases Speed
○Increases in Productivity
○Adaptability
○Reduces Cost
SOURCES AND
MORE INFORMATION
○5 Things About Configuration
Management Your Boss Needs To Know
https://www.scriptrock.com/blog/5-configuration-management-boss
○Overview of Test Driven Infrastructure
with Chef
https://www.chef.io/blog/2015/04/21/overview-of-test-driven-
infrastructure-with-chef/
○Agile DevOps: Test-driven infrastructure
http://www.ibm.com/developerworks/library/a-devops5/
SOURCES AND
MORE INFORMATION
○Guide to Agile Practices -
http://guide.agilealliance.org
○ThoughtWorks Insights on CD
https://www.thoughtworks.com/insights/continuous-delivery
THANKS!
Special thank you to
Ned Harris of Chef.io
FOLLOW
ME
@digitalr00ts
Carlos@digitalr00ts.com

Weitere ähnliche Inhalte

Andere mochten auch

IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...
IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...
IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...Emma Griffiths
 
Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...
Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...
Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...NhatHai Phan
 
MOOC: ISE101x Knowledge Management and Big Data in Business
MOOC: ISE101x Knowledge Management and Big Data in BusinessMOOC: ISE101x Knowledge Management and Big Data in Business
MOOC: ISE101x Knowledge Management and Big Data in Business2016
 
A Dozen 'Startup Health' Start Ups
A Dozen 'Startup Health' Start UpsA Dozen 'Startup Health' Start Ups
A Dozen 'Startup Health' Start UpsGary Monk
 
Expansion of solar energy electricity production using hybrid systems
Expansion of solar energy electricity production using hybrid systemsExpansion of solar energy electricity production using hybrid systems
Expansion of solar energy electricity production using hybrid systemsJacob Belson
 
Beautiful Israel
Beautiful IsraelBeautiful Israel
Beautiful Israelrandom13579
 
Technology Factor: Accelerating Your Journey to As a Service
Technology Factor: Accelerating Your Journey to As a ServiceTechnology Factor: Accelerating Your Journey to As a Service
Technology Factor: Accelerating Your Journey to As a Serviceaccenture
 

Andere mochten auch (9)

Code review
Code reviewCode review
Code review
 
IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...
IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...
IRIDA's Genomic epidemiology application ontology (GenEpiO): Genomic, clinica...
 
What 2012 food allergy
What 2012 food allergyWhat 2012 food allergy
What 2012 food allergy
 
Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...
Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...
Ontology-based Deep Learning for Human Behavior Prediction in Health Social N...
 
MOOC: ISE101x Knowledge Management and Big Data in Business
MOOC: ISE101x Knowledge Management and Big Data in BusinessMOOC: ISE101x Knowledge Management and Big Data in Business
MOOC: ISE101x Knowledge Management and Big Data in Business
 
A Dozen 'Startup Health' Start Ups
A Dozen 'Startup Health' Start UpsA Dozen 'Startup Health' Start Ups
A Dozen 'Startup Health' Start Ups
 
Expansion of solar energy electricity production using hybrid systems
Expansion of solar energy electricity production using hybrid systemsExpansion of solar energy electricity production using hybrid systems
Expansion of solar energy electricity production using hybrid systems
 
Beautiful Israel
Beautiful IsraelBeautiful Israel
Beautiful Israel
 
Technology Factor: Accelerating Your Journey to As a Service
Technology Factor: Accelerating Your Journey to As a ServiceTechnology Factor: Accelerating Your Journey to As a Service
Technology Factor: Accelerating Your Journey to As a Service
 

Ähnlich wie Getting Started with Test Driven Infrastructure - SCaLE 14x

DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)Cygnet Infotech
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1G R VISHAL
 
DevOps in Practice
DevOps in PracticeDevOps in Practice
DevOps in PracticeDerek Chen
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsIntroduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsCygnet Infotech
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)Serena Software
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseDBmaestro - Database DevOps
 
8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for SalesforceAutoRABIT
 
Essential Aspects of a Salesforce CI/CD Suite
Essential Aspects of a Salesforce CI/CD SuiteEssential Aspects of a Salesforce CI/CD Suite
Essential Aspects of a Salesforce CI/CD SuiteAutoRABIT
 
Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...People10 Technosoft Private Limited
 
Bridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to ProductionBridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to ProductionFlorian Wilhelm
 
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgileNetwork
 
Agile Secure Development
Agile Secure DevelopmentAgile Secure Development
Agile Secure DevelopmentBosnia Agile
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryAnand Chauhan
 
Ibm innovate adoption of continuous delivery at scale at a large telco - pr...
Ibm innovate   adoption of continuous delivery at scale at a large telco - pr...Ibm innovate   adoption of continuous delivery at scale at a large telco - pr...
Ibm innovate adoption of continuous delivery at scale at a large telco - pr...Mirco Hering
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software Ireland
 
Transform your DevOps practices with Security
Transform your DevOps practices with SecurityTransform your DevOps practices with Security
Transform your DevOps practices with SecurityPaul Czarkowski
 

Ähnlich wie Getting Started with Test Driven Infrastructure - SCaLE 14x (20)

DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
DevOps - The Key to Rapid Productization (Introduction to the 5C's of DevOps)
 
IT Metrics in Real Life
IT Metrics in Real LifeIT Metrics in Real Life
IT Metrics in Real Life
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
DevOps in Practice
DevOps in PracticeDevOps in Practice
DevOps in Practice
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsIntroduction to 5w’s of DevOps
Introduction to 5w’s of DevOps
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce
 
Essential Aspects of a Salesforce CI/CD Suite
Essential Aspects of a Salesforce CI/CD SuiteEssential Aspects of a Salesforce CI/CD Suite
Essential Aspects of a Salesforce CI/CD Suite
 
Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...
 
Bridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to ProductionBridging the Gap: from Data Science to Production
Bridging the Gap: from Data Science to Production
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
 
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
 
Agile Secure Development
Agile Secure DevelopmentAgile Secure Development
Agile Secure Development
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
 
Ibm innovate adoption of continuous delivery at scale at a large telco - pr...
Ibm innovate   adoption of continuous delivery at scale at a large telco - pr...Ibm innovate   adoption of continuous delivery at scale at a large telco - pr...
Ibm innovate adoption of continuous delivery at scale at a large telco - pr...
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 
Transform your DevOps practices with Security
Transform your DevOps practices with SecurityTransform your DevOps practices with Security
Transform your DevOps practices with Security
 

Kürzlich hochgeladen

Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 

Kürzlich hochgeladen (20)

Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

Getting Started with Test Driven Infrastructure - SCaLE 14x

Hinweis der Redaktion

  1. Welcome to GETTING STARTED w/ TDI
  2. HELLO I am Carlos A sysadmin trying to do things better mix environment Linux manage Windows
  3. ROADMAP - my journey working on deploying what i have learned TDI incorporates several concepts no empirical definitions, general idea Slides will be available. The Promise of TDI Configuration Management Principles of Test and Behavior Driven Development Continuous Integration Infrastructure Continuous Delivery Continuous Deployment Challenges
  4. 1. TEST DRIVEN INFRASTRUCTURE what is why worth effort
  5. WHY TDI Test driven infrastructure (TDI) DI applies agile development principles and practices to infrastructure. Bringing Benefits minimize risk build confidence in code and process and efforts stay on task, outcome focused It does this with...
  6. WHY TDI -Verifiable Behavior - check results against requirements - Consistency -Increased Code Quality - change are incremental, easier to improve, increasing reliability - Confidence -Safe Refactoring - applying good practices, sped up - Speed -Improved Design - Adaptability - being able to adopt enables design improvements Efficiencies = low I.T. costs
  7. SYSADMIN ANTI-PATTERNS Issues w/ system deployment and maintenance Lack of process Inefficient / chaotic, difficult to repeat, cannot verify, does not scale Manual process (docs) repeatable but prone to errors / inconsistencies, documentation outdated. introduces risk = deteriorating trust Poor code myriad of scripts, difficult to understand, unmaintainable configuration management can help
  8. 2. CONFIGURATION MANAGEMENT translates infrastructure into code
  9. CONFIGURATION MANAGEMENT Configuration management ensures that systems are in a known, good and trusted state. Visibility of config Auditable/trackable - version control Reliability maintaining state. Predictable Productivity Faster resolutions, Fewer outages = less firefighting = I.T. cost reduction Confidence to deploy and scale faster more efficient change management.
  10. CHEF WORKFLOW This is from Chef but the idea is similar for other CM. Top: Repository (version control) with infrastructure code Blue: Dev station change configurations and related attributes Orange: CM server. Policies and config to enforce Right: devices/nodes CM deploys to
  11. CM OPTIONS Puppet/Chef Puppet Nondeterministic run sequence Salt/Ansible attuned for Sysadmins CHEF: History Windows Large Community Out of the box tools Innovative Improving workflow Developing and adopting tools
  12. CHEF RECIPE EXAMPLE Remove package package 'explicit_action' do action :remove end Remove package with version attribute package 'with_attributes' do version '1.0.0' action :remove end
  13. CM SHORTCOMINGS does not prevent bad infrastructure code that is poorly created and maintained. Incomplete Code (To Dos, Sloppy Quick Fixes) Unclear Code (Duplicate or Contradicting) Unintended Side Effects that could catastrophic = lack of confidence CM on its own is not a complete solution
  14. 3. TEST and BEHAVIOR DRIVEN DEVELOPMENT to the rescue
  15. TEST DRIVEN DEVELOPMENT A framework for managing evolving environments that facilitates the creation of highly reliable and maintainable code. Maintain Scope: Test are written first. specific requirements. Tests provide faster feedback Tests reduce risk help builds trust in the process and code
  16. BEHAVIOR DRIVEN DEVELOPMENT BDD is an extension of TDD Facilitates collaboration between stakeholders and developers by describing requirements as system behaviors. business values are prioritized because the requirements correlated to business outcomes Tests are describing the system becoming documentation Communications are Improved as documentation is more readable for experts across different domains. Acceptance test
  17. SERVERSPEC EXAMPLE Example of test Serverspec allows writing of readable, to validate that a server is correctly configure -- describe port(80) do it { should be_listening } end describe command("lsb_release -d") do it { should return_stdout /wheezy/ } end
  18. RED, GREEN, REFACTOR mnemonic for remembering the basic TDD cycle RED: write a "single" unit test describing a requirement. make it fail. this is documentation GREEN: write "just enough" code to pass test REFACTOR: cleanup code change implementation, not behavior Rise and Repeat
  19. 4. CONTINUOUS INTEGRATION CI is a practice from XP (a type of agile development), to speed up development. Automating TDD
  20. CONTINUOUS INTEGRATION A practice w/ short development cycles automated testing code integration Detect Issues Sooner Immediate feedback with automated testing aka Failing Fast Chages Faster to Implement changes are small, verified and integrated automatically
  21. TESTING 2 notably types of tests (there are more types) Unit Test Verifies that individual parts of your codebase independent of other changes (Pre-Convergence, before integration) Integration Test Post integration verification end state of the system is as expected (Post-Convergence)
  22. CI WORKFLOW 1-Commit Code
  23. CI WORKFLOW 2-CI server fetches changes
  24. CI WORKFLOW 3-Build 4-Test 5-Pass/Fail
  25. CI WORKFLOW 6-Feedback with notifications of results
  26. CI SOFTWARE OPTIONS Jenkins is probably the most popular tool for this task. I currently using Travis CI is what I initially started with. it’s hosted platform is free for opensource project and easily integrates with GitHub. Go is a tool opensourced by ThoughtWorks and looks interesting and I intend to investigate
  27. CODE REVIEW Just because we are moving towards automating all the the things, Code review should not be overlooked. The creators of cyanide and happiness seem to agree.
  28. CODE REVIEW Peer review of source code to improve software quality. Ensuring readability and maintainability Knowledge sharing of the code, new team members up to speed Exposure to different approaches
  29. TOOL ASSISTED OPTIONS act as gatekeepers More popular options Garret Review Board Phabricator They assist with comments/discussion auditing/tracking difs
  30. 5. TEST DRIVEN INFRASTRUCTURE Agile Infrastructure
  31. PRINCIPLES AND PRACTICES Document specifications and requirements Components and version how tos install Test Write tests to describe those requirements Script Code to pass test. Audit and track code w/ Version control to track changes. Continuous process Automatically test every change and integrate http://www.ibm.com/developerworks/library/a-devops5/
  32. TDI WORKFLOW There is not a definitive way to implement. I am not going to say this is the “right” way to do it. just how I’m doing it Fork/Branch from version control
  33. TDI WORKFLOW Code: creating test code to pass test
  34. TDI WORKFLOW Commit and git hook will trigger
  35. TDI WORKFLOW call to CI (Jenkins)
  36. TDI WORKFLOW Jenkins sends jobs to slaves with Test Kitchen (a chef tool)
  37. TDI WORKFLOW Jenkins slaves spins up environment for integration testing. VMs, containers, etc
  38. TDI WORKFLOW Feedback Jenkins notifies us whether or not if the job passed email, chat, etc
  39. TDI WORKFLOW If it passes Jenkins will issue a pull request
  40. TDI WORKFLOW Code Review manual committed another team member. and code is integrate
  41. 6. CONTINUOUS DELIVERY Delivering code changes to staging environments
  42. CONTINUOUS DELIVERY A practice of delivering every change to a production-like environment. Increases Ability to Adapt by providing more feedback Increases Reliability as effect of every incremental change can be seen Lowers Risk as a result Faster to Production
  43. CD WORKFLOW Passes code review and pull request committed
  44. CD WORKFLOW Test triggered using git hooks
  45. CD WORKFLOW Slaves Jenkins sends jobs to slaves with Test Kitchen (a chef tool)
  46. CD WORKFLOW Integration Test Jenkins slaves spins up environment for integration testing of master branch. VMs, containers, etc
  47. CD WORKFLOW Feedback Jenkins notifies us whether or not the job passed. email, chat, etc
  48. CD WORKFLOW Push to Chef staging environment If passed
  49. 7. CONTINUOUS DEPLOYMENT Automating to Production the holy grail
  50. CONTINUOUS DEPLOYMENT Automating acceptance testing to promote code through pre-productions environments to production (i.e. dev->staging->prod). acceptance test determine if the requirements of a specification or contract are met Provides Quicker Return on Investment Faster Client Feedback
  51. CD WORKFLOW Continuous delivery can automate the process through staging environments like development and QA.
  52. CD WORKFLOW The difference between continuous delivery and continuous deployment is
  53. CD WORKFLOW Continuous deployment automates the push to production.
  54. CD WORKFLOW As long final step is to production is manual it is continuous delivery few implement actual continuous deployment where its 100% automated
  55. TOOL OPTIONS for CD Jenkins plugins: -Workflow -Pipelines Native Chef solutions Delivery Truck in Go pipelines are first class built-in concepts Pipelines are a series of stages with visibility, feedback, and continuous deployment
  56. 8. CHALLENGES Why this wont work and will fail
  57. CHALLENGES Cultural shift Requires: workflow changes time investment Adoption Not doing proper practicing Writing too many tests at once Writing tests that are too large or coarse-grained Not writing tests
  58. CHALLENGES Poor Testing Not knowing/understanding what to test for Overlooking what needs to be tested Writing overly trivial tests or writing tests for trivial code
  59. 9. CONCLUSION
  60. CONCLUSION Improved reliability test 1st process current readable documentation automation speed Increase in productivity maintaining scope adaptability less firefighting change management reduces cost
  61. SOURCES AND MORE INFORMATION
  62. SOURCES AND MORE INFORMATION
  63. THANKS Thank you to Ned Harris for allowing me to pick his brain.