Uwe Richter, Juniper Networks
Juniper Day, Praha, 13.5.2015
Jestliže SlideShare nezobrazí prezentaci korektně, můžete si ji stáhnout ve formátu .ppsx nebo .pdf (kliknutím na tlačitko v dolní liště snímků).
1. Juniper Networks Large Venue Template / 16x9 / V6
AUTOMATION EVOLUTION
WITH JUNOS
Uwe Richter
JUNIPER NETWORKS
UWE@JUNIPER.NET
2. Juniper Networks Large Venue Template / 16x9 / V6
AGENDA
AUTOMATION OVERVIEW
JUNIPER AUTOMATION OFFERINGS
USE CASES
SUMMARY
3. Juniper Networks Large Venue Template / 16x9 / V6
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
ContinuityAgility
Application
Velocity
4. Juniper Networks Large Venue Template / 16x9 / V6
THE AUTOMATION CONTINUUM
Old Way
ProductionCollectConfigureBuildPhysical Install
New Way
ProductionCollectConfigureBuildPhysical Install
Hours/Days
(manual)
Minutes
(automated)
BENEFITS
• Minimum networking skills required
• Reduced OpEx
• Consistent, repeatable and efficient
• Rapid application delivery
5. Juniper Networks Large Venue Template / 16x9 / V6
Control Analytics Configuration
CONTRAIL: NETWORK ORCHESTRATION, AUTOMATION
OSS/
BSS
CLOUD SERVICES,
ANALYTICS
API/SDK
(VIRTUALIZED,
PHYSICAL)
ORCHESTRATION/
OSS
Application
s
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
7. Juniper Networks Large Venue Template / 16x9 / V6
JUNOS AUTOMATION STACK
Tool built into Junos that enables automation
Chef
Junos
Data Plane (PFE)Chassis
XML
Netconf
PythonEZ Framework RubyEZ Library
PuppetAnsible
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
8. Juniper Networks Large Venue Template / 16x9 / V6
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
ConfigureCollect
10. Juniper Networks Large Venue Template / 16x9 / V6
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
11. Juniper Networks Large Venue Template / 16x9 / V6
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
12. Juniper Networks Large Venue Template / 16x9 / V6
AUTOMATION TOOLKIT: CONFIGURE
Configure CollectBuild
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
13. Juniper Networks Large Venue Template / 16x9 / V6
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
14. Juniper Networks Large Venue Template / 16x9 / V6
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
15. Juniper Networks Large Venue Template / 16x9 / V6
CONFIGURE: PYTHON
Build Simple to Complex Applications
IT FrameworksPython Shell Python Script
Custom
Applications
open-source – Maintained by CommunityNETCONF 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
16. Juniper Networks Large Venue Template / 16x9 / V6
AUTOMATION TOOLKIT: COLLECT
Configure CollectBuild
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
17. Juniper Networks Large Venue Template / 16x9 / V6
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)
19. Juniper Networks Large Venue Template / 16x9 / V6
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
20. Juniper Networks Large Venue Template / 16x9 / V6
JUNOS SPECIFIC ABSTRACTION LAYER MICRO-FRAMEWORK
Junos Python EZ (JunosPyEZ)
COLLECT: PYTHON
Build Simple to Complex Applications
IT FrameworksPython Shell Python Script
Custom
Applications
open-source – Maintained by CommunityNETCONF 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
21. Juniper Networks Large Venue Template / 16x9 / V6
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 ClientLayer 3 ZTP
Disabled VeriExec
Standard Junos image, with the following changes:
23. Juniper Networks Large Venue Template / 16x9 / V6
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 CollectBuild
NEEDS
• Large Scale
• Minimal Interaction
• Minimal Skills
ZTP +
Ansible
Server
24. Juniper Networks Large Venue Template / 16x9 / V6
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 CollectBuild
NEEDS
• Consistent service
• Growing new service
• Abstraction
25. Juniper Networks Large Venue Template / 16x9 / V6
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 CollectBuild
NEEDS
• Monitor
• Report
• Remediate