SlideShare une entreprise Scribd logo
1  sur  34
Continuous Integration and Test 
Driven Dev for Network Engineers 
www.Nexusis.com 1 877.286.3987 
Colin McNamara CCIE #18233 
@colinmcnamara
www.Nexusis.com 2 877.286.3987
Agenda 
 What drives my perspective 
 Why TDD / CI for Network Engineers 
 CI / TDD overview 
 Network Change Management Use Case 
www.Nexusis.com 3 877.286.3987
Who am I? 
 Chief Cloud Architect::Nexus 
 OpenStack ATC/Ambassador 
 OpenStack Core Reviewer 
 Manage DevOps Team 
 Manage Agile BPO Team 
 Beard Growth Specialist 
 CCIE 18233, RHCE, ETC, ETC 
 @colinmcnamara 
 www.colinmcnamara.com 
www.Nexusis.com 4 877.286.3987
What do 
we do? 
50% 
upstream 
For Core Dev’s 
Software Development, Systems 
Integration, Network Design 
DenicaCloud 
Rosetta 
Aviator 
More 
Project Denica 
Toolchain for Deploying CI systems 
and the associated tooling into and 
along with various cloud platforms 
Core Contributions 
and solutions in 
OpenStack 
OpenDaylight 
Open vSwitch 
Puppet 
Agile / Lean Software 
Development Practices 
Extensive experience 
with the folliwng: 
• SDN Development for 
Multi Vendor Integrations 
• Agile Process Consulting 
• Cloud Platform 
Development 
• Systems Integration 
• Upstream contributions 
• DevOps Consulting
That all boils down to.. We make unicorn farts 
www.Nexusis.com 6 877.286.3987
www.Nexusis.com 7 877.286.3987 
Why TDD / CI for 
Networking?
Our industry is changing 
www.Nexusis.com 8 877.286.3987
Four closely related items 
www.Nexusis.com 9 877.286.3987
Agile infrastructure evolution 
www.Nexusis.com 10 877.286.3987 
Classic Engineering 
 12 + month dev times 
 QA pushed till last 
 Large amounts of bugs 
 Maps easily to manual 
silo’d process’s 
 ITIL Aligned 
AGILE 
 2 Week Dev times 
 Integrated QA 
 Small bug counts 
 Does not map into silo’d 
process’s 
 Cloud Aligned
Speed Racer (Agile Infrastructure Developer) 
www.Nexusis.com 11 877.286.3987 
• Integrated tools 
• Integrated test QA 
• Software as a manufacturing line 
• Code rolls from Step to Step 
• Need infrastructure as code…
DevOps is the “New” 
www.Nexusis.com 12 877.286.3987 
Network Ops
Core SDN truth 
www.Nexusis.com 13 877.286.3987 
ONE change 
In one FILE 
Can CREATE a system 
Or DESTROY a system
What if you could actually KNOW it would work 
www.Nexusis.com 14 877.286.3987 
 Test EVERY network 
change made 
 Map each application to 
the network component 
underneath 
 Automatically run tests with 
reports of results
www.Nexusis.com 15 877.286.3987
www.Nexusis.com 18 877.286.3987 
Agile Development Continuous 
Integration for Network 
Engineers 
Technical items you need to know
DevOps Workflows 
www.Nexusis.com 19 877.286.3987
Complex View 
www.Nexusis.com 20 877.286.3987
Simple CI System Walk Through 
www.Nexusis.com 21 877.286.3987 
SVC Only 
SVC + Network 
“Virtualized” 
Production 
System
Obligatory Tools Discussion 
www.Nexusis.com 22 877.286.3987
Git / Gerrit 
www.Nexusis.com 23 877.286.3987
www.Nexusis.com 24 877.286.3987
Integration Opportunity for CI Pipelines 
www.Nexusis.com 25 877.286.3987 
 VIRL(CMS) / JunoSphere 
 Functional Test 
 Network OS level testing 
 MATE / WAE 
 Stubs / Modeling 
 Integration Test through API’s 
 Tail-F, Schprokits, Puppet/Chef, Ansible 
 Config Distribution 
 Unified Data Models
