Vous êtes sur la page 1sur 27

Juniper Networks Large Venue Template / 16x9 / V6

AUTOMATION EVOLUTION
WITH JUNOS

Uwe Richter
JUNIPER NETWORKS
UWE@JUNIPER.NET
Juniper Networks Large Venue Template / 16x9 / V6

AGENDA
AUTOMATION OVERVIEW

JUNIPER AUTOMATION OFFERINGS

USE CASES

SUMMARY
Juniper Networks Large Venue Template / 16x9 / V6

DIFFERENT POINTS OF VIEW


Rapid Application Delivery

Business
Workflow Agility Continuity
Orchestration

Application
IT Workflow Velocity
Orchestration

Nodal
Automation
( Puppet, Chef )
Discrete blocks with no
Ad-Hoc business alignment
Scripting
( Bash, Perl )

IT Product
Manual Vendor CLI Proprietary
skills
Networking
Juniper Networks Large Venue Template / 16x9 / V6

THE AUTOMATION CONTINUUM

Old Way Hours/Days


(manual)

Physical Install Build Configure Collect Production

New Way Minutes


(automated)

Physical Install Build Configure Collect Production

•  Minimum networking skills required


BENEFITS •  Reduced OpEx
•  Consistent, repeatable and efficient
•  Rapid application delivery
Juniper Networks Large Venue Template / 16x9 / V6

APPROACH COMPARISON
Automation, Orchestration and SDN
CLOUD SERVICES,
ANALYTICS
Application
s •  Abstraction of the Network Layer to
API/SDK OSS/ address it as a whole as opposed to
(VIRTUALIZED, BSS SDN discrete parts
PHYSICAL)
ORCHESTRATION/
OSS
CONTRAIL: NETWORK ORCHESTRATION, AUTOMATION
•  Domain-wide ability to control
Control Analytics Configuration
resources in combination across
Orchestration various systems

•  Programmatic access to data center


resource for consistency, repeatability,
Automation and efficiency
Juniper Networks Large Venue Template / 16x9 / V6

JUNIPER OFFERINGS
Juniper Networks Large Venue Template / 16x9 / V6

JUNOS AUTOMATION STACK


Tool built into Junos that enables automation

Python
Ansible Puppet Chef
Ruby
15+ years of automation history
Scripts Scripts

Open architecture
PythonEZ Framework RubyEZ Library

Netconf Junoscript CLI


Three key features at the platform
layer:
XML SNMP
RO
§  XML
§  Junos Script and Netconf
Junos §  Junos EZ

Chassis Data Plane (PFE)

Junos Platform Automation Stack


Juniper Networks Large Venue Template / 16x9 / V6

NETWORK AUTOMATION
The Build phase centers around the
initial design and installation of a
network component

Build

The Collection phase


deals with automating The Configure phase
the process of covers methods to deploy
monitoring operational on-demand configuration
Collect Configure and software changes to the
state of the platform and
reacting on state platform
conditions
Juniper Networks Large Venue Template / 16x9 / V6

AUTOMATION TOOLKIT: BUILD

Build Configure Collect


Feature Description

Zero Touch •  Out-of-the-box configuration and software deployment


Provisioning (ZTP) •  Faster deployment

•  Multi-node orchestration awareness


•  Agentless
•  Vendor agnostic
Juniper Networks Large Venue Template / 16x9 / V6

BUILD: ZERO TOUCH PROVISIONING

•  Minimal skill required


DHCP Server responds
with image and
•  Consistent deployment
configuration •  Reduced data center build
DHCP time
Server •  Reduced configuration
Configuration and image errors
information loaded on DHCP
server

Switch is racked and stacked,


sends a DHCP request on

ü ü ü ü
boot Flexible scripting
EX & QFX
option for custom
Series provisioning
Switches

Switch successfully
provisioned Load different images based on location
Juniper Networks Large Venue Template / 16x9 / V6

BUILD: ANSIBLE

•  Agentless and simple approach


Ansible •  Coding skills not required
Transports •  Work flow engine
•  One tool for network/compute/storage
Python API

Plug-ins
Module Security Routing Switching
Library
Playbook
Files

Junos_install_os Junos_reboot
Telnet/Console
Junos_install_config
SSH
Junos_get_facts Junos_shutdown NETCONF
Juniper Networks Large Venue Template / 16x9 / V6

AUTOMATION TOOLKIT: CONFIGURE

Build Configure Collect

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


Juniper Networks Large Venue Template / 16x9 / V6

CONFIGURE: PUPPET
Puppet Master
(server) EX Series | QFX Series | MX Series
"netdev"

Puppet "netdev" module


Puppet module stored on the Puppet master
Puppet Agent downloads module to switch

Puppet Agent NETCONF "gem"


(client)
jpuppet Ruby Interpreter
package

NETCONF
(FreeBSD)
Juniper Networks Large Venue Template / 16x9 / V6

CONFIGURE: CHEF
Chef server
EX Series | QFX Series | MX Series
"netdev"

Chef "netdev" module


“netdev” module stored on the Chef server.
Chef client downloads module to switch

Chef Client NETCONF "gem"


jchef Ruby Interpreter
package

NETCONF
(FreeBSD)
Juniper Networks Large Venue Template / 16x9 / V6

CONFIGURE: PYTHON

Custom
Python Shell Python Script IT Frameworks
Applications

Build Simple to Complex Applications

