1 nick matthews nicmatth@cisco.com network programmability user’s group why programmability? group...

Post on 14-Dec-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related