www.Nexusis.com 26 877.286.3987 
Use Case 
Change and Release Management
Change and Release Management 
www.Nexusis.com 27 877.286.3987
Change and Release Management 
Jenkins 
Test Harnesses 
Governance 
Tooling 
Git 
Gerrit 
Templates and 
EPG’s 
Git 
Gerrit 
www.Nexusis.com 28 877.286.3987 
Gerrit 
Gerrit 
Jenkins 
Test Harnesses 
Vagrant Ant 
Puppet 
Jenkins 
Test Harnesses 
Vagrant 
Puppet 
Git 
Gerrit 
Puppet 
Other 
Git 
Gerrit 
Test Harnesses 
Puppet 
Other 
Jenkins 
Test Harnesses 
Puppet 
Jenkins Other 
Test Harnesses 
Vagrant 
Puppet 
Gerrit 
Governance 
Tooling
Maturity Levels – how to move forward 
Level0 Level1 Level2 Level3 Level4 
www.Nexusis.com 29 877.286.3987 
• Self Service Builds 
• Nightly Builds 
• Build Artifacts are 
stored 
• Self Services deploy 
to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at build 
time 
• Visibility: Team 
• Latest reports always 
accessible 
• Build on commit 
• Dependency Repo 
• Secured Configs 
• Self-Service deploy 
to test and prod 
• Standard Process 
across all 
environments 
• Some Static analysis 
• Automated Funct 
tests run nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical reports 
available 
• Triggered Builds 
• Build Cluster 
• Test Gated 
Automated 
Promotions 
• Database 
Deployments 
• Multi-tier SOA 
• High Code Coverage 
• Security Scans 
• Risk based manual 
• testing 
• Report trending 
• Build from 
Snapshots 
• Gated Commit 
• Continuous 
Deployment to 
production 
• 100% Coverage 
• Gross Silo Analysis 
Management QA Operations Development 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting
How to get there – Level 0 
www.Nexusis.com 30 877.286.3987 
Development 
•Create standards for service chains (cfg,controler) 
•Configuration Templates , puppet modules 
•Use source control - Git 
•Build VSM of specific IT process 
Operations 
•Script Deployments – Expect, Simple Puppet 
•Use source control – Git 
QA 
•Build new services in lab / cloud / virt environment – VIRL / 
GNS3 / VMware / OpenStack 
•Simple test harness built (ping) 
Management 
•Individual Kanban Boards / Ticket tracking 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting 
Level1 Level2 
• Self Service 
Builds 
• Nightly Builds 
• Build Artifacts 
are stored 
• Self Services 
deploy to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at 
build time 
• Visibility: Team 
• Latest reports 
always 
accessible 
• Build on commit 
• Dependency 
Repo 
• Secured Configs 
• Self-Service 
deploy to test 
and prod 
• Standard 
Process across 
all environments 
• Some Static 
analysis 
• Automated 
Funct tests run 
nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical 
reports available 
Management QA Operations Development 
Level0
How to get there – Level 1 
www.Nexusis.com 31 877.286.3987 
Development 
• Ci System Implemented 
• Scripts build virtual env on demand 
• Results from built system get stored 
Operations 
• Deployment via Config Mgmt tooling 
•Governance / CI system deployed 
•Ops review of config diffs 
QA 
•CI System Implemented 
•Common functional tests created 
•Common port / path tests created 
Management 
• Visualize flow – Kanban Board for team 
• Initial ScrumBan Process’s Mapped 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting 
Level1 Level2 
• Self Service Builds 
• Nightly Builds 
• Build Artifacts are 
stored 
• Self Services deploy 
to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at build 
time 
• Visibility: Team 
• Latest reports always 
accessible 
• Build on commit 
• Dependency 
Repo 
• Secured Configs 
• Self-Service 
deploy to test 
and prod 
• Standard 
Process across 
all environments 
• Some Static 
analysis 
• Automated 
Funct tests run 
nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical 
reports available 
Management QA Operations Development 
Level0
How to get there – Level 2 
www.Nexusis.com 32 877.286.3987 
Development 
• Ci Systems integrated with Governance + Src Control 
• Dendancy Mapping (Mvn, Ant, EPG’s) 
• Keys, Passwords as variables, stored securely 
Operations 
• CI Chain Integrated w/ release 
• Governance tool used for Change Control Board 
• Puppet + Vagrant + Scripts abstracted from Dev, test prod 
QA 
• CI System Implemented 
• CI system running Spec tests / Flake8 etc 
• System building environment and running tests emulating applications 
Management 
• Roll up reports of multiple team boards 
• Burndown charts stored 
• Card movements logged 
• DevOps changes mapped to existing process’s 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting 
Level1 Level2 
• Self Service Builds 
• Nightly Builds 
• Build Artifacts are 
stored 
• Self Services deploy 
to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at build 
time 
• Visibility: Team 
• Latest reports always 
accessible 
• Build on commit 
• Dependency Repo 
• Secured Configs 
• Self-Service deploy 
to test and prod 
• Standard Process 
across all 
environments 
• Some Static analysis 
• Automated Funct 
tests run nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical reports 
available 
Management QA Operations Development 
Level0
www.Nexusis.com 33 877.286.3987 
Take Aways
Key Points 
 TDD increases quality / decreases risk / increases velocity 
 Network Operations and Design benefit from Agile 