Junos Python EZ (JunosPyEZ) open-source – Maintained by Juniper


Configuration Changes Operational State
"snippets" "templates"
Resources (no variables) (merge variables) Tables Views

JUNOS SPECIFIC ABSTRACTION LAYER MICRO-FRAMEWORK

NETCONF Client (NCCLIENT) open-source – Maintained by Community

NETCONF TRANSPORT ONLY VENDOR AGNOSTIC NO ABSTRACTIONS


Juniper Networks Large Venue Template / 16x9 / V6

AUTOMATION TOOLKIT: COLLECT

Build Configure Collect

Tool Description
•  Standard method for executing RPCs across a network
Netconf / DMI
•  Junos exposes all DMI functions via Netconf to remote hosts
•  Built into the Junos OS
Junos Scripts
•  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
Juniper Networks Large Venue Template / 16x9 / V6

COLLECT: NETCONF/DMI
Management System

Security Routing Switching


NETCONF XML
PROTOCOL
(RFC4741)

Automate config changes, Secure TCP/IP


connections via
remote invocation of
SSHv2 (RFC4742)
operational commands,
collection of logs

NETCONF client libraries exist


for a number of programming XML
languages such as Java, Perl,
Ruby, Python, and even SLAX !

•  Secure and connection oriented with SSHv2 as transport


•  Structured and transaction-based with XML as RPC request / response
•  User-class privilege aware
Juniper Networks Large Venue Template / 16x9 / V6

COLLECT: JUNOS SCRIPTS

Commit Configuration
Operation Script Event Script
Script

•  Create •  Automate event •  Assure compliance


custom commands responses to business rules
network/security policies
•  Diagnose •  Correlate events
network problems
•  Controlled
configuration change
Juniper Networks Large Venue Template / 16x9 / V6

COLLECT: JUNOS SCRIPTS

Each script type uses XML in its own unique way


Op Event Commit
Script Script Script
Output Output Output
XML XML XML
instructions instructions instructions
on what to on what to on actions
display display to take
(if anything) (make changes,
issue warnings,
errors, etc.)
Input Input Input
Blank XML XML
XML event Junos
document description configuration

Junos Infrastructure
Juniper Networks Large Venue Template / 16x9 / V6

COLLECT: PYTHON

Custom
Python Shell Python Script IT Frameworks
Applications

Build Simple to Complex Applications

Junos Python EZ (JunosPyEZ) open-source – Maintained by Juniper


Configuration Changes Operational State
"snippets" "templates"
Resources (no variables) (merge variables) Tables Views

JUNOS SPECIFIC ABSTRACTION LAYER MICRO-FRAMEWORK

NETCONF Client (NCCLIENT) open-source – Maintained by Community

NETCONF TRANSPORT ONLY VENDOR AGNOSTIC NO ABSTRACTIONS


Juniper Networks Large Venue Template / 16x9 / V6

ENHANCED AUTOMATION SW ARCHITECTURE

App App App App App App

Operating System Operating System

Hardware Hardware

Single Vendor Blob Best of Breed Ecosystem

Standard Junos image, with the following changes:


Disabled VeriExec Puppet Agent Python & Libraries

Layer 3 ZTP Chef Client Ruby & Libraries


Juniper Networks Large Venue Template / 16x9 / V6

USE CASES
Juniper Networks Large Venue Template / 16x9 / V6

USE CASES – ENTERPRISE IT

Build Configure Collect


ZTP +
NEEDS Ansible
Server
•  Large Scale
•  Minimal Interaction
•  Minimal Skills

•  Minimal skill required by onsite deployment team


BENEFITS •  Ensure consistent deployment in line with company policies
•  Reduces data center build-out from days to minutes
Juniper Networks Large Venue Template / 16x9 / V6

USE CASES – ENTERPRISE IT

Build Configure Collect


ZTP + Network
NEEDS Ansible Director
Server
•  Consistent service Juniper Firewall

•  Growing new service


•  Abstraction
Web Database
Server

New Web
Server

•  Network Director handles element management and Network as a Service abstraction


BENEFITS •  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
Juniper Networks Large Venue Template / 16x9 / V6

USE CASES – ENTERPRISE IT

Build Configure Collect


ZTP + Network
Ansible Director Ops User
NEEDS Server
Juniper Firewall

•  Monitor
•  Report
•  Remediate Web Database
Server

New Web
Server
Alert /
Report

•  Operational workflow automation allows operations staff to schedule tasks


BENEFITS •  Create reports based on “Out of Profile” events
•  Automate “Remediation Actions” based on report data to improve network availability and reduce MTTR
Juniper Networks Large Venue Template / 16x9 / V6

USE CASE – CLOUD AUTOMATION LIFECYCLE


Chef SNMP
Puppet Netconf / DMI
ZTP Ansible Junos Script
Ansible PythonEZ PythonEZ

1 2 3
Network
Cycle Build Config Collect

1 2 3 4 5
App Cycle Monitoring &
Boostraping Install & Config Alarming Repairing Scaling

AWS CloudFormation Chef Nagios

CloudFoundry
Graphite
Puppet
LogStach
Cloudify
Ansible Riemann
Fabric
SaltStack Zabbix
Heat
Collectd
Juju
THANK YOU....

27 Copyright © 2013 Juniper Networks, Inc. www.juniper.net

Vous aimerez peut-être aussi