Q2 2015 Juniper Networks Education and … 23, 2015 · Q2 2015 Juniper Networks Education and...

60
Q2 2015 Juniper Networks Education and Certification Webcast June 23, 2015

Transcript of Q2 2015 Juniper Networks Education and … 23, 2015 · Q2 2015 Juniper Networks Education and...

Q2 2015 Juniper Networks Education and Certification Webcast June 23, 2015

Welcome Thank you for joining us! Introducing today’s speakers • Lawrence Rust, Education Services Marketing Manager • Elna Samuelsen, Director, Curriculum, Certification, Infrastructure • Jasun Rutter, Sr. Manager, Curriculum Development and Certification • GUEST SPEAKER – Lalit Shinde, Senior Product Manager

Course and Certification Program Updates

Agenda

Learning Bytes Update

Programmability and Automation in Junos for SDN

What’s New

Stay Connected

Thank you for your feedback… …And stay tuned!

JNCP Feedback on J-Net

Course and Certification Program Updates

Agenda

Learning Bytes Update

Programmability and Automation in Junos for SDN

What’s New

Stay Connected

New Exam: JNCDS—DC • Juniper Networks Certified Design Specialist – Data Center

• Q3 release • JNCDA is a prerequisite

• Design exam track • Part of larger certification track focused on network design

Watch http://www.juniper.net/certification for ongoing news with these credentials

Ongoing Update for JNCP Exams • JNCP exams are updated on an ongoing basis

• JNCIA up to JNCIE level • Exams are updated/refreshed on a development cycle

• Sometimes visible (ex. JNCIA-Junos .. JN0-101 -> JN0-102) • Sometimes not

• Ensures freshness of item pool • Ensures security of exams

New and Updated Courseware Q1 15 • New

• Juniper Networks Design Fundamentals (JNDF)

• Updates • Configuring and Monitoring QFabric Systems

(CMQS) • Troubleshooting QFabric Systems (TQS)

(JNCIS-QF exam to be updated in Q3 2015) • Introduction to the Junos OS (IJOS) • JNCIE-SEC Bootcamp • JNCIE-SP Bootcamp • Configuring and Monitoring Contrail (CMC)

Q2 and Q3 15 • New

• SDN Fundamentals (official name TBD) • Juniper Networks Design in the Data Center • Advanced Junos Enterprise Switching Using

ELS (AJEX-ELS)

• Updates • Junos Automation Junos Platform

Automation • Junos Service Provider Switching (JSPX) • Juniper Networks Design Fundamentals

(JNDF)

Notes: Information current as of June 2015. Course and exam information (length, availability, content, etc.) is subject to change; refer to www.juniper.net/training for the most current information.

Juniper Networks Curriculum—Automation

Notes: Information current as of June 2015. Course and exam information (length, availability, content, etc.) is subject to change; refer to www.juniper.net/training for the most current information.

Basic Junos OS experience or training such as the Introduction to Junos Operating System (IJOS) and Junos Routing Essentials (JRE) courses or JNCIA-Junos Certification

Junos Service Provider Switching (JSPX)

Junos Intermediate Routing (JIR)

Junos MPLS and VPNs (JMV)

2 days

5 days

2 days

Junos Intermediate Routing (JIR)

2 days

Data Center Switching (DCX) 2 days

Junos Enterprise Switching-Enhanced Layer 2 Software (JEX-ELS)

2 days

Junos Security (JSEC)

Junos Unified Threat Management (JUTM)

Advanced Junos Security (AJSEC)

3 days

1 day

3 days

Data Center WAN Edge

Troubleshooting Data Center Switching (TDCX)

1 day

Network Automation in the Data Center 1 day Network Automation in the WAN 1

day Network Automation on the Edge 1 day

JNCIS-SP

JNCIS-SEC

Junos Automation (JAUT) 4 days

Configuring and Monitoring Contrail (CMC)

2 days

SDN Fundamentals 1 day

Data Center Interconnect (DCI) 1 day

Platform Automation Network Automation

Introduction to the Junos Operating System (IJOS)

1 day

Networking Fundamentals 5 hours

Certification Course

Planning

Other Learning Resources JNCP Website Resources page http://www.juniper.net/us/en/training/certification/resources.html J-Net Training, Certification Career Forum http://forums.juniper.net > Training, Certification, and Career Topics Courseware: www.juniper.net/courses Labs and Learning: www.juniper.net/labsandlearning