Methodologies 
 Defining and executing on a maturity model necessary to 
succeed. 
www.Nexusis.com 34 877.286.3987
www.Nexusis.com 35 877.286.3987
www.Nexusis.com 36 877.286.3987 
@colinmcnamara 
www.colinmcnamara.com

Contenu connexe

Tendances

2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
Mythri P K
 

Tendances (20)

Gerrit Workshop
Gerrit WorkshopGerrit Workshop
Gerrit Workshop
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOps
 
Maven, Archiva, Subversion and Team City
Maven, Archiva, Subversion and Team CityMaven, Archiva, Subversion and Team City
Maven, Archiva, Subversion and Team City
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cd
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
 
Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
It's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolboxIt's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolbox
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
 
Gitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 

En vedette

Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit Teamforge
CollabNet
 
Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platform
dcjuengst
 

En vedette (20)

Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
 
Test driven infrastructure
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit Teamforge
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
 
A Networking View for the DevOps Crew: SDN
A Networking View for the DevOps Crew: SDNA Networking View for the DevOps Crew: SDN
A Networking View for the DevOps Crew: SDN
 
The Datacenter Network You Wish You Had
The Datacenter Network You Wish You HadThe Datacenter Network You Wish You Had
The Datacenter Network You Wish You Had
 
Git collaboration
Git collaborationGit collaboration
Git collaboration
 
Next Generation Network Developer Skills
Next Generation Network Developer SkillsNext Generation Network Developer Skills
Next Generation Network Developer Skills
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonar
 
Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
 
Game of Codes: the Battle for CI
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CI
 
Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platform
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 

Similaire à Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara

Similaire à Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara (20)

Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
 
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko VancsaStarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
 
Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Operating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud Microservices
 
CD with spinnaker
CD with spinnakerCD with spinnaker
CD with spinnaker
 
Introduction to jenkins for the net developer
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developer
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
12 Factor App Methodology
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Towards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab ConferenceTowards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab Conference
 
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQuality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
 

Plus de DevOps4Networks (6)

Operationalize All the Network Things by Lori MacVittie
Operationalize All the Network Things by Lori MacVittieOperationalize All the Network Things by Lori MacVittie
Operationalize All the Network Things by Lori MacVittie
 
