Sie sind auf Seite 1von 48

Automation story

Vladimir Urayev
Sr. Sales Specialist, CoE EMEA
Automation: Its changing life around us
HOMES CARS SHOPPING

ASSISTANTS LANGUAGE GAMES


Evolution of the automobile
Manual start with Electronic starter
Starter crank (1914)

Manual Auto Transmission


Transmission transmission (!940)

Cruise Control Adaptive Cruise Intelligent Cruise


Control Manual control
(1948) Control (1997) Control (2015)

Antilock Braking
Braking Manual braking
System (1971)

Power steering Active steering


Steering Manual steering
(1951) (2003)

Automatic
Parking Manual parking
parking (2003)

< 1900 1915 1930 1945 1960 1975 1990 2005 2016
Disruption of the automobile
Not just an incremental improvement, a disruptive change

Ownership: Delineate ownership & usage. Uber++, ZipCar++

The Safety: Human errors cause 94% of car crashes

Promise Planning: No more traffic lights? Triple highway capacity?

Logistics: Self-driving trucks to revolutionize package delivery

Dont need drivers: Need programmers, operational folks

The Dont need cops: Cars can (will) self-police

The Self-Driving Car Impact Dont need witnesses: Cars will be the most objective witnesses

How does insurance work: Who pays for the glitches?


Is it a Car.Is it a Computer?
Disruption of the Network
Self-Driving Cars need Self-Driving Networks

A self-driving network would


Accept guidance from a network operator
Self-discover its constituent parts
Self-configure
Self-monitor using probes and other techniques
Auto-detect when a new service is needed and auto-enable it
Automatically monitor and update services to optimize service delivery
Use machine learning for introspection (self-analysis)
Self-report periodically or when an unexpected situation arises

Self-Driving Networks: A vision worth pursuing


Automation @ scale
WEB 2.0 COMPANIES

Reduce DC cooling bill by 40% 1 Engineer = 25,000 servers Helping developers sleep better

2014: Machine-learning algorithms 2011: Facebook Auto Remediation 2013: Atlas, a sophisticated home-
used to predict Power Usage (FBAR) to proactively detect and grown telemetry tool that collects
Effectiveness (PUE) of the address production problems on up to 1.2 Billion data points per
individual servers. minute
datacenters with up to 99.6%
accuracy
2016: Automated Maintenance 2016: Winston, outsources
2016: Google DeepMind AI uses Handlers to safely automate repeatable diagnostics and
historical data, telemetry & deep maintenance on multiple servers. remediation tasks. Run
neural networks to reduce Dapper to co-ordinate both automatically in response to events
Datacenter cooling bills by 40% automated and manual processes from Atlas
LARGE ENTERPRISES

Handling 10-fold traffic increase Predictive analytics for sales and service

Black Friday and Thanksgiving have a unique load Adopting Agile, DevOps and Lean principles to
profile improve banking services

Simultaneous testing of all APIs using version- Big data analytics for pricing, fraud detection,
controlled test scripts predictive sales, customer retention

Determine the topic of a customers call within 100


Historical data as an indicator of expected load milliseconds, with 70 percent accuracy

Contributing to Open-source: Cloud-custodian,


Capture meaningful metrics. Measure everything Hygieia
TELCO PLAYERS

Software-centric networking

ECOMP: Enhanced Control, Orchestration, Management and Policy platform


AT&Ts framework to adopt cloud and network virtualization technologies in carrier-scale, real-time workload
environments.

Focus areas:
Design framework for uniform platform on-boarding using industry-standard initiatives
Real-time, closed-loop automation of service/network/cloud delivery
Data Collection, Analytics and Events correlation

Open-sourced for wider industry adoption and collaboration


Charting the course for Automation
Identify, acknowledge and target your roadblocks

TECHNOLOGY CULTURE PROCESS


Charting the course for Automation
Three building blocks of Automation

TECHNOLOGY CULTURE PROCESS

Find the right balance


