View
215
Download
0
Category
Tags:
Preview:
Citation preview
1
Nick Matthews nicmatth@cisco.com
Network Programmability User’s Group
Why Programmability?
Group Details
Cisco
June 18th, 2014
@nickpowpow
NPUG
API
RESTAWS
PaaS
IaaS
MaaS
VXLAN
SDN
Ubuntu
Agile
NVGRE
ACI
BGP-LS
PCEP
GitHub ACI
NSX
Southbound
Northbound
NeutronQuantum
SDKAzure
Jenkins
OpenDaylight
?
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!
The business
“When do we want it?…NOW!”
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 clicli.config.acl(“gig0/0”,101,”in”)
In the Age of the Smart Machine: The Future of Work and Power
Shoshana Zuboff - http://en.wikipedia.org/wiki/Shoshana_Zuboff
“Everything that can be automated will be automated.”
Why Automation?
Low Automation Medium Automation High Automation Full Automation0
2
4
6
8
10
12
$ CostQualityProductivity
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
11
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 to1 Server Admin : 5,000 – 10,000 Servers
CLI + Bash scripts + Reactive configuration toOrchestrated configuration and integration with development
Network Operations
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
• PythonMost popular scripting language
Forgiving and easy to use
Large ecosystem of support
• Git / GitHubModern software configuration management tool – keeping track of code and sharing it
• Terminology AwarenessTLA’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 hypeStories 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 scaryAfraid 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 SalesStay 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 HackathonsSpend 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:Net-prog@googlegroups.com
• Internal Mailer:npug@cisco.com
• Github:Github.com/npug
Technologies we can get our hands on now• Arduino + Raspberry Pi projects
• Python Shells
• VIRLVirtual routing lab – running on OpenStack. GNS3 on steroids
Join the mailing list – an email will be sent out about access : net-prog+subscribe@googlegroups.com
• OnePK All in One VMhttps://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/NPUGFeedback or additional articles – send it over
• Register for the mailing list
Net-prog+subscribe@googlegroups.com
To send an email:Net-prog@googlegroups.comnpug@cisco.com (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
DevOpsIntegration
DeviceExtension
EEM
Bootstrap, Configure, Operate
NETCONFYANG
CiscoPython API
Open
Daylight
People, Tools, Processes
Continuous
Integration
DevOps
Thank you.Thank you.
Recommended