Course and Certification Program Updates

Agenda

Learning Bytes Update

Programmability and Automation in Junos for SDN

What’s New

Stay Connected

Learning Bytes…View the Latest New Learning Bytes Advanced AppQoS Asymmetric Traffic with a Flow Based Device Automating VLAN provisioning on multiple Junos devices using Puppet for Junos Basic AppQoS Creating a Junos Sandbox with vSRX and VirtualBox Filter-Based Forwarding with a Flow Based Device High Availability Switching with SRX Series Devices Implementing BGP over IPsec Learning Byte Implementing OSPF over IPsec Learning Byte IS-IS Configuration Returning an EX Series Virtual Chassis Device to Standalone Mode Using Generated Routes

www.juniper.net/learningbytes or www.youtube.com/junipernetworks

Course and Certification Program Updates

Agenda

Learning Bytes Update

Programmability and Automation in Junos for SDN

What’s New

Stay Connected

Programmability & Automation in Junos for SDN June 2015

Lalit Shinde, Junos Automation PLM

Agenda

• Introduction • Junos Automation

• Automation Stack • Automation Tools

• Junos Programmability • Junos Extension Toolkit • Building Blocks & DIY • NETCONF & YANG • Ephemeral DB & Commit Time Improvements

• Use Cases to show Business Value Add

Automation – The Hard Part

• Not a technical problem, it is cultural

• Automation is business driven

• Intellectually difficult

• An engineer’s value is not how much they type at the keyboard

• Networks are already highly automated, if you think about it

• Nothing good is easy, nothing easy is good

Juniper Approach

CONTROL PLANE

DATA PLANE

MANAGEMENT PLANE OPERATING SYSTEM

Juniper Approach

CONTROL PLANE

DATA PLANE

MANAGEMENT PLANE Standardized Interfaces

Juniper Approach

CONTROL PLANE

DATA PLANE

MANAGEMENT PLANE

Standardized Interfaces

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

Juniper Automation Solving real customer technical and business problems at every level

Platform Platform Automation focuses on delivering programmatic access to individual components in the network to automate day to day activities and reduce response times..

<SLAX>

Network Network Automation aims to abstract the individual platforms, and operate as a “Network As A Service (NaaS)” model. As such, the network is treated as a single entity.

Domain Domain Automation takes the concepts of NaaS, and extends it to an entire domain, including network, compute and storage to deliver end services at a rapid pace and high scale.

Juniper Automation

Platform Platform Automation focuses on delivering programmatic access to individual components in the network to automate day to day activities and reduce response times..

<SLAX>

Data Plane (PFE) Chassis

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

* In development

jVision Sensor

Data Plane (PFE) Chassis

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Junos has had automation features consistently added over the past 15+ years. This heritage of feature innovation has allowed Juniper to deliver new features by building on top of the abstraction layer below.

Data Plane (PFE) Chassis

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

JSD Ephemeral DB jVision

Technology, as part of the OS, that enables higher level automation and programmability

YANG

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Monitoring and Analytics technologies

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Robust APIs that allow for device interaction using multiple languages

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Standardized interfaces for device connectivity and operations

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Junos Extension Toolkit (JET) Published APIs used by Juniper development as well as customers

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Frameworks and libraries to abstract underlying connection and XML data for faster adoption and integration with scripts written in popular languages

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Support for modern scripting languages with direct access to the Juniper device OS for operations and management

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

Junos Automation Stack

REST CLI

jVision Sensor

Data Plane (PFE) Chassis

JSD Ephemeral DB jVision YANG

Juniper supported integrations and agents for use with DevOps frameworks. Juniper developed workflow and operational applications that use the Junos automation stack

Sim

plic

ity Flexibility

Junos Automation Stack

Data Plane (PFE) Chassis

XML-RPC

NETCONF Junoscript

SNMP RO

Junos Platform Automation Stack

PyEZ Framework

Ansible Python Scripts Salt*

RubyEZ Library

Puppet Ruby Scripts Chef

Python / SLAX

CLIRA* JSNAP

THRIFT

JET API

REST CLI

jVision Sensor

Juniper Approach

CONTROL PLANE

DATA PLANE

MANAGEMENT PLANE

Standardized Interfaces

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

Juniper Approach

CONTROL PLANE

DATA PLANE

MANAGEMENT PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

CONTROL PLANE

DATA PLANE

Junos Programmability

JET – Junos Extension Toolkit Ease of Use:

• Language agnostic • Simple framework APIs with extensive documentation • App development can be done on any OS (Linux, Windows, FreeBSD) • App developer can use tools of their choice (IDE, frameworks like Twisted, etc.)

JUNOS release and platform agnostic: • APIs are consistent across different platforms • APIs are de-coupled from JUNOS releases • Binary compatibility across JUNOS releases

Support for various deployment models: • APIs are consistent across the different deployment models – App on-box, App on VM, App

off-box • App developer can define their own APIs

ROADMAP*

JET APP JSD Interaction Junos Services Daemon

Application hosted on host on EVO device

JET Application

RPD DFWD DCD COSD MGD

JET Application

Kernel

JSD

Eph DB

Authenticated channel using

SSL/TLS

Thrift Thrift

Mosquitto Mosquitto

ROADMAP*

App hosted on external server App hosted on Junos device

JET App

JET API

RPD DFWD DCD COSD MGD

Junos

3rd Party Python modules

Kernel

External Server JET App

RPD DFWD DCD COSD MGD

Junos Kernel

JET API 3rd Party Python modules

1 2

App hosted on VM inside Junos device (NG-RE, QFX5100)

JET App

JET API

RPD DFWD DCD COSD MGD

Junos VM

3rd Party Python modules

Kernel

Linux VM

Linux Host

3

User has the choice to deploy the app on Junos device or deploy the app on an external server

JET: Flexible Deployment Model

ROADMAP*

REST

REST Client

Lighttpd server mod_juise

Junoscript

HTTP(S)

Rich library support for HTTP

Applications can execute RPCs over HTTP(S)

Supports XML and JSON output

HTTP Basic access authentication

Uses one Junoscript session per request

Can execute multiple RPCs in a single request

On box REST API explorer tool

All Junos Platforms 14.2 and later

ROADMAP*

Enabling Python on the box “Everything” that is possible with SLAX can be done with Python API is Python/PyEZ Part of core Junos image Will be supported on all* platforms supporting Junos release 15.2 or

later

Python On-Box

ROADMAP* * SRX is anybody’s guess at this time – most likely 16.1

PyEZ Micro-framework

• Python framework with easy learning curve

• Works with any Junos device running 11.4 or later

• Operational and Configuration Data/Management

• Generalized utilities for file-system, software-upgrade, scp

• Community supported

So why is it called “PyEZ” anyway?

Copyright © 2015 Juniper Networks, Inc.

Raw Python – 48 lines

Copyright © 2015 Juniper Networks, Inc.

So why is it called “PyEZ” anyway?

Raw Python – 48 lines ncclient – 19 lines

Copyright © 2015 Juniper Networks, Inc.

So why is it called “PyEZ” anyway?

Raw Python – 48 lines

All 3 scripts gather ‘show version’ info from the same device

ncclient – 19 lines

PyEZ – 7 lines (and gathers more info)

So why is it called “PyEZ” anyway?

Language Choice NETCONF libraries for those that need them

Language of API Mode of Distribution

Maturity Support URL Additional Notes

Ruby Open Source Most popular. 3200+ downloads.

Open Source Click Wins big on ease of installation, features, limited dependencies and active support.

Java via Juniper website. Will be shortly available on github.

Already being used by enterprise customers.

JTAC Click Very simple to get started. Easy on installation. Single .jar file to use/zero dependencies.

Python Open Source Based on an already popular open source client.

Open Source.

Click Favorite language of scripters.

Perl via Juniper website. Most ancient of all API’s. Needs work to ease installation

JTAC Click Installation of the API is not entirely smooth and needs further work to simplify the process.

PHP Open Source Not in a ready to use state yet.

Open Source Click Still in development stage.

* It is highly recommended to use PyEZ unless you really need direct NETCONF or other language support. Copyright © 2015 Juniper Networks, Inc.

Use Cases to show Business Value Add

Rapid Deployment with Automated Workbench American Multi-brand Restaurant Chains

Challenge

• Deployment of Juniper Devices across 2000+ restaurants with Aggressive Schedule • Traditional methods were error prone and time consuming • Integration with existing MS-SQL Database with standardized configuration

Solution

• Restaurant Builder Tool to automate provisioning of all Juniper Devices • Custom Web based solution that is simple, reliable and scalable

Results

• Accelerated and accurate provisioning of multiple Juniper devices for Multiple Stores Simultaneously.

• Installation Error rates < 40% with $$ savings annually

American Multi-brand Restaurant Chains

OSPF

Install Device/Role Specific Junos OS Software Image

Install Device/Role Specific Configuration File

Bootstrap DHCP / TFTP

Register Device with Inventory System

Switch EX2200

Firewall Router SRX240

Database Store Info

Web Application

Rapid Deployment with Automated Workbench

American Multi-brand Restaurant Chains

Store ID:

Switch Type:

Go!

Database Store Info

1. Input Information into Application 2. Application Selects Configuration

Template (World-Class / Type B vs. Type C)

Other: Other:

Configure Device

Restaurant Builder Tool

4. Junos O/S Version updated (if needed) 5. Configuration Applied to Device 6. Device Rebooted to store Configuration 7. Device Ready for Shipping

3. Configuration Created with correct • Model • Host Name • Mac Address • IP Address • Junos O/S Version

Rapid Deployment with Automated Workbench

Unified Edge Service Agility Tier 1 Service Provider in EMEA

Challenge

• Diverged Residential and Business Edge networks with different provisioning tools • Static provisioning of Business Subscribers – costly, error-prone and time-consuming • Multiple Touch points for provisioning single subscriber

Solution

• Converged Edge with dynamic provisioning for both residential and business • Custom JET APP to provide dynamic provisioning for business subscribers

Results

• Simplified network with single touch point for service provisioning • Simplified and converged OSS for all subscribers reducing OPEX

BNG means: -BRAS decentralization (74 900 locations) - Move of ethernet business services from LER to BNG -Dynamic provisioning (no static VLAN pre provisioning use of VLAN ranges) -Line ID (ACI) based authentication via PPPoE-IA info -single VLAN for all services - LER only for very specific or non-Eth services

ADSL2+ VDSL2

ADSL2+ VDSL2

Nx GigE

LER BRAS at 74 Locations

DSR IP/TV L3 Multicast &

Unicast (for channel change)

AGS2 AGS1

Ethernet Aggregation Network

D-Server Farm Microsoft IPTV Server

VLAN8

Fast Ethernet

Multicast

RADIUS/DHCP Server

DHCP (IP/TV) PPPoE (Internet)

GigE 10GE

VLAN7

VLAN7

ADSL2+ VDSL2

(1/10) GigE

A-Server

VPLS L2 P2P VPNs

GigE

GigE

GigE

X

X

X

X = 4 Service Creation Points

GigE

Nx GigE

major pain: all nodes in this network are statically pre-configured per subscriber

X

MPLS Core Network

D-Server Switch

N x 10GE

GigE

BRAS+DSR+AGS+LER BNG at 900 Locations

PPPoE (Internet + IPTV)

PPPoE

GigE

MPLS

LSR at 12 Locations Nx 10GigE

Tier 1 Service Provider in EMEA Unified Edge Service Agility

Unified Edge Service Agility Tier 1 Service Provider in EMEA

AAA Server

Residential customers

Business customers

MX 3D Unified Edge Router

ESSMD

Dictionary of Vendor Specific Attributes (VSAs)

Ability to introduce new differentiated services.

Fully automated service deployment work-flow.

Service instantiation templates: • Op scripts • Local JET application • Remote JET application

Generalization of dynamic interfaces and service-profiles for consumer broadband services.

Summary – Key Takeaways

Junos Automation & Programmability Key takeaways

• Automation is a part of Junos, not a “bolt on” or external API • Current IETF standards are based on Juniper invented technologies • Multiple protocols supported for integration into OSS/BSS systems • Most modern programming languages are supported • Integrations with DevOps frameworks for abstracted automation • YANG models – Native and custom • Continuous work on Junos commit model to improve commit times • Ephemeral DB for rapid, consistent configuration

Course and Certification Program Updates

Agenda

Learning Bytes Update

Programmability and Automation in Junos for SDN

What’s New

Stay Connected

Program Director – Elna Samuelsen – [email protected]

Certification Program website: www.juniper.net/certification Customer Service alias: [email protected]

@JuniperCertify Training, Certification and Career Forum

Stay Connected

Thank You!