1 Nick Matthews [email protected] Network Programmability User’s Group Why Programmability? Group...

26
1 Nick Matthews [email protected] Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th , 2014 @nickpowpow NPUG

Transcript of 1 Nick Matthews [email protected] Network Programmability User’s Group Why Programmability? Group...

Page 1: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

1

Nick Matthews [email protected]

Network Programmability User’s Group

Why Programmability?

Group Details

Cisco

June 18th, 2014

@nickpowpow

NPUG

Page 2: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 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

Page 3: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

?

Page 4: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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!

Page 5: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

The business

“When do we want it?…NOW!”

Page 6: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

The Application and Business Users Have Other Choices

Page 7: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

API’s Are Everywhere

API

API

API

API API

API

API

API

Page 8: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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”)

Page 9: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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.”

Page 10: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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

Page 11: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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

Page 12: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

That Sounds Like A Lot Stuff.

Page 13: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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

Page 14: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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?

Page 15: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

Goal of NPUG

Page 16: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow 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

Page 17: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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

Page 18: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

Group Resources• Wiki:

cs.co/npug

• Mailer:[email protected]

• Internal Mailer:[email protected]

• Github:Github.com/npug

Page 19: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow 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 : [email protected]

• 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

Page 20: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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?

Page 21: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

VIRL Demo

Page 22: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

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

[email protected]

To send an email:[email protected]@cisco.com (internal)

Page 23: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

Shout outs – thank you• Bruce McMillan

• Nathan Sowatskey

• Dana Blair

• Colin McNamara

Page 24: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

Open Discussion• Introductions

• Meeting time + place, does it work?

• Presenter for the next session?

• Interest in the webex series?Time, frequency, topic? Any volunteers?

Page 25: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

Network Programming – Technologies, Tools, People, Processes

DevOpsIntegration

DeviceExtension

EEM

Bootstrap, Configure, Operate

NETCONFYANG

CiscoPython API

Open

Daylight

People, Tools, Processes

Continuous

Integration

DevOps

Page 26: 1 Nick Matthews nicmatth@cisco.com Network Programmability User’s Group Why Programmability? Group Details Cisco June 18 th, 2014 @nickpowpow NPUG.

Thank you.Thank you.