Keynote: DevOps 4 Networks by JR Rivers of Cumulus Networks
Keynote: DevOps 4 Networks by JR Rivers of Cumulus NetworksKeynote: DevOps 4 Networks by JR Rivers of Cumulus Networks
Keynote: DevOps 4 Networks by JR Rivers of Cumulus Networks
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
 
Infrastructure API Lightning Talk by Jeremy Pollard of box.com
Infrastructure API Lightning Talk by Jeremy Pollard of box.comInfrastructure API Lightning Talk by Jeremy Pollard of box.com
Infrastructure API Lightning Talk by Jeremy Pollard of box.com
 
SDN for Hybrid Cloud
SDN for Hybrid CloudSDN for Hybrid Cloud
SDN for Hybrid Cloud
 
What the business thinks about
What the business thinks aboutWhat the business thinks about
What the business thinks about
 

Dernier

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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara

  • 1. Continuous Integration and Test Driven Dev for Network Engineers www.Nexusis.com 1 877.286.3987 Colin McNamara CCIE #18233 @colinmcnamara
  • 3. Agenda  What drives my perspective  Why TDD / CI for Network Engineers  CI / TDD overview  Network Change Management Use Case www.Nexusis.com 3 877.286.3987
  • 4. Who am I?  Chief Cloud Architect::Nexus  OpenStack ATC/Ambassador  OpenStack Core Reviewer  Manage DevOps Team  Manage Agile BPO Team  Beard Growth Specialist  CCIE 18233, RHCE, ETC, ETC  @colinmcnamara  www.colinmcnamara.com www.Nexusis.com 4 877.286.3987
  • 5. What do we do? 50% upstream For Core Dev’s Software Development, Systems Integration, Network Design DenicaCloud Rosetta Aviator More Project Denica Toolchain for Deploying CI systems and the associated tooling into and along with various cloud platforms Core Contributions and solutions in OpenStack OpenDaylight Open vSwitch Puppet Agile / Lean Software Development Practices Extensive experience with the folliwng: • SDN Development for Multi Vendor Integrations • Agile Process Consulting • Cloud Platform Development • Systems Integration • Upstream contributions • DevOps Consulting
  • 6. That all boils down to.. We make unicorn farts www.Nexusis.com 6 877.286.3987
  • 7. www.Nexusis.com 7 877.286.3987 Why TDD / CI for Networking?
  • 8. Our industry is changing www.Nexusis.com 8 877.286.3987
  • 9. Four closely related items www.Nexusis.com 9 877.286.3987
  • 10. Agile infrastructure evolution www.Nexusis.com 10 877.286.3987 Classic Engineering  12 + month dev times  QA pushed till last  Large amounts of bugs  Maps easily to manual silo’d process’s  ITIL Aligned AGILE  2 Week Dev times  Integrated QA  Small bug counts  Does not map into silo’d process’s  Cloud Aligned
  • 11. Speed Racer (Agile Infrastructure Developer) www.Nexusis.com 11 877.286.3987 • Integrated tools • Integrated test QA • Software as a manufacturing line • Code rolls from Step to Step • Need infrastructure as code…
  • 12. DevOps is the “New” www.Nexusis.com 12 877.286.3987 Network Ops
  • 13. Core SDN truth www.Nexusis.com 13 877.286.3987 ONE change In one FILE Can CREATE a system Or DESTROY a system
  • 14. What if you could actually KNOW it would work www.Nexusis.com 14 877.286.3987  Test EVERY network change made  Map each application to the network component underneath  Automatically run tests with reports of results
  • 16. www.Nexusis.com 18 877.286.3987 Agile Development Continuous Integration for Network Engineers Technical items you need to know
  • 18. Complex View www.Nexusis.com 20 877.286.3987
  • 19. Simple CI System Walk Through www.Nexusis.com 21 877.286.3987 SVC Only SVC + Network “Virtualized” Production System
  • 20. Obligatory Tools Discussion www.Nexusis.com 22 877.286.3987
  • 21. Git / Gerrit www.Nexusis.com 23 877.286.3987
  • 23. Integration Opportunity for CI Pipelines www.Nexusis.com 25 877.286.3987  VIRL(CMS) / JunoSphere  Functional Test  Network OS level testing  MATE / WAE  Stubs / Modeling  Integration Test through API’s  Tail-F, Schprokits, Puppet/Chef, Ansible  Config Distribution  Unified Data Models
  • 24. www.Nexusis.com 26 877.286.3987 Use Case Change and Release Management
  • 25. Change and Release Management www.Nexusis.com 27 877.286.3987
  • 26. Change and Release Management Jenkins Test Harnesses Governance Tooling Git Gerrit Templates and EPG’s Git Gerrit www.Nexusis.com 28 877.286.3987 Gerrit Gerrit Jenkins Test Harnesses Vagrant Ant Puppet Jenkins Test Harnesses Vagrant Puppet Git Gerrit Puppet Other Git Gerrit Test Harnesses Puppet Other Jenkins Test Harnesses Puppet Jenkins Other Test Harnesses Vagrant Puppet Gerrit Governance Tooling
  • 27. Maturity Levels – how to move forward Level0 Level1 Level2 Level3 Level4 www.Nexusis.com 29 877.286.3987 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available • Triggered Builds • Build Cluster • Test Gated Automated Promotions • Database Deployments • Multi-tier SOA • High Code Coverage • Security Scans • Risk based manual • testing • Report trending • Build from Snapshots • Gated Commit • Continuous Deployment to production • 100% Coverage • Gross Silo Analysis Management QA Operations Development • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting
  • 28. How to get there – Level 0 www.Nexusis.com 30 877.286.3987 Development •Create standards for service chains (cfg,controler) •Configuration Templates , puppet modules •Use source control - Git •Build VSM of specific IT process Operations •Script Deployments – Expect, Simple Puppet •Use source control – Git QA •Build new services in lab / cloud / virt environment – VIRL / GNS3 / VMware / OpenStack •Simple test harness built (ping) Management •Individual Kanban Boards / Ticket tracking • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting Level1 Level2 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available Management QA Operations Development Level0
  • 29. How to get there – Level 1 www.Nexusis.com 31 877.286.3987 Development • Ci System Implemented • Scripts build virtual env on demand • Results from built system get stored Operations • Deployment via Config Mgmt tooling •Governance / CI system deployed •Ops review of config diffs QA •CI System Implemented •Common functional tests created •Common port / path tests created Management • Visualize flow – Kanban Board for team • Initial ScrumBan Process’s Mapped • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting Level1 Level2 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available Management QA Operations Development Level0
  • 30. How to get there – Level 2 www.Nexusis.com 32 877.286.3987 Development • Ci Systems integrated with Governance + Src Control • Dendancy Mapping (Mvn, Ant, EPG’s) • Keys, Passwords as variables, stored securely Operations • CI Chain Integrated w/ release • Governance tool used for Change Control Board • Puppet + Vagrant + Scripts abstracted from Dev, test prod QA • CI System Implemented • CI system running Spec tests / Flake8 etc • System building environment and running tests emulating applications Management • Roll up reports of multiple team boards • Burndown charts stored • Card movements logged • DevOps changes mapped to existing process’s • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting Level1 Level2 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available Management QA Operations Development Level0
  • 32. Key Points  TDD increases quality / decreases risk / increases velocity  Network Operations and Design benefit from Agile Methodologies  Defining and executing on a maturity model necessary to succeed. www.Nexusis.com 34 877.286.3987
  • 34. www.Nexusis.com 36 877.286.3987 @colinmcnamara www.colinmcnamara.com