automation evolution with junos
TRANSCRIPT
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Executive Intro Slide
AUTOMATION EVOLUTION WITH JUNOS
Uwe Richter JUNIPER NETWORKS [email protected]
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
AGENDA AUTOMATION OVERVIEW
JUNIPER AUTOMATION OFFERINGS
USE CASES
SUMMARY
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
Nodal Automation
( Puppet, Chef )
Ad-Hoc Scripting
( Bash, Perl )
IT Workflow Orchestration
Business Workflow
Orchestration
Manual Vendor CLI Proprietary Product skills
IT
DIFFERENT POINTS OF VIEW Rapid Application Delivery
Networking
Discrete blocks with no business alignment
Continuity Agility
Application Velocity
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
THE AUTOMATION CONTINUUM
Old Way
Production Collect Configure Build Physical Install
New Way
Production Collect Configure Build Physical Install
Hours/Days (manual)
Minutes (automated)
BENEFITS • Minimum networking skills required • Reduced OpEx • Consistent, repeatable and efficient • Rapid application delivery
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
Control Analytics Configuration
CONTRAIL: NETWORK ORCHESTRATION, AUTOMATION
OSS/BSS
CLOUD SERVICES, ANALYTICS
API/SDK (VIRTUALIZED, PHYSICAL) ORCHESTRATION/ OSS
Applications
SDN
• Abstraction of the Network Layer to address it as a whole as opposed to discrete parts
Orchestration
• Domain-wide ability to control resources in combination across various systems
Automation
• Programmatic access to data center resource for consistency, repeatability, and efficiency
APPROACH COMPARISON Automation, Orchestration and SDN
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Big Concept Slide
JUNIPER OFFERINGS
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
JUNOS AUTOMATION STACK Tool built into Junos that enables automation
Chef
Junos
Data Plane (PFE) Chassis
XML
Netconf
PythonEZ Framework RubyEZ Library
Puppet Ansible Python Scripts
Ruby Scripts
Junoscript
SNMP RO
CLI
Junos Platform Automation Stack
15+ years of automation history Open architecture Three key features at the platform layer:
§ XML § Junos Script and Netconf § Junos EZ
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
NETWORK AUTOMATION
The Build phase centers around the initial design and installation of a network component
The Configure phase covers methods to deploy on-demand configuration and software changes to the platform
The Collection phase deals with automating the process of monitoring operational state of the platform and reacting on state conditions
Build
Configure Collect
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
AUTOMATION TOOLKIT: BUILD
Feature Description
Zero Touch Provisioning (ZTP)
• Out-of-the-box configuration and software deployment • Faster deployment
• Multi-node orchestration awareness • Agentless • Vendor agnostic
Configure Collect Build
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
2-Line
Flexible scripting option for custom provisioning
Switch successfully provisioned
Switch is racked and stacked, sends a DHCP request on
boot
Configuration and image information loaded on DHCP
server
EX & QFX Series
Switches
DHCP Server responds with image and configuration
DHCP Server
ü ü ü ü
BUILD: ZERO TOUCH PROVISIONING
• Minimal skill required • Consistent deployment • Reduced data center build
time • Reduced configuration
errors
Load different images based on location
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
BUILD: ANSIBLE
Python API
Ansible Transports
Plug-ins
Playbook Files
Junos_get_facts
Junos_install_os Junos_reboot
Junos_install_config
Junos_shutdown
Module Library
Security Routing Switching
NETCONF
SSH
Telnet/Console
• Agentless and simple approach • Coding skills not required • Work flow engine • One tool for network/compute/storage
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
AUTOMATION TOOLKIT: CONFIGURE
Configure Collect Build
Tool Description Platform that can define and enforce the state of the infrastructure
Platform can transform complex infrastructure into code
Simple automation platform that brings multi-node orchestration awareness
Python EZ “Micro-framework" to remotely manage or automate Junos OS devices
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
Ruby Interpreter
EX Series | QFX Series | MX Series
Puppet "netdev" module
NETCONF (FreeBSD)
NETCONF "gem" Puppet Agent (client)
Puppet Master (server)
"netdev"
jpuppet package
CONFIGURE: PUPPET
Puppet module stored on the Puppet master Puppet Agent downloads module to switch
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
Ruby Interpreter
EX Series | QFX Series | MX Series
Chef "netdev" module
NETCONF (FreeBSD)
NETCONF "gem" Chef Client
Chef server
"netdev"
jchef package
CONFIGURE: CHEF
“netdev” module stored on the Chef server. Chef client downloads module to switch
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
CONFIGURE: PYTHON
Build Simple to Complex Applications
IT Frameworks Python Shell Python Script Custom Applications
open-source – Maintained by Community NETCONF Client (NCCLIENT)
NETCONF TRANSPORT ONLY VENDOR AGNOSTIC NO ABSTRACTIONS
JUNOS SPECIFIC ABSTRACTION LAYER MICRO-FRAMEWORK
Junos Python EZ (JunosPyEZ) open-source – Maintained by Juniper
"snippets" (no variables)
"templates" (merge variables) Resources
Configuration Changes
Tables
Operational State
Views
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
AUTOMATION TOOLKIT: COLLECT
Configure Collect Build
Tool Description Netconf / DMI • Standard method for executing RPCs across a network
• Junos exposes all DMI functions via Netconf to remote hosts
Junos Scripts
• Built into the Junos OS • Powerful and flexible onboard toolset • Available on all Junos platforms
PythonEZ • “Micro-framework" to remotely manage or automate Junos OS devices • Collect operational states as native Python Operational Data
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
XML
NETCONF XML PROTOCOL (RFC4741)
Management System
Automate config changes, remote invocation of operational commands, collection of logs
NETCONF client libraries exist for a number of programming languages such as Java, Perl, Ruby, Python, and even SLAX !
Security Routing Switching
COLLECT: NETCONF/DMI
• Secure and connection oriented with SSHv2 as transport • Structured and transaction-based with XML as RPC request / response • User-class privilege aware
Secure TCP/IP connections via
SSHv2 (RFC4742)
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
• Create custom commands
• Diagnose network problems
• Controlled configuration change
Operation Script
• Automate event responses
• Correlate events
Event Script
• Assure compliance to business rules network/security policies
Commit Configuration Script
COLLECT: JUNOS SCRIPTS
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
2-Line
COLLECT: JUNOS SCRIPTS Each script type uses XML in its own unique way
Junos Infrastructure
Output XML
instructions on what to
display
Input Blank XML
document
Op Script
Event Script
Output XML
instructions on what to
display (if anything)
Input XML
event description
Commit Script
Output XML
instructions on actions
to take (make changes, issue warnings,
errors, etc.) Input XML
Junos configuration
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
JUNOS SPECIFIC ABSTRACTION LAYER MICRO-FRAMEWORK
Junos Python EZ (JunosPyEZ)
COLLECT: PYTHON
Build Simple to Complex Applications
IT Frameworks Python Shell Python Script Custom Applications
open-source – Maintained by Community NETCONF Client (NCCLIENT)
NETCONF TRANSPORT ONLY VENDOR AGNOSTIC NO ABSTRACTIONS
open-source – Maintained by Juniper
"snippets" (no variables)
"templates" (merge variables) Resources
Configuration Changes
Tables
Operational State
Views
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
ENHANCED AUTOMATION SW ARCHITECTURE
Hardware
Operating System
App App App
Single Vendor Blob
Hardware
Operating System
App App App
Best of Breed Ecosystem
Python & Libraries
Ruby & Libraries
Puppet Agent
Chef Client Layer 3 ZTP
Disabled VeriExec
Standard Junos image, with the following changes:
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Big Concept Slide
USE CASES
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
USE CASES – ENTERPRISE IT
BENEFITS • Minimal skill required by onsite deployment team • Ensure consistent deployment in line with company policies
• Reduces data center build-out from days to minutes
Configure Collect Build
NEEDS • Large Scale • Minimal Interaction • Minimal Skills
ZTP + Ansible Server
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
USE CASES – ENTERPRISE IT
BENEFITS
Network Director
ZTP + Ansible Server
Web Server Database
Juniper Firewall
New Web Server
• Network Director handles element management and Network as a Service abstraction • Network Director ensures consistent service deployment with minimal configuration by operations staff
• Network Director Data Center Visualization and Analytics Data ensures up-to-date data is available
Configure Collect Build
NEEDS • Consistent service • Growing new service • Abstraction
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Blank Slide Title and Content
1-Line
USE CASES – ENTERPRISE IT
BENEFITS
Network Director
ZTP + Ansible Server
Ops User
Web Server Database
Juniper Firewall
New Web Server
Alert / Report
• Operational workflow automation allows operations staff to schedule tasks • Create reports based on “Out of Profile” events
• Automate “Remediation Actions” based on report data to improve network availability and reduce MTTR
Configure Collect Build
NEEDS • Monitor • Report • Remediate
Slide Type Juniper Networks Large Venue Template / 16x9 / V6 Title and Bullets
USE CASE – CLOUD AUTOMATION LIFECYCLE
Boostraping
1 Install & Config
2 Monitoring &
Alarming
3 Repairing
4 Scaling
5
Build
1 Config
2 Collect
3
ZTP
Ansible
Chef
Puppet
Ansible
PythonEZ Junos Script
PythonEZ
Netconf / DMI
Chef
Puppet
Ansible
SaltStack
Nagios
LogStach
Riemann
Graphite
Zabbix
Collectd
AWS CloudFormation
CloudFoundry
Cloudify
Fabric
Heat
Juju
Network Cycle
App Cycle
SNMP
27 Copyright © 2013 Juniper Networks, Inc. www.juniper.net
THANK YOU....