Next Generation Network Developer Skills

Download Next Generation Network Developer Skills

Post on 27-Jan-2015




2 download

Embed Size (px)


A talk I gave at the Cisco Partner DC-SEVT around what skills Network Engineers need as the world moves to SDN, DevOps, and CI/CD.


  • 1. Next Generation Network Developer Skills Kyle Mestery Principal Engineer, Office of the Cloud CTO, CiscoS

2. My background Principal Engineer, Office of the Cloud CTO Chief OpenStack ArchitectOpenStack Neutron Core Team Member Open vSwitch VXLAN contribution Modular Layer 2 (ML2) PluginOpenDaylight OVSDB Contributor OpenDaylight MechanismDriver for ML2Open vSwitch Contributor VXLAN Flow-based tunnelinglibvirt contributor Open vSwitch SupportLive migration support for OVS 3. The Frontier of Networking ExistingNewSCLIsSAPIsSClosed SourceSOpen SourceSVendor LeadSCustomer LeadSClassic Network AppliancesSNetwork Function Virtualization (NFV) 4. Components of the New Frontier 5. All of This Leads Us To Software Defined Networking DevOps DevOps Defined Networking 6. People Like SDN BecauseSDN promises to make networks: 1. Dynamically provisioned 2. Provide scalable capacity 3. Provide abstracted HW complexity4. Bandwidth on demand 7. Arming Yourself To Explore This New FrontierTransformation of Network Engineer 1. Programming skills 2. Tools 3. Getting your hands dirty 8. From Engineer to Developer 9. Programming SkillsS 10. 5 Reasons Why You Should Learn Basic Programming 1. Youre already programming, even if you dont know it 2. Everything has an API 3. Its all about the applications 4. Prototypes5. New skills, new opportunities 11. Its All About the Apps 12. Top 10 Languages on RankLanguage# of Repositories Created1JavaScript2641312Ruby2188123Java1576184PHP1143845Python950026C++783277C677068Objective-C363449C#3217010Shell28561[1] As of August, 2013: 13. What are Open Source Networking Projects Written In? ProjectPrimary Language Written InOpen vSwitchCOpenDaylightJavaFloodlightJavaRyuPythonOpenStackPythonCloudStackJavaOpenContrailC++ 14. What Languages To LearnS Focus on languages for the APIs you are using S Java S Python S Maybe C and/or C++ 15. Tools of the TradeS 16. IRC (Internet Relay Chat)SOpen Source projects all use IRCSRecommended channels in Open Source networking: S #openstack-neutron S #opendaylight S #opendaylight-ovsdb S #openvswitch 17. Mailing ListsSOpen Source projects all use mailing lists for communication S Documents things in thearchives S Allows searching for newparticipants 18. gitSSource code management tool of choice S github is used to share code S Most projects use github S If github is not used, theprojects likely have their own git server SGet a github ID S 19. WikisSAll Open Source projects have WikisSProvide an easy way to share information S Warning: Information can get stale S Warning: Humans dont like correcting stale informationSAn easy way for new contributors to help is to update wikis! 20. Getting your hands dirtyS 21. LinuxSThe kernel of choice in the Open Source world S KVM or Xen for virtualization S OpenStack S CloudStackSPrevalent in IaaS world S Amazon AWS S RackspaceSPopular Switch Operating System S Cisco NX-OS S Arista EOS S Cumulus Linux 22. Datacenter On Your Laptop 23. Open vSwitchSOpen vSwitch is an Open Source extensible virtual switch S Licensed under the Apache 2.0 and GPL licensesSSupports a wide array of protocols S Netflow S sFlow S SPAN S RSPAN S CLI S LACP 24. Open vSwitch SpecificsSSecuritySOverlay network building blockSMonitoringSUsed by many virtualization and IaaS platformsSQoS SKernel module is upstreamSMany Linux platforms supportedSAutomated Control 25. Sample Open vSwitch Commands 26. OpenDaylightOpenDaylights mission is to facilitate a community-led, industrysupported open source platform, including code and architecture, to accelerate adoption of Software-Defined Networking and Network Functions Virtualization. 27. OpenDaylight Project Framework 28. OpenDaylight Hydrogen Release 29. OpenDaylight GUI 30. OpenStackTo produce the ubiquitous open source cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable. 31. OpenStack Official ProgramsSCompute (Nova)SOrchestration (Heat)SQuality Assurance (QA)SObject Storage (Swift)SDatabase Service (Trove)SDeployment (TripleO)SImage Service (Glance)SBare Metal (Ironic)SDevstack (DevStack)SIdentity (Keystone)SQueue Service (Marconi)SRelease cycle managementSDashboard (Horizon)SNetworking (Neutron)S SBlock Storage (Cinder) Telemetry (Ceilometer)SData processing (Savanna)SCommon Libraries (Oslo)SInfrastructureSDocumentation 32. OpenStack CLI: Boot a VM 33. OpenStack CLI: List VMs 34. OpenStack Horizon GUI 35. devstackDevStacks mission is to provide and maintain tools used for the installation of the central OpenStack services from source (git repository master, or specific branches) suitable for development and operational testing. It also demonstrates and documents examples of configuring and running services as well as command line client usage. 36. devstack: local.conf example 37. Puppet, Chef, Ansible, Salt 38. Where Does This Lead Us? 39. Building Blocks Are HereApplications!Yay to applications!AutomationDevOps at scale!OpenDaylight OpenStack or CloudStack or Eucalyptus or oVirt Linux (Fedora, Ubuntu, Red Hat, etc.) Xen or KVMSDN for the masses! IaaS for the masses! At the heart of all of this 40. ReferencesS VirtualBoxS stackforgeS OpenStackS devstackS OpenDaylightS Puppet LabsS Open vSwitchS ChefS FreenodeS AnsibleS GithubS Saltstack 41. References Cont.S Brent Salisburys Blog: S Scott Lowes Blog: S Kyle Mesterys Blog: S


View more >