SlideShare una empresa de Scribd logo
1 de 54
Infrastructure
as
Code
Damien Garros, Technical Marketing Engineer
• What is Infrastructure as Code ?
• Tips and Tricks to Get Started
• Demo
• How to get started
Agenda
What is
Infrastructure as Code ?
Infrastructure as code represent the idea
that everything needed to run an
infrastructure can be consider as
Software
and as such can
leverage development technics for
Collaboration, Deployment and
Continuous Integration.
CI/CD for Networks
CI/CD for Networks
CI/CD what ??
CI/CD Pipeline for Software Development
Code Build Test Deploy Monitor
Dev
CI
Continuous Integration
CD
Continuous
Deployment
What is the impact ?
• Customers who embraced this
new way of building infrastructure for servers observed:
200x
more
frequent
deployment
24x
faster
recovery
from failure
3x
lower
change
failure
rate
2.5x
Shorter
lead time
Source: 2016 State of Devops Report (from puppet)
Infrastructure as Code
is about
Operation Efficiency
Who is not interested to
operate the network more efficiently ?
Fall 2016 NetDevOps Survey
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
No interest Thinking about it Evaluating In Production
18% are already in production
60% are thinking about it or evaluating it
Infrastructure as code
Example of Workflows
Version Control
Virtual Lab
Master
Feature B
Looks good
please can you
add description
Done
Approved
Approved
Virtual Lab
1 – Create virtual topology
2 – Deploy new configurations
3 – Run all tests
Report tests
result
Pull Request
Example of workflow
Production
Configuration store in
version control
New branch for each
modification
1
2
Pull request for each
modification
3
Review process as
part of pull request
Automated test as
part of pull request
4
5
Delete virtual env
once report is
available
6
Deploy in production
when pull request is
merged
7
Deploy
Validate
Infrastructure as Code is a Journey
• There is not only one story for Infrastructure as
Code
• All aspects may or may not be present
• Only Change control is mandatory
Start small and evolve from there
Infrastructure as Code is a Journey
Infrastructure as Code
Network
Continuous Delivery
Automated
Deployment
Generate and deploy
configuration
automatically
Run continuous tests in
your network to identify
issue as quickly as
possible
Test/Validate your
changes
before deploying them
in production
Change
Control
Version control
Review process
Virtual Lab
Build Virtual Lab on
demand
Test
Test network device
status
Continuous
integration
Telemetry
Collect,
Visualize and
Correlate
Config
Automation
Templatize and
automate
configuration
Event
Driven
Actively monitor
events
Infra
As
Code
Infrastructure as code / Building Block
Mandatory
Compelling for all customers
Change Control
Virtual Lab
Test
Telemetry
Config Automation
Event Driven
Conservative Early Adopter
Tips and Tricks
to Get Started
Change Control
Scripts
Code
Device
configuration
Documentation
Bug tracker
Everything is moving to Github or Gitlab
Fall 2016 NetDevOps Survey
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
No interest Thinking about it Evaluating In Production
60% are already in production
34% are thinking about it or evaluating it
Git
Change Control - fundamentals
Github or Gitlab
Master
Feature B
Looks good please
can you add
description
Done
Approved
Approved
Pull Request
Branch Master always represent what is
deployed in production.
Every change must be proposed
using a Pull Request
Change can be discussed and adjusted
before being merged
Why is Git so popular ?
GIT Subversion CVS
Why is Git so popular ?
Enable Collaboration
Across Team
Without losing ownership
Collaboration Platforms
Git
Issue
Tracker
Docs
Wiki
Release
mgmt
Docker
Third
party
Doc
Code
Coverage
Ansible
CI/CD
Pull
Request
Stats
Build-In
Eco
system
Continuous Integration
Continuous Integration
Travis-CI External tools that will execute some
tests for EACH change/commit:
1. Download the project
2. Setup Environment
3. Run tests
4. Report results in Github/GitlabGitlab-CI
Gitlab-CI – setup
stages:
- test
- deploy
before_script:
- pip install -r requirements.txt
- pip install -q ansible
generate_config:
stage: test
script:
- ansible-playbook pb.generate.config.yaml
deploy_config:
stage: deploy
script:
- ansible-playbook pb.conf.all.commit.yaml
.gitlab-ci.yaml• Configuration defined
inside the project with a
config file (.gitlab.yaml)
• Can define a pipeline of
stages and actions for
each stage
• Some stages can be
applicable to some
branches only
Validate
Deploy
Gitlab-CI – Infrastructure as Code Pipeline
Test
Build
• Validate new configurations on physical lab or
virtual lab
• Validate that network is behaving properly
after new configurations have been deployed
• Deploy New configurations in production
environment
• Create new configurations, make sure
Branch
Master
Only
Config Automation
Configuration
Generation Project
Configuration Generation Project
• A project to generate
configurations is
mainly composed of :
– Templates
– Variables
– Scripts/Playbooks
Templates Variables
junos-system.j2
bgp.j2
Acl.j2
Interfaces name
Device names
Mgmt IP
IP addresses
Etc ..
Scripts
Playbooks
deploy_config
check_connectivity
1 project – multiple environments
Lab Production
• Between environments, templates
are shared but some variables and
playbooks can be different
• Everything need to be tested and if
there are too many environment
specific variables, the chance to
not find a bug increase.
Configuration
Generation
Project
Shared Templates
Lab Vars Prod VarsShared Var
Lab Pbs Prod PbsShared Playbooks
Topology Independent w/ Ansible
• Topology file name defined in the
inventory file under the variable
“topology_file
• File loaded with pre_tasks in each
playbook
hosts.ini
Playbooks
Topology Independent w/ Ansible
• Centralize information related
to physical topology
• Access these information
from other files by using
variable name
sample-topology.yaml
host_vars/fabric-01/underlay.yaml
Topology Independent / Inventory w/ Ansible
ansible-playbook -i pre-production.ini pb.conf.all.commit.yaml
ansible-playbook -i production.ini pb.conf.all.commit.yaml
Virtual Lab
The VMs itself is not enough
On-Premise
Cloud
When building a virtual lab for testing,
the VM itself is not enough.
We need to have a solution to :
• Create the topology, L1/L2 links
• Spin up and down devices,
• Configure devices etc …
• Assign IP addresses
Ravello System
Vagrant
What is Vagrant ?
A tool for building and distributing
virtualized environment
Open Source and modular
Vagrantfile
Define what type of VM/Box
Define the physical topology
Vagrantcloud
Automatic download
Provisioning
OpenStackHypervisor
VM App Store
Ravello System
• Layer 2 ‘data-center-like’ networking
• Easy replication through Blueprint
• Public IP for all VMs
• Isolated Networking
• Self-service & on-demand access
• Unlimited capacity
• Usage based pricing
• Scalable
• Robust REST APIs
Cloud Based
Virtual Lab
Oracle Cloud
Google Compute Engine
AWS
Ravello - Automation
• Automate creation / deployment of virtual topologies
on Ravello using Ansible
• Open Source library developed by Juniper
https://github.com/Juniper/ravello-ansible
Demo
Demo / topology
spine-01 spine-02
leaf-01 leaf-02 leaf-03 leaf-04
• Physical network based on
Spine/Leaf topology
• Each device has a unique ASN
• eBGP between all members
• Simple IP routing
Demo / building Bloc
Gitlab-CI
Gitlab vQFX
Change
control Config
Virtual
Lab Tests
Testing w/ Ansible
spine-01 spine-02
leaf-01 leaf-02 leaf-03 leaf-04
Testing is done using Ansible
• Check Physical layer
– Check all interfaces are UP
– Check LLDP neighbors
• Check Underlay
– Ping all neighbors
– Check BGP status
– Ping ANY2ANY between leaf
Testing w/ Ansible
spine-01 spine-02
leaf-01 leaf-02 leaf-03 leaf-04
• Testing is done using Ansible
• Check Physical layer
– Check all interfaces are UP
– Check LLDP neighbors
• Chech Underlay
– Ping all neighbors
– Check BGP status
– Ping ANY2ANY between leaf
Gitlab-CI pipeline
Non
Master
Branch
Master
Branch
How to Get Started
What Professional Services Bring
Industry leading expertise in designing and
implementing network automation
Delivering an integrated software framework for
automation
Sharing knowledge throughout delivery
Maintaining rigor so that projects are delivered
on time and within budget
Knowledge Transfer & Customer
Focus
Network Design, Implementation
and Testing Expertise
Open Source Framework Expertise
Project Management
Network Automation Services
Network Automation Services
PS Practice
Software Defined
Networking
Core & Edge
Cloud &
Data Center
Security
Design Deploy AuditTest
Design
Automation
Automated
Deployment
Test
Automation
Audit
Automation
Thank you
Get Started with examples online
Ravello
Ansible Library to automate Ravello
https://github.com/Juniper/ravello-ansible
Example of Project to build an IP fabric on Ravello using Ansible
https://github.com/dgarros/rav-ipfabric-demo
Get Started with examples online
Ansible
Ansible project to configure and test an IP Fabric + EVPN/VXLAN
https://github.com/JNPRAutomate/ansible-junos-evpn-vxlan
Playbook to check physical and underlay layer using Ansible
https://github.com/JNPRAutomate/ansible-junos-evpn-vxlan/blob/master/pb.check.physical.yaml
https://github.com/JNPRAutomate/ansible-junos-evpn-vxlan/blob/master/pb.check.physical.yaml
Get Started with examples online
Telemetry / OpenNTI
Open Source Telemetry Collector for Telemetry, Netconf and Event (syslog)
https://github.com/Juniper/open-nti
Fluentd plugin for Juniper Telemetry Streaming
https://github.com/JNPRAutomate/fluent-plugin-juniper-telemetry
Associated products/tools (1/2)
Change
control
Version control
Review process
Github/Gitlab
Travis-CI
Jenkins
Virtual Lab
Build virtual Lab on
demand
vMX/vQFX/vSRX
Ravello
Vagrant
Junosphere
Test
Test network device
status
Continuous
integration
JSNAPy
Pyez
NITA
Robot Framework
Ansible
Associated products/tools (2/2)
Telemetry
Collect,
Visualize and
Correlate
JTI
Openconfig
Netconf
OpenNTI
Kapacitor
Third party integration
Config
Automation
Execute more
automated tests
Ansible
Saltstack
Pyez
Netconf
Event Driven
Saltstack
jEDI

Más contenido relacionado

La actualidad más candente

Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformDevOps.com
 
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Kazushi Kamegawa
 
今さら聞けない!Active Directoryドメインサービス入門
今さら聞けない!Active Directoryドメインサービス入門今さら聞けない!Active Directoryドメインサービス入門
今さら聞けない!Active Directoryドメインサービス入門Trainocate Japan, Ltd.
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?IIJ
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceVMware Tanzu
 
Build automated Machine Images using Packer
Build automated Machine Images using PackerBuild automated Machine Images using Packer
Build automated Machine Images using PackerMarek Piątek
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...Simplilearn
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Edureka!
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...Simplilearn
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftDevOps.com
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
Infrastructure as Code with Ansible
Infrastructure as Code with AnsibleInfrastructure as Code with Ansible
Infrastructure as Code with AnsibleDaniel Bezerra
 

La actualidad más candente (20)

Terraform
TerraformTerraform
Terraform
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
今さら聞けない!Active Directoryドメインサービス入門
今さら聞けない!Active Directoryドメインサービス入門今さら聞けない!Active Directoryドメインサービス入門
今さら聞けない!Active Directoryドメインサービス入門
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
 
Terraform
TerraformTerraform
Terraform
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
 
Build automated Machine Images using Packer
Build automated Machine Images using PackerBuild automated Machine Images using Packer
Build automated Machine Images using Packer
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
 
Terraform
TerraformTerraform
Terraform
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Infrastructure as Code with Ansible
Infrastructure as Code with AnsibleInfrastructure as Code with Ansible
Infrastructure as Code with Ansible
 

Destacado

Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleDamien Garros
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codeAxel Quack
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleice799
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveJosiah Renaudin
 
Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...
Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...
Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...Gil Hoffer
 
Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3Khalda Mohammed
 
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Kief Morris
 
なぜネットワーク運用自動化が進まないのか Whitebox switch編
なぜネットワーク運用自動化が進まないのか Whitebox switch編なぜネットワーク運用自動化が進まないのか Whitebox switch編
なぜネットワーク運用自動化が進まないのか Whitebox switch編Taiji Tsuchiya
 
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化Hideki Saito
 
ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)Kentaro Ebisawa
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Gary Stafford
 
Turning Containers into Cattle
Turning Containers into CattleTurning Containers into Cattle
Turning Containers into CattleSubbu Allamaraju
 
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話章暢 藤井
 
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話Akihiro Sugeno
 
SDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetrySDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetryAnees Shaikh
 
How to Adopt Infrastructure as Code
How to Adopt Infrastructure as CodeHow to Adopt Infrastructure as Code
How to Adopt Infrastructure as CodeNGINX, Inc.
 

Destacado (20)

Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and Ansible
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossible
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity Curve
 
Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...
Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...
Supercharge your Test & Dev Process with Ravello, Jenkins and the Cloud (Jenk...
 
Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3Ma tesol e609 approaches to discourse analysis lecture 3
Ma tesol e609 approaches to discourse analysis lecture 3
 
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
 
Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017Implementing Infrastructure as Code ConfigMgtCamp 2017
Implementing Infrastructure as Code ConfigMgtCamp 2017
 
なぜネットワーク運用自動化が進まないのか Whitebox switch編
なぜネットワーク運用自動化が進まないのか Whitebox switch編なぜネットワーク運用自動化が進まないのか Whitebox switch編
なぜネットワーク運用自動化が進まないのか Whitebox switch編
 
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
 
ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1
 
Turning Containers into Cattle
Turning Containers into CattleTurning Containers into Cattle
Turning Containers into Cattle
 
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話
 
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
 
SDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetrySDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming Telemetry
 
How to Adopt Infrastructure as Code
How to Adopt Infrastructure as CodeHow to Adopt Infrastructure as Code
How to Adopt Infrastructure as Code
 

Similar a Infrastructure as Code for Network

Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemCompuware
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackDevOps.com
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)CIVEL Benoit
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1CIVEL Benoit
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapesChris Kernaghan
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...
Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...
Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...OlyaSurits
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps_Fest
 
Continuous Localisation On A Massive Scale
Continuous Localisation On A Massive ScaleContinuous Localisation On A Massive Scale
Continuous Localisation On A Massive ScaleGary Lefman
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Chris Kernaghan
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDavide Benvegnù
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationMaruti Gollapudi
 

Similar a Infrastructure as Code for Network (20)

Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...
Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...
Cloud Native Testing, 2020 Edition: A Modern Blueprint for Pre-production Tes...
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
Continuous Localisation On A Massive Scale
Continuous Localisation On A Massive ScaleContinuous Localisation On A Massive Scale
Continuous Localisation On A Massive Scale
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
 

Último

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...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Último (20)

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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Infrastructure as Code for Network

  • 2. • What is Infrastructure as Code ? • Tips and Tricks to Get Started • Demo • How to get started Agenda
  • 4. Infrastructure as code represent the idea that everything needed to run an infrastructure can be consider as Software and as such can leverage development technics for Collaboration, Deployment and Continuous Integration.
  • 7. CI/CD Pipeline for Software Development Code Build Test Deploy Monitor Dev CI Continuous Integration CD Continuous Deployment
  • 8. What is the impact ? • Customers who embraced this new way of building infrastructure for servers observed: 200x more frequent deployment 24x faster recovery from failure 3x lower change failure rate 2.5x Shorter lead time Source: 2016 State of Devops Report (from puppet)
  • 9. Infrastructure as Code is about Operation Efficiency Who is not interested to operate the network more efficiently ?
  • 10. Fall 2016 NetDevOps Survey 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% No interest Thinking about it Evaluating In Production 18% are already in production 60% are thinking about it or evaluating it Infrastructure as code
  • 12. Version Control Virtual Lab Master Feature B Looks good please can you add description Done Approved Approved Virtual Lab 1 – Create virtual topology 2 – Deploy new configurations 3 – Run all tests Report tests result Pull Request Example of workflow Production Configuration store in version control New branch for each modification 1 2 Pull request for each modification 3 Review process as part of pull request Automated test as part of pull request 4 5 Delete virtual env once report is available 6 Deploy in production when pull request is merged 7 Deploy Validate
  • 13. Infrastructure as Code is a Journey • There is not only one story for Infrastructure as Code • All aspects may or may not be present • Only Change control is mandatory Start small and evolve from there
  • 14. Infrastructure as Code is a Journey Infrastructure as Code Network Continuous Delivery Automated Deployment Generate and deploy configuration automatically Run continuous tests in your network to identify issue as quickly as possible Test/Validate your changes before deploying them in production
  • 15. Change Control Version control Review process Virtual Lab Build Virtual Lab on demand Test Test network device status Continuous integration Telemetry Collect, Visualize and Correlate Config Automation Templatize and automate configuration Event Driven Actively monitor events Infra As Code Infrastructure as code / Building Block Mandatory
  • 16. Compelling for all customers Change Control Virtual Lab Test Telemetry Config Automation Event Driven Conservative Early Adopter
  • 17. Tips and Tricks to Get Started
  • 20. Fall 2016 NetDevOps Survey 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% No interest Thinking about it Evaluating In Production 60% are already in production 34% are thinking about it or evaluating it Git
  • 21. Change Control - fundamentals Github or Gitlab Master Feature B Looks good please can you add description Done Approved Approved Pull Request Branch Master always represent what is deployed in production. Every change must be proposed using a Pull Request Change can be discussed and adjusted before being merged
  • 22. Why is Git so popular ? GIT Subversion CVS
  • 23. Why is Git so popular ? Enable Collaboration Across Team Without losing ownership
  • 26. Continuous Integration Travis-CI External tools that will execute some tests for EACH change/commit: 1. Download the project 2. Setup Environment 3. Run tests 4. Report results in Github/GitlabGitlab-CI
  • 27. Gitlab-CI – setup stages: - test - deploy before_script: - pip install -r requirements.txt - pip install -q ansible generate_config: stage: test script: - ansible-playbook pb.generate.config.yaml deploy_config: stage: deploy script: - ansible-playbook pb.conf.all.commit.yaml .gitlab-ci.yaml• Configuration defined inside the project with a config file (.gitlab.yaml) • Can define a pipeline of stages and actions for each stage • Some stages can be applicable to some branches only
  • 28. Validate Deploy Gitlab-CI – Infrastructure as Code Pipeline Test Build • Validate new configurations on physical lab or virtual lab • Validate that network is behaving properly after new configurations have been deployed • Deploy New configurations in production environment • Create new configurations, make sure Branch Master Only
  • 30. Configuration Generation Project Configuration Generation Project • A project to generate configurations is mainly composed of : – Templates – Variables – Scripts/Playbooks Templates Variables junos-system.j2 bgp.j2 Acl.j2 Interfaces name Device names Mgmt IP IP addresses Etc .. Scripts Playbooks deploy_config check_connectivity
  • 31. 1 project – multiple environments Lab Production • Between environments, templates are shared but some variables and playbooks can be different • Everything need to be tested and if there are too many environment specific variables, the chance to not find a bug increase. Configuration Generation Project Shared Templates Lab Vars Prod VarsShared Var Lab Pbs Prod PbsShared Playbooks
  • 32. Topology Independent w/ Ansible • Topology file name defined in the inventory file under the variable “topology_file • File loaded with pre_tasks in each playbook hosts.ini Playbooks
  • 33. Topology Independent w/ Ansible • Centralize information related to physical topology • Access these information from other files by using variable name sample-topology.yaml host_vars/fabric-01/underlay.yaml
  • 34. Topology Independent / Inventory w/ Ansible ansible-playbook -i pre-production.ini pb.conf.all.commit.yaml ansible-playbook -i production.ini pb.conf.all.commit.yaml
  • 36. The VMs itself is not enough On-Premise Cloud When building a virtual lab for testing, the VM itself is not enough. We need to have a solution to : • Create the topology, L1/L2 links • Spin up and down devices, • Configure devices etc … • Assign IP addresses Ravello System Vagrant
  • 37. What is Vagrant ? A tool for building and distributing virtualized environment Open Source and modular Vagrantfile Define what type of VM/Box Define the physical topology Vagrantcloud Automatic download Provisioning OpenStackHypervisor VM App Store
  • 38. Ravello System • Layer 2 ‘data-center-like’ networking • Easy replication through Blueprint • Public IP for all VMs • Isolated Networking • Self-service & on-demand access • Unlimited capacity • Usage based pricing • Scalable • Robust REST APIs Cloud Based Virtual Lab Oracle Cloud Google Compute Engine AWS
  • 39. Ravello - Automation • Automate creation / deployment of virtual topologies on Ravello using Ansible • Open Source library developed by Juniper https://github.com/Juniper/ravello-ansible
  • 40. Demo
  • 41. Demo / topology spine-01 spine-02 leaf-01 leaf-02 leaf-03 leaf-04 • Physical network based on Spine/Leaf topology • Each device has a unique ASN • eBGP between all members • Simple IP routing
  • 42. Demo / building Bloc Gitlab-CI Gitlab vQFX Change control Config Virtual Lab Tests
  • 43. Testing w/ Ansible spine-01 spine-02 leaf-01 leaf-02 leaf-03 leaf-04 Testing is done using Ansible • Check Physical layer – Check all interfaces are UP – Check LLDP neighbors • Check Underlay – Ping all neighbors – Check BGP status – Ping ANY2ANY between leaf
  • 44. Testing w/ Ansible spine-01 spine-02 leaf-01 leaf-02 leaf-03 leaf-04 • Testing is done using Ansible • Check Physical layer – Check all interfaces are UP – Check LLDP neighbors • Chech Underlay – Ping all neighbors – Check BGP status – Ping ANY2ANY between leaf
  • 46. How to Get Started
  • 47. What Professional Services Bring Industry leading expertise in designing and implementing network automation Delivering an integrated software framework for automation Sharing knowledge throughout delivery Maintaining rigor so that projects are delivered on time and within budget Knowledge Transfer & Customer Focus Network Design, Implementation and Testing Expertise Open Source Framework Expertise Project Management
  • 48. Network Automation Services Network Automation Services PS Practice Software Defined Networking Core & Edge Cloud & Data Center Security Design Deploy AuditTest Design Automation Automated Deployment Test Automation Audit Automation
  • 50. Get Started with examples online Ravello Ansible Library to automate Ravello https://github.com/Juniper/ravello-ansible Example of Project to build an IP fabric on Ravello using Ansible https://github.com/dgarros/rav-ipfabric-demo
  • 51. Get Started with examples online Ansible Ansible project to configure and test an IP Fabric + EVPN/VXLAN https://github.com/JNPRAutomate/ansible-junos-evpn-vxlan Playbook to check physical and underlay layer using Ansible https://github.com/JNPRAutomate/ansible-junos-evpn-vxlan/blob/master/pb.check.physical.yaml https://github.com/JNPRAutomate/ansible-junos-evpn-vxlan/blob/master/pb.check.physical.yaml
  • 52. Get Started with examples online Telemetry / OpenNTI Open Source Telemetry Collector for Telemetry, Netconf and Event (syslog) https://github.com/Juniper/open-nti Fluentd plugin for Juniper Telemetry Streaming https://github.com/JNPRAutomate/fluent-plugin-juniper-telemetry
  • 53. Associated products/tools (1/2) Change control Version control Review process Github/Gitlab Travis-CI Jenkins Virtual Lab Build virtual Lab on demand vMX/vQFX/vSRX Ravello Vagrant Junosphere Test Test network device status Continuous integration JSNAPy Pyez NITA Robot Framework Ansible
  • 54. Associated products/tools (2/2) Telemetry Collect, Visualize and Correlate JTI Openconfig Netconf OpenNTI Kapacitor Third party integration Config Automation Execute more automated tests Ansible Saltstack Pyez Netconf Event Driven Saltstack jEDI