More Related Content
Similar to Frictionless IT Automation (20)
Frictionless IT Automation
- 1. Copyright © 2013 Juniper Networks, Inc. www.juniper.netCopyright © 2013 Juniper Networks, Inc. www.juniper.net
FRICTIONLESS
IT
AUTOMATION
Jeremy
Schulman
-‐
Director
|
Automa5on
Concept
Engineering
@nwkautomaniac
- 2. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
"THE ORACLE AND THE SHERPA" ...
- 3. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
AUTOMATION IS LIKE EATING ICE CREAM
• Everyone want it
• Everyone wants something different
• No-one wants to make it
• No-one wants to clean up the mess
- 4. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
HOW DO YOU EAT ICE CREAM?
Banana Split
at Baskin Robins
Self Service
Frozen Yogurt
The Grocery Store DIY with
Kitchen-Aid
- 5. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
FRICTIONLESS IT AUTOMATION
§ Return on Investment
§ Increase revenue throughput
§ Reduce costs to manually do repetitive work
§ Reduce costs due to delays and errors
§ Reduce Risk
§ Manually operated complex systems are fragile
§ Improve Service
§ Network infrastructure is a "utility" that runs the business
§ Server and application automation is the standard
§ Network automation must "level-up"
- 6. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
Nodal
Automation
( Puppet, Chef )
Ad-Hoc
Scripting
( Bash, Perl )
IT Workflow
Orchestration
Business
Workflow
Orchestration
JNCIA
Associate
JNCIS
Specialist
JNCIP
Professional
JNCIE
Expert
IT
Network
Value is a function of
automation programming
and system integration that
drives the business
Value is a function of
mastering vendor CLI
and networking domain
knowledge
- 7. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
SERVER WORLD
Device running Linux
Linux Kernel
Fedora Distribution
Applications Applications
Applications Applications
Middleware
Middleware
Middleware
Middleware
Discrete collections of
package / files / service
More discrete
collections of package /
files / service
- 8. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETWORKING WORLD
Device running Junos
Junos Image
Initial Configuration
Service Service
Service Service
Discrete collections of
configuration statement
More discrete collections of
configuration statement
- 9. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
OPPORTUNITIES FOR NETWORK AUTOMATION
Device running Junos
Junos Image
Initial Configuration
Service Service
Service Service
BUILD
HOUSE
CHANGE
HOUSE
- 12. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
1. DEFINE 2. SIMULATE
4. REPORT
Re-usable infrastructure-as-code Before deploying changes
Automatically and reliablyInsight into changes
PUPPET: SOFTWARE-DEFINED INFRASTRUCTURE
DESIRED
STATE
CURRENT
STATE
3. ENFORCE
}
- 13. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
PUPPET "NETDEV" MODULE
NetDev is a vendor-neutral network abstraction
framework developed by Juniper Networks and
contributed freely to the DevOps community
Juniper has contributed basic layer-1 and layer-2
network abstractions
DevOps can extend the framework to define any
abstractions or features they need for their environment
The NetDev framework is open and free; i.e. the
“DevOps” way
- 14. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
PUPPET FOR JUNOS
“DevOps” Approach:
§ NetDev module source code is in Github
§ All packages are stored where they should be
(Puppet Forge,…)
§ Support done on J-Net community forum
§ Juniper technical documentation available
§ Free, “BSD-style” license
- 15. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV
RESOURCES TYPES
Resource Description
netdev_vlan Manages VLAN configuration
netdev_interface Manages Physical Interface configuration
netdev_l2_interface Manages VLAN to interface assignments
netdev_lag Manages Link Aggregation Group configuration
class color_switch {
netdev_vlan { "Pink": vlan_id => 703 }
netdev_vlan { "Green": vlan_id => 101 }
netdev_l2_interface { 'ge-0/0/19':
untagged_vlan => Pink,
}
netdev_l2_interface { 'ge-0/0/20':
description => "My port, back off!",
untagged_vlan => Blue,
tagged_vlans => [ Green, Black, Yellow ],
}
}
- 16. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_L2_INTERFACE
ACCESS PORT EXAMPLE - EX PLATFORMS
node "ex4" {
netdev_device { $hostname: }
netdev_l2_interface { "ge-0/0/9":
untagged_vlan => Green
}
}
interfaces {
ge-0/0/9 {
unit 0 {
description "Puppet created netdev_l2_interface : ge-0/0/9"
family ethernet-switching {
port-mode access;
vlan {
members Green;
}
}
}
}
}
- 17. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_L2_INTERFACE
ACCESS PORT EXAMPLE - MX PLATFORMS
node "mx12" {
netdev_device { $hostname: }
netdev_l2_interface { "ge-5/0/3":
untagged_vlan => Green
}
}
interfaces {
ge-5/0/3
unit 0 {
description "Puppet created netdev_l2_interface: ge-5/0/3";
family bridge {
interface-mode access;
vlan-id 101;
}
}
}
}
- 18. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
JUNOS XML API
FOR SERVER-BASED AUTOMATION
Secure TCP/IP
connections via
SSHv2 (RFC4742)
XML
NETCONF XML
PROTOCOL
(RFC4741)
SwitchingSecurity Routing
Management System
Automate config changes,
remote invocation of
operational commands,
collection of logs
§ Secure and connection oriented … SSHv2 as transport
§ Structured and transaction based … XML as RPC request / response
§ User-class privilege aware … Native to Junos
§ Comprehensive & Consistent ... Automate everything
NETCONF client libraries
exist for a number of
programming languages such
as Java, Perl, Ruby, Python,
and even SLAX !
- 19. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
Device running Junos OS
Puppet NetDev modules
Ruby Gems
Ruby Interpreter
XML
Puppet Agent
(client)
Puppet Master
(server)
netdev
jpuppet
package
PUPPET FOR JUNOS
(FreeBSD)
- 20. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
LEARN MORE ABOUT PUPPET FOR JUNOS