Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nick Matthews Network Programmability User’s Group Why Programmability? Group Details NPUG Nick Matthews

Similar presentations

Presentation on theme: "Nick Matthews Network Programmability User’s Group Why Programmability? Group Details NPUG Nick Matthews"— Presentation transcript:

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

2 GitHub ACI Northbound API PaaS Agile SDK OpenDaylight Azure IaaS ACI
SDN PCEP Neutron Quantum Southbound AWS REST There’s an absolute proliferation of new things that are starting to become the network, affect the network, or manage the network. There’s a transition starting, and most people are in the stage of either confusion or denial. There are some that have started to tackle the issues of doing nimble networking at scale, but they’re mostly limited to a very small percentage of users (MSDC, Software startups, large providers). What is everyone else supposed to do? VXLAN NSX Ubuntu BGP-LS MaaS NVGRE Jenkins

3 ? It’s confusing because of the sheer quantity of technology being released, the lack of clear communication and relevancy to our daily work, and the growing distance between hype and reality.

4 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! For those in the Ignore / Wait state – danger danger. This is a hazardous mentality to have in technology, where things change very quickly.

5 “When do we want it? … NOW!”
So what’s the driver for this new technology that’s coming? When was the last time you asked when an application or business group wanted their new software? The business

6 The Application and Business Users Have Other Choices
If the application and business users of your company are IT’s customers, then you’re no longer a monopoly. If the team trying to deploy the applications the business requires does it too slowly or with too many problems, there are now many other choices for sourcing that service. And cloud services is a more polite way to say ‘outsourcing’. How fast do the application groups want their new software deployed? It’s almost always immediately. What’s the average time for an IT shop today? Probably a month to a year. If they source the technology through the cloud or deploy to the cloud, those times may be a tenth to half as long.

Who’s got an API on their thermostat? Or on their Fitbit or other exercise device? What about on all of your infrastructure? CLI is becoming a second-class citizen for some of these services like AWS, Openstack, and APIC, and API’s are the new first-class citizen. API API

8 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 import cli cli.config.acl(“gig0/0”,101,”in”)

9 “Everything that can be automated will be automated.”
In the Age of the Smart Machine: The Future of Work and Power Shoshana Zuboff -

10 Why Automation? Various:

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 : Servers to 1 Server Admin : 5,000 – 10,000 Servers CLI + Bash scripts + Reactive configuration Orchestrated configuration and integration with development DevOps is a methodology and mindset of combining the efforts of the operations team with development. This is a means automating servers and operating systems in conjunction with development efforts, and programming all repeatable tasks. This results in higher consistency with development, less fires to fight, and a faster development cycle with less back-outs and stalls. For us networking folk, this is good and bad news. The good news is they have a large tool set and experience doing this, and there are a lot of shared components for us to work with. Unfortunately this also can accelerate the requirement of network programmability, and even potentially cause a false sense of confidence with a different domain. In order for Network Operations to truly integrate with DevOps it will take people from both sides to collaborate and share experience. This is where it’s critical to ‘know the language’. Network Operations

12 That Sounds Like A Lot Stuff.

13 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 An example I heard that I like – if you’re traveling to another country you’ll have a better time if you’re fluent. Duh. Most people won’t do that and will need to know the 5-10 most common phrases to get around and that suffices. Anything you learn over that does make your life easier and has benefits. The same with the road towards automation and software – being able to converse with other folks about what they do has a lot of benefits.

14 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? Learning these four things will likely not be a waste of your time – with some practice you’ll probably find ways to start using them in your environment. I think there should be more conversation on having some weekly seminars on learning these technologies hosted by some of the users in this group to augment monthly in person meetings.

15 Goal of NPUG

16 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

17 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

18 Group Resources Wiki: Mailer: Internal Mailer: Github:
Internal Mailer: Github:

19 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 will be sent out about access : OnePK All in One VM Python Shell on Nexus devices API’s and Puppet on Nexus EEM – Routers and Switches Devnet Sandboxes – still in development DevStack and Openstack VM builds OpenDaylight + Mininet Puppet All in One VM Links and more details on these will be added to the NPUG

20 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? Ideas that we can work on together and post to GitHub or share

21 VIRL Demo

22 Next Steps CS.CO/NPUG
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 To send an (internal)

23 Shout outs – thank you Bruce McMillan Nathan Sowatskey Dana Blair
Colin McNamara

24 Open Discussion Introductions Meeting time + place, does it work?
Presenter for the next session? Interest in the webex series? Time, frequency, topic? Any volunteers?

25 Network Programming – Technologies, Tools, People, Processes
Bootstrap, Configure, Operate NETCONF YANG Cisco Python API Open Daylight Device Extension EEM DevOps Integration People, Tools, Processes Continuous Integration DevOps


Download ppt "Nick Matthews Network Programmability User’s Group Why Programmability? Group Details NPUG Nick Matthews"

Similar presentations

Ads by Google