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
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”)
In the Age of the Smart Machine: The Future of Work and Power Shoshana Zuboff - “Everything that can be automated will be automated.”
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 to Orchestrated 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 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: Internal Mailer: 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 will be sent out about access : 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 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?
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 To send an (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?