Presentation on theme: "Nick Matthews firstname.lastname@example.org Network Programmability User’s Group Why Programmability? Group Details NPUG Nick Matthews email@example.com."— Presentation transcript:
1 Nick Matthews firstname.lastname@example.org Network Programmability User’s Group Why Programmability? Group DetailsNPUGNick MatthewsCisco@nickpowpowJune 18th, 2014
2 GitHub ACI Northbound API PaaS Agile SDK OpenDaylight Azure IaaS ACI SDNPCEPNeutronQuantumSouthboundAWSRESTThere’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?VXLANNSXUbuntuBGP-LSMaaSNVGREJenkins
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 meWait – I’m not interested in spending time on things that may not exist in a yearInform – become familiar with the concepts and technologiesPrepare – start learning some of the core skillsets with the belief they’re valuableProof 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 itProduction – 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.
7 API’s Are Everywhere API API API API API API API API 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.APIAPI
8 We’re already programming CLI is a programming languageHowever, very inflexible#show run | i access-listvs#cat running-config.txt | grep access-listRouter#config t(config)#interface gig0/0(config-if)#access-group 101 inimport clicli.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 PowerShoshana Zuboff -
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 scale1 Server Admin : Serversto1 Server Admin : 5,000 – 10,000 ServersCLI + Bash scripts + Reactive configurationOrchestrated configuration and integration with developmentDevOps 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
13 You don’t need fluency – “Dondey Estas Las Bano” There are core skills that will be useful even if the technology winds change directionKnowing the terminology and context will allow you to make better decisions for you and your team or businessHaving knowledge of someone else’s problems and process opens up opportunities to solve mutual painAn 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 / ShellMost programmatic interfaces are enabled through Linux devices.Guides and how-to’s will often be Linux onlyMac OSX users are more empowered with a linux-like BSD shellCan have a steep learning curve – very distributedPythonMost popular scripting languageForgiving and easy to useLarge ecosystem of supportGit / GitHubModern software configuration management tool – keeping track of code and sharing itTerminology AwarenessTLA’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.
16 Let’s get through this together There are so many technologies and diverse skillsets that a group is the best fitCreate a learning environmentHearing from people using it will help cut through marketing hypeStories of migration – before/afterShow and Tell – technology how-to’s or small labsCollaboration on projects – coding together and matching needs with capabilitesTechnology Updates – what should we be aware ofOpen Source contribution is scaryAfraid to be mocked or that your contribution is dangerous to the codeLet’s create a playground so that we can start somewhereMinimize Vendor Marketecture and SalesStay away from sales and marketing pitchesMore real facts, actionable technology, gotcha’s, and networking
17 Format of the Group - Tentatively Once a month in person meetings, tentatively at the Cisco office3-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 levelsChat on the google group aliasFor help, question, thoughts, comments, announcements, flame wars
19 Technologies we can get our hands on now Arduino + Raspberry Pi projectsPython ShellsVIRLVirtual routing lab – running on OpenStack. GNS3 on steroidsJoin the mailing list – an will be sent out about access :OnePK All in One VMhttps://developer.cisco.com/site/networking/one/onepk/sdk-and-docs/all-in-one-vm/index.gspPython Shell on Nexus devicesAPI’s and Puppet on NexusEEM – Routers and SwitchesDevnet Sandboxes – still in developmentDevStack and Openstack VM buildsOpenDaylight + MininetPuppet All in One VMLinks and more details on these will be added to the NPUG cs.co/npug
20 Some Ideas We Can kickstart (advanced) Automated packet captureGet a packet capture in the network on demandMethods:CLI scripting with capture export featureOnePK extraction via C SDKExtend on Monitor ManagerOther ideas or requests?Ideas that we can work on together and post to GitHub or share
22 Next Steps CS.CO/NPUG Netemail@example.com Please check out the wiki, send feedback to the alias or directlyCS.CO/NPUGFeedback or additional articles – send it overRegister for the mailing listTo 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?