NPUG 01 – Why Programmability

Download Report

Transcript NPUG 01 – Why Programmability

Network Programmability User’s Group
Why Programmability?
Group Details
NPUG
Nick Matthews
Cisco
[email protected]
@nickpowpow
June 18th, 2014
1
GitHub
ACI
API
Agile
SDK
OpenDaylight
ACI
SDN
Quantum
AWS
Ubuntu
Jenkins
Southbound
BGP-LS
MaaS
Azure
Northbound
PaaS
IaaS
PCEP
VXLAN
NVGRE
Neutron
NSX
REST
?
What are the options?
• Ignore it – this is a fad and it will never affect me
• Wait – I’m not interested in spending time on things that may not exist in a year
• Inform – become familiar with the concepts and technologies
• Prepare – start learning some of the core skillsets with the belief they’re valuable
• Proof of Concept – some of the benefits directly affect my business and ‘we need this’
• Start in Pre-production – it’s important enough that we’ll have developers start with it
• Production – F*** it, let’s do it live!
“When do we want it?
…
NOW!”
The business
The Application and Business Users Have Other Choices
API’s Are Everywhere
API
API
API
API
API
API
API
API
We’re already programming
• CLI is a programming language
• However, very inflexible
#show run | i access-list
vs
#cat running-config.txt | grep access-list
Router#config t
(config)#interface gig0/0
(config-if)#access-group 101 in
vs
import cli
cli.config.acl(“gig0/0”,101,”in”)
“Everything that can be
automated will be
automated.”
In the Age of the Smart Machine: The Future of Work and Power
Shoshana Zuboff - http://en.wikipedia.org/wiki/Shoshana_Zuboff
Why Automation?
12
10
8
$ Cost
Quality
Productivity
6
4
2
0
Low Automation
Medium Automation
High Automation
Full Automation
Various: http://www.methodsandtools.com/archive/archive.php?id=94, http://www.infoq.com/articles/test-automation-continuous-delivery,
http://devopsanywhere.blogspot.com/2013/02/sysadmin-productivity-and-chef.html
The OS and Sys Admins
Did It First - DevOps
A change from manually configuring every
server, operating system, and virtual machine
to operating a nimble set of infrastructure at
scale
1 Server Admin : 100-200 Servers
to
1 Server Admin : 5,000 – 10,000 Servers
CLI + Bash scripts + Reactive configuration
to
Orchestrated configuration and integration with
development
Network Operations
11
That Sounds Like A Lot Stuff.
You don’t need fluency – “Dondey Estas Las Bano”
• There are core skills that will be useful even if the technology
winds change direction
• Knowing the terminology and context will allow you to make
better decisions for you and your team or business
• Having knowledge of someone else’s problems and process
opens up opportunities to solve mutual pain
Core Skills for Network Programming
• Linux / Shell
Most programmatic interfaces are enabled through Linux devices.
Guides and how-to’s will often be Linux only
Mac OSX users are more empowered with a linux-like BSD shell
Can have a steep learning curve – very distributed
• Python
Most popular scripting language
Forgiving and easy to use
Large ecosystem of support
• Git / GitHub
Modern software configuration management tool – keeping track of code and sharing it
• Terminology Awareness
TLA’s (three letter acronyms) and open source tools abound – which ones matter?
Goal of NPUG
Let’s get through this together
• There are so many technologies and diverse skillsets that a group is the best fit
• Create a learning environment
• Hearing from people using it will help cut through marketing hype
Stories of migration – before/after
Show and Tell – technology how-to’s or small labs
Collaboration on projects – coding together and matching needs with capabilites
Technology Updates – what should we be aware of
• Open Source contribution is scary
Afraid to be mocked or that your contribution is dangerous to the code
Let’s create a playground so that we can start somewhere
• Minimize Vendor Marketecture and Sales
Stay away from sales and marketing pitches
More real facts, actionable technology, gotcha’s, and networking
Format of the Group - Tentatively
Once a month in person meetings, tentatively at the Cisco office
3-6 week weekly virtual meetings that are user-driven on certain topics like
linux, python, etc.
Time? Interest? Speakers?
Occasional Labs and Hackathons
Spend 4+ hours playing with Technology hands-on, mixing skill levels
Chat on the google group alias
For help, question, thoughts, comments, announcements, flame wars
Group Resources
• Wiki:
cs.co/npug
• Mailer:
[email protected]
• Internal Mailer:
[email protected]
• Github:
Github.com/npug
Technologies we can get our hands on now
• Arduino + Raspberry Pi projects
• Python Shells
• VIRL
Virtual routing lab – running on OpenStack. GNS3 on steroids
Join the mailing list – an email will be sent out about access :
[email protected]
• OnePK All in One VM
https://developer.cisco.com/site/networking/one/onepk/sdk-and-docs/all-in-one-vm/index.gsp
• Python Shell on Nexus devices
• API’s and Puppet on Nexus 3000 + 9000
• EEM – Routers and Switches
• Devnet Sandboxes – still in development
• DevStack and Openstack VM builds
• OpenDaylight + Mininet
• Puppet All in One VM
Some Ideas We Can kickstart (advanced)
• Automated packet capture
Get a packet capture in the network on demand
Methods:
CLI scripting with capture export feature
OnePK extraction via C SDK
Extend on Monitor Manager
• Other ideas or requests?
VIRL Demo
Next Steps
• Please check out the wiki, send feedback to the alias or directly
CS.CO/NPUG
Feedback or additional articles – send it over
• Register for the mailing list
[email protected]
To send an email:
[email protected]
[email protected] (internal)
Shout outs – thank you
• Bruce McMillan
• Nathan Sowatskey
• Dana Blair
• Colin McNamara
Open Discussion
• Introductions
• Meeting time + place, does it work?
• Presenter for the next session?
• Interest in the webex series?
Time, frequency, topic? Any volunteers?
Network Programming – Technologies, Tools, People,
Processes
Bootstrap,
Configure, Operate
Device
Extension
DevOps
Integration
People, Tools,
Processes
DevOps
NETCONF
YANG
Cisco
Python API
EEM
Open
Daylight
Continuous
Integration
Thank you.