Technology: Leading the change
Network Automation: How do we get there?
Build an evolution path to fuel disruption

Day 0 Day 1 Day N

Human-driven automation Event-driven automation Machine-driven automation

Establish standard-based Gather network information Use machine-learning tools


network interfaces and data (Telemetry) to train the system
models
Use network information to Machines makes decisions
Automate network make decisions and drives network change
provisioning & management
Rule-based action on Humans make decisions
Simplify network operations network events where machines cannot
(Closed loop automation)
Automation Technologies - Landscape

YANG
Automation Technologies - Landscape

Day 0 Day 1 Day N

Supervised learning
FBAR
Unsupervised learning
DEEP MIND

WINSTON Reinforcement learning

Deep learning
YANG
Day 0 - Human-driven Automation

Day 0
Standards-based network interfaces and data-models
Human-driven automation

YANG
Automate network provisioning & management
Establish standard-based
network interfaces and data PyEZ
models

Automate network Simplify network operations


provisioning & management

Simplify network operations


JSNAPy
Standards-based Network interfaces
Uniform, vendor-neutral approach to access and configure devices

NETCONF
JUNOS
TELNET Protocol to install, manipulate and delete configuration
IOS
N
E
SSH Uses XML-based data encoding for configuration data and
IOS XR T
C protocol messages
NexusOS O
XML
EOS
N NETCONF protocol operations over a simple RPC layer
F
VDX SNMP
Programmable: Python libraries (ncclient), Juniper PyEZ
Device Device
data model connectivity Based on RFC Standards (RFC 4741, 4742, 6241, 6242)

Juniper NETCONF is the IETF standard for managing devices and is derived from JUNOScript API (2001)
support Supported on all Juniper platforms, pre-JUNOS 4.0
Standards-based Network interfaces
Uniform, vendor-neutral approach to access and configure devices

YANG
JUNOS
TELNET Data model language for the Network Configuration
IOS
N Protocol (NETCONF)
E
Y SSH
IOS XR T
A
C Human readable, Supports multiple encoding formats,
N
NexusOS including XML and JSON
O
XML
G
EOS
N
F Transport over NETCONF over SSH and recently also
VDX SNMP
over gRPC
Device Device
data model connectivity Based on RFC standards (RFC 6020)

YANG is the industry-standard data modeling language and is based of Junipers Data Definition Language (DDL, 2001)
Juniper
support Active IETF participation to define standard YANG modules, Support for custom YANG modules
Supported on MX/EX/M/PTX/T-series platforms, JUNOS 14.2 onwards
Standards-based Network interfaces
Uniform, vendor-neutral approach to access and configure devices

OPENCONFIG
JUNOS
O N
TELNET Vendor-neutral, model-driven network
P E
E
IOS
T management
N Y SSH
C
IOS XR
C A O
O N
NexusOS N Common Data Models written in YANG
N G XML
F
FEOS
I
gRPC
SNMP
Streaming Telemetry
GVDX

Device Device Industry-driven: Google, AT&T, British Telecom,


data model connectivity
Microsoft, Facebook, Comcast, Verizon, Level3, Apple,
Deutsche Telekom, Bell Canada

Juniper Actively engaged in the OpenConfig initiative since inception


support Supported on MX/M/PTX/T-series platforms, JUNOS 16.1 onwards. EX/QFX platforms on roadmap
Automated network provisioning and management
Consistent and compliant network operation

PUPPET & CHEF


Puppet master Chef server
Client-server based model, Agent resides on the
Netdev Cookbooks
device

All configuration defined from the central


server/master
Puppet Agent Chef Agent
Ruby interpreter Ruby interpreter Leverages JUNOS built-in netconf API
Router Switch

Supported on EX & QFX-series (JUNOS 14.2), MX-series (JUNOS 16.1) platforms


Juniper
support Juniper developed netdev module for Puppet to support configuration of network elements
https://github.com/Juniper/puppet-netdev-stdlib-junos
Automated network provisioning and management
Consistent and compliant network operation

ANSIBLE
junos_command
Routers Agent-less approach, Easy to deploy
Play
books junos_config

junos_facts Switches
Uses YAML playbooks to define automation
tasks
Module junos_netconf
Library
junos_package Firewalls Works by pushing Ansible modules to devices
Ansible framework
with Supports workflow engine
Juniper modules

Supported on all Juniper platforms, JUNOS 12.3 onwards


Juniper
support Enhanced capabilities using Ansible modules for Juniper.
https://www.ansible.com/ansible-juniper
Automated network provisioning and management
Consistent and compliant network operation

PyEZ
Configuration changes
resources Routers Automation micro-framework for JUNOS devices
snippets

templates Remote connectivity and management


Switches
Operational state
Retrieve configuration, operational or run-state
Tables
information
Views Firewalls

PyEZ micro-framework Make configuration changes, secure copy of files


and software updates

Supported on all Juniper platforms, JUNOS 11.4 onwards


Juniper
support Increasing popularity in the Juniper DevOps community (>250 stars on Github)
https://github.com/Juniper/py-junos-eznc
Simplified network operations
Verify network consistency

JSNAPy
Pre snapshot
JSNAPy
Snap-Check OUTPUT JUNOS Snapshot Administrator in Python
Post snapshot

Capture and audit runtime environment


Response
snapshots of Juniper devices
Request

Netconf
Compare pre & post operation outputs

Routers Switches Firewalls Simplified YAML-based test cases

Juniper proprietary
Juniper
support Supported on all Juniper platforms, JUNOS 16.1 onwards
https://github.com/Juniper/jsnapy
Human-driven Automation @ Juniper
Off-Box

OPENCONFIG
Ansible Puppet Chef JSNAPy CLIRA
YANG

On-Box

PyEZ Framework RubyEZ Library

gRPC NETCONF Junoscript CLI

THRIFT XML-RPC SNMP

Chassis Data Plane (PFE)


Day 1 Event-driven Automation

Day 1
Gathering Network Telemetry
Event-driven automation

JVision

Rule-based actions on network events


Gather network information
(Telemetry)

Use network information to


make decisions SLAX JET
Rule-based action on
network events
(Closed loop automation)
Gathering Network Telemetry
What gets measured, gets managed

Collector Collector gRPC & JVision


Push-based telemetry model (v/s pull-based
In-band Telemetry SNMP)
(Google protobuf)
Continuous streaming of Network telemetry data
based on subscriptions
Routers Switches Firewalls
Observe network state through time-series data
stream and take action.
Uses Google protocol buffer encoding format
Goodbye SNMP, Hello gRPC

Juniper
support Supported on Juniper MX and PTX platforms JUNOS 15.1F3 onwards
Rule-based actions on network events
If-This-Then-That (IFTTT) model

Salt Stack
Configuration management system, capable of
maintaining remote nodes in defined states
Uses a pub/sub model to publish events from master or
SALT Proxy modules agent
Rule-based actions can be built to react to these events
Request
Response

Netconf PyEZ Junos support for SaltStack is through a off-box proxy


minion

Routers Switches Firewalls

Juniper
support Supported on all Juniper MX, PTX, QFX platforms, JUNOS 11.4 onwards
Rule-based actions on network events
If-This-Then-That (IFTTT) model

SLAX & Python (on-box)


Support for SLAX and now Python on-box on JUNOS
devices
Write scripts to react to on-box network events
Commit Script: Configuration consistency checks

Operational Scripts: Monitoring and troubleshooting

Event scripts: Event-based triggers

Supported on all Juniper MX, PTX, QFX platforms,


Juniper
support SLAX: pre-JUNOS 7.0 onwards; Python on-box: JUNOS 16.1 onwards
https://github.com/Juniper/junoscriptorium
Rule-based actions on network events
If-This-Then-That (IFTTT) model

JUNOS Extension Toolkit (JET)


Framework to make JUNOS more open and
programmable

Enables 3rd party apps to run on Juniper


devices that react to network events
Fast & Programmatic JET APIS
Allows for a programmable JUNOS control
plane

Juniper
support Supported on all Juniper platforms except ACX & SRX, JUNOS 16.1 onwards
Event-driven Automation @ Juniper
Off-Box

OPENCONFIG
Python Ruby
Ansible SALT Puppet Chef JSNAPy CLIRA
Scripts Scripts
YANG

On-Box

JET
PyEZ Framework RubyEZ Library Python / SLAX
API

gRPC NETCONF Junoscript REST CLI

jVision sensor THRIFT XML-RPC SNMP

Chassis Data Plane (PFE)


JUNOS AUTOMATION STACK
Off-Box

OPENCONFIG
Python Ruby
Ansible SALT Puppet Chef JSNAPy CLIRA
Scripts Scripts
YANG

On-Box

JET
Simplicity

PyEZ Framework Python / SLAX

Flexibility
RubyEZ Library
API

gRPC NETCONF Junoscript REST CLI

jVision sensor THRIFT XML-RPC SNMP

Chassis Data Plane (PFE)


Automation @ Juniper: Its in our DNA
Built with an Automation-first mindset

Juniper Extension
Config Groups Netconf Toolkits JSON output
Toolkit
format
One JUNOS Config & Cmd
API Driven Access Control Commit Batch Python
Chef
On-Box
Service Plane
Puppet RESTful API IETF YANG
APIs
Models

1996 2000 2004 2008 2012 2014 2015 2016

JUNOS
CLI Ansible
Control Plane APIs Ruby Ez Custom YANG
Junos Operation
Models
YANG Model
NETCONF/Junos
XML APIs Structured Syslog PyEZ OpenConfig
Junos Config
Models
YANG Model
Network Automation: Leading the pack
Third-party perspective on platform-vendor capabilities for Network Automation

1 On-device APIs
to read / write 2 Structured
operational 3 Structured device
configuration 4 Atomic
configuration
configuration and data for easy data for easy changes to
operational data programmatic programmatic avoid partial
analysis analysis updates
Juniper Networks: PASS Juniper Networks: PASS Juniper Networks: PASS Juniper Networks: PASS

5 Configuration
rollback to 6 Full configuration
replace that 7 Configuration
difference 8 Industry
standard data
minimize risk makes templates analysis to models for
easy to use simplify manual configurations
approvals
Juniper Networks: PASS Juniper Networks: PASS Juniper Networks: PASS Juniper Networks: PASS

READ THE BLOG http://blog.ipspace.net/2016/10/network-automation-rfp-requirements.html


Day N - Machine-driven automation

Day N

Machine-driven automation Self-driving networks: A collective vision


Take parts of the network and make them truly autonomous
Say what you want, not how you want it done
Predict faults and proactively remediate
Use machine-learning tools
to train the system Detect anomalies in real-time and respond
Machines makes decisions Interact with customers using intelligent chatbots
and drives network change

Humans make decisions (YOUR THOUGHTS HERE)


where machines cannot
Charting the course for Automation
Technology is the fun part, Culture is the challenge

TECHNOLOGY CULTURE PROCESS

Find the right balance


Culture: Changing the mindset
Impedance to Automation
Tackling the human side of Automation

The Dev-Ops divide: Conflicting priorities


(Velocity v/s Stability)

Focus on the Urgent v/s Important

Lack of buy-in from key stakeholders

Fear of being automated out of a job


Building an Automation culture
Its not about tools, Its about culture

Criteria for success:


Cross-functional, loosely-coupled, self-organizing teams (no silos)
Clearly laid out goals, Teams are responsible for success
Outside-in approach to everything
Start with small, focused projects and roll out iteratively
Evangelize and create visibility in the organization
Provide opportunities for continuous re-learning
Allow room for uncertainty, mistakes and learnings from them
Charting the course for Automation
Let computers do the things they are good at

TECHNOLOGY CULTURE PROCESS

Find the right balance


Process: Striving for Kaizen
Application Development evolution with DevOps
From Waterfall to an Agile DevOps movement
Continuous Deployment

Continuous Integration

Application 1
Release Management

Application 2 Or

Application as Code
Application 3

Config
Configuration Management
Middleware
Or
OS
Infrastructure as Code
BARE METAL

Application is code, Test is code, Infrastructure is also code


Why Infrastructure as Code?
Build and manage infrastructure like software

Infrastructure as code:
Build the same lifecycle as software
Develop > Version control > Testing > Continuous Integration > Continuous Deployment

Continuous Integration (CI):


Make small, iterative changes to your automation code
Write tests as you write your code (unit, integration, functional, smoke tests)

Continuous Deployment (CD):


Near-term volatility for decreased long-term risk
Manage risk: Deploy in small batches, build metrics for validation
Infrastructure as Code: Extend it into the network
Leverage the same tools for Server, Storage and the Network
DC Infrastructure
Server 1 Server 1 Server 1 Server 1 Server 1 Server 1 Server 1 Server 1
Server 2 Server 2 Server 2 Server 2 Server 2 Server 2 Server 2 Server 2
Server .. Server .. Server .. Server .. Server .. Server .. Server .. Server ..
Server .. Server .. Server .. Server .. Server .. Server .. Server .. Server ..
Server .. Server .. Server .. Server .. Server .. Server .. Server .. Server ..
Server .. Server .. Server .. Server .. Server .. Server .. Server .. Server ..
Server N Server N Server N Server N Server N Server N Server N Server N
TOR TOR TOR TOR TOR TOR TOR TOR

EVPN
SPINE SPINE SPINE SPINE VXLAN
OPENCLOS

WAN
Infrastructure
https://github.com/Juniper/OpenClos
Infrastructure as Code: Extend it into the network
Seamless deployment: Datacenter, Telco cloud and WAN infrastructure

WAN Infrastructure

Streamlined router deployment

Zero-touch deployment for CPE

Telco Cloud deployment


Telco Telco Telco
Cloud Cloud Cloud

CPE CPE CPE CPE CPE CPE


Network Implementation Automation Solution
Juniper Professional services to bootstrap Automation

Plan Build Operate


Professional Services
Professional Part of PS Implementation Services Free of Charge
Services Deployment & Training Packages available

Playbooks
Developed Use-Cases: Data Center, Campus, Edge
Playbooks developed and improved on all new projects
Includes capture of best practices
Network Implementation & Testing Playbooks
Playbooks represent our Intellectual Property
Automation (NITA) Framework

NOOB New Out Of the Box Framework


EDGE Build Framework
Test Framework
NITA
ACCESS & CORE Framework NITA is Open Source
AGGREGATION
CLOUD
CAMPUS & BRANCH
DATA CENTER
Summary
Bring more value to market, faster!

TECHNOLOGY CULTURE PROCESS

Identify focus areas, Lead the change, Build an Agile-DevOps


Start small, iterate often Empower the change environment
agents
Cross-leverage tools Follow the process,
across the infrastructure Loosely-coupled, cross- Dont allow exceptions
functional teams
Embrace and encourage Leverage, Engage and
open-source Encourage failure, Contribute to the
Ensure learnings community
Juniper Value Proposition
Network Automation? No one does it better than us!

TECHNOLOGY CULTURE PROCESS

Industrys most
Human-driven Thats
Lead the you!
change, Build anExcellence
Agile-DevOps
comprehensive & mature Empower the change environmentin
Automation Stack agents execution
Event-driven Follow the process, no
(we
Bring the are...
organization exceptions
.your extended
on-board, team)
teach others
Machine-driven how to do it Leverage and give back
OpenLab
to the community
Encourage failure,
Ensure learnings
Thank you

Das könnte Ihnen auch gefallen