SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
VMware Tanzu
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
Robert Reiz
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Martin Danielsson
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
David Pasek
 
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Adin Ermie
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
Mohammed Fazuluddin
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Bhargav Amin
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
James Falkner
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
Anton Babenko
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
Ricardo Schmidt
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
Docker, Inc.
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
VuHoangAnh14
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
CoreStack
 
A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices
Nebulaworks
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
Khizer Naeem
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
Network automation (NetDevOps) with Ansible
Network automation (NetDevOps) with AnsibleNetwork automation (NetDevOps) with Ansible
Network automation (NetDevOps) with Ansible
Bangladesh Network Operators Group
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
Saju Madhavan
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
Kris Buytaert
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
VMware Tanzu
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
Robert Reiz
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
David Pasek
 
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Adin Ermie
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
James Falkner
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
Anton Babenko
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
Docker, Inc.
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
VuHoangAnh14
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
CoreStack
 
A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices
Nebulaworks
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
Khizer Naeem
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
Saju Madhavan
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
Kris Buytaert
 

Viewers also liked (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
Damien Garros
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
Axel 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 Git
Danilo 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 impossible
ice799
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Robert Greiner
 
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
Josiah 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 3
Khalda 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 2017
Kief 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
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1
Gary Stafford
 
Turning Containers into Cattle
Turning Containers into CattleTurning Containers into Cattle
Turning Containers into Cattle
Subbu 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 Telemetry
Anees Shaikh
 
How to Adopt Infrastructure as Code
How to Adopt Infrastructure as CodeHow to Adopt Infrastructure as Code
How to Adopt Infrastructure as Code
NGINX, Inc.
 
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
dcubeio
 
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
Damien Garros
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
Axel 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 Git
Danilo 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 impossible
ice799
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Robert Greiner
 
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
Josiah 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 3
Khalda 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 2017
Kief 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
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1
Gary Stafford
 
Turning Containers into Cattle
Turning Containers into CattleTurning Containers into Cattle
Turning Containers into Cattle
Subbu 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 Telemetry
Anees Shaikh
 
How to Adopt Infrastructure as Code
How to Adopt Infrastructure as CodeHow to Adopt Infrastructure as Code
How to Adopt Infrastructure as Code
NGINX, Inc.
 
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
dcubeio
 
Ad

Similar to 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
Eklove 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 Them
Compuware
 
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
DevOps.com
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
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
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori 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 Linkerd
Weaveworks
 
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/CD
DevOps_Fest
 
Continuous Localisation On A Massive Scale
Continuous Localisation On A Massive ScaleContinuous Localisation On A Massive Scale
Continuous Localisation On A Massive Scale
Gary Lefman
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran 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 test
Len Bass
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
Davide Benvegnù
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
Maruti Gollapudi
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove 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 Them
Compuware
 
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
DevOps.com
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
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
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori 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 Linkerd
Weaveworks
 
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/CD
DevOps_Fest
 
Continuous Localisation On A Massive Scale
Continuous Localisation On A Massive ScaleContinuous Localisation On A Massive Scale
Continuous Localisation On A Massive Scale
Gary Lefman
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran 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 test
Len Bass
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
Davide Benvegnù
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
Maruti Gollapudi
 
Ad

Recently uploaded (20)

Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 

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