• Like
Next Generation Network Developer Skills
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Next Generation Network Developer Skills

  • 7,223 views
Published

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.

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.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Good info Kyle! .. your insight on how professionally popular is going to be GO ?
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
7,223
On SlideShare
0
From Embeds
0
Number of Embeds
8

Actions

Shares
Downloads
301
Comments
1
Likes
13

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Happy to speak on the changing landscapeOpen Source driving changeAccelerated innovationAutomation/DevOpsWhat Skills are required?From Network Engineer to Network Developer
  • ----- Meeting Notes (12/10/13 10:36) -----Where are things headed?By customer lead, I mean customers are much more involved. ONF Open Compute Customer involvement in upstream projects
  • ----- Meeting Notes (12/11/13 08:52) -----Lets not get into the SDN debate hereBusiness agilityRemoving complexity, not just moving complexity
  • 3thingsneeded for success in this new world order:Programming skillsTools of the tradeGetting your hands dirty
  • ----- Meeting Notes (12/10/13 16:29) -----1. Bash. Python. PowerShell. Javascript. Ruby.2. Switches. Routers. Your phone.3. Applications drive everything. Scale at this level.4. Get what you want vetted faster.5. Expand your skills to open up new oppurtunities
  • ----- Meeting Notes (12/10/13 16:29) -----Freenode is the most popularProject meetinsg held on IRCCommunity and collaboration begin hereWorking with people across the globe
  • ----- Meeting Notes (12/10/13 16:32) -----The most critical and long last communiation tools for Open Source projects.Everything is tracked and archived here.Can get overwhelmingFilter rules are your friend
  • ----- Meeting Notes (12/10/13 16:32) -----Think of this as a resume for your code.Pull requests are #FTW
  • Build using the “C” language
  • Virtualization on your laptopAllows you to run what you need as VMsVirtualBox, KVM, VMware Fusion, VMware Workstation----- Meeting Notes (12/10/13 16:32) -----Today's laptops can double as servers 8GB RAM SSD disks Multi-core CPUs
  • Broad lineup of committers:Vmware/Nicira, Cisco, Red Hat, Canonical, etc.
  • Security: VLAN isolation, GRE/VXLAN/LISP isolation, traffic filteringMonitoring: Netflow, sFlow, SPAN, RSPANQoS: traffic queuing and shapingAutomated Control: OpenFlow, OVSDBOverlay networks: GRE, VXLAN, LISPVirt platforms: XenServer, Xen Cloud Platform. Works with Xen, KVM, Proxmox VE, VirtualboxIaaS: OpenStack, openQRM, OpenNebula, oVirtLinux: Ubuntu, Debian, Fedora, RHEL. FreeBSD and NetBSD in developmentOpen vSwitch is built using C code
  • OpenDaylight is an open community that is building:An evolvable SDN platform capable of handling diverse use cases and approaches.Common abstractions of capabilities NorthBound people can program to.Intermediation of those capabilities to multiple SouthBound implementations.Programmable Network services.Network applications.Whatever the hell else we need to make it all work. 
  • Proposed Hydrogen Release Vehicles:Base EditionVirtualization EditionService Provider Edition
  • Written in PythonReleases:Austin (Q1 2010)Bexar (Q3 2010)Cactus (Q1 2011)Diablo (Q3 2011)Essex (Q1 2012)Folsom (Q3 2012)Grizzly (Q1 2013)Havana (Q3 2013)
  • Many many projectsGrowth has been phenomenal
  • Used by the CI/CD infraEach commit is run through Tempest testsTempest tests use devstack
  • Configuration managementDeployment at scaleDevOps
  • ----- Meeting Notes (12/10/13 16:44) -----Hopefully not into a giant mosh pit circle like these folks.
  • Infrastructure components to build with are hereApplications are what really mattersMaking application developers happy matters a ton!

Transcript

  • 1. Next Generation Network Developer Skills Kyle Mestery Principal Engineer, Office of the Cloud CTO, Cisco S
  • 2. My background • Principal Engineer, Office of the Cloud CTO • • Chief OpenStack Architect OpenStack Neutron Core Team Member • • • Open vSwitch VXLAN contribution Modular Layer 2 (ML2) Plugin OpenDaylight OVSDB Contributor • • OpenDaylight MechanismDriver for ML2 Open vSwitch Contributor • • • VXLAN Flow-based tunneling libvirt contributor • Open vSwitch Support • Live migration support for OVS
  • 3. The Frontier of Networking Existing New S CLIs S APIs S Closed Source S Open Source S Vendor Lead S Customer Lead S Classic Network Appliances S Network 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 Because SDN promises to make networks: 1. Dynamically provisioned 2. Provide scalable capacity 3. Provide abstracted HW complexity 4. Bandwidth on demand
  • 7. Arming Yourself To Explore This New Frontier Transformation of Network Engineer 1. Programming skills 2. Tools 3. Getting your hands dirty
  • 8. From Engineer to Developer
  • 9. Programming Skills S
  • 10. 5 Reasons Why You Should Learn Basic Programming 1. You’re already programming, even if you don’t know it 2. Everything has an API 3. It’s all about the applications 4. Prototypes 5. New skills, new opportunities
  • 11. It’s All About the Apps
  • 12. Top 10 Languages on github.com Rank Language # of Repositories Created 1 JavaScript 264131 2 Ruby 218812 3 Java 157618 4 PHP 114384 5 Python 95002 6 C++ 78327 7 C 67706 8 Objective-C 36344 9 C# 32170 10 Shell 28561 [1] As of August, 2013: http://adambard.com/blog/top-github-languages-for-2013-so-far/
  • 13. What are Open Source Networking Projects Written In? Project Primary Language Written In Open vSwitch C OpenDaylight Java Floodlight Java Ryu Python OpenStack Python CloudStack Java OpenContrail C++
  • 14. What Languages To Learn S Focus on languages for the APIs you are using S Java S Python S Maybe C and/or C++
  • 15. Tools of the Trade S
  • 16. IRC (Internet Relay Chat) S Open Source projects all use IRC S Recommended channels in Open Source networking: S #openstack-neutron S #opendaylight S #opendaylight-ovsdb S #openvswitch
  • 17. Mailing Lists S Open Source projects all use mailing lists for communication S Documents things in the archives S Allows searching for new participants
  • 18. git S Source code management tool of choice S github is used to share code S Most projects use github S If github is not used, the projects likely have their own git server S Get a github ID S https://github.com/
  • 19. Wikis S All Open Source projects have Wikis S Provide an easy way to share information S Warning: Information can get stale S Warning: Humans don’t like correcting stale information S An easy way for new contributors to help is to update wikis!
  • 20. Getting your hands dirty S
  • 21. Linux S The kernel of choice in the Open Source world S KVM or Xen for virtualization S OpenStack S CloudStack S Prevalent in IaaS world S Amazon AWS S Rackspace S Popular Switch Operating System S Cisco NX-OS S Arista EOS S Cumulus Linux
  • 22. Datacenter On Your Laptop
  • 23. Open vSwitch S Open vSwitch is an Open Source extensible virtual switch S Licensed under the Apache 2.0 and GPL licenses S Supports a wide array of protocols S Netflow S sFlow S SPAN S RSPAN S CLI S LACP
  • 24. Open vSwitch Specifics S Security S Overlay network building block S Monitoring S Used by many virtualization and IaaS platforms S QoS S Kernel module is upstream S Many Linux platforms supported S Automated Control
  • 25. Sample Open vSwitch Commands
  • 26. OpenDaylight OpenDaylight’s 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. OpenStack To 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 Programs S Compute (Nova) S Orchestration (Heat) S Quality Assurance (QA) S Object Storage (Swift) S Database Service (Trove) S Deployment (TripleO) S Image Service (Glance) S Bare Metal (Ironic) S Devstack (DevStack) S Identity (Keystone) S Queue Service (Marconi) S Release cycle management S Dashboard (Horizon) S Networking (Neutron) S S Block Storage (Cinder) Telemetry (Ceilometer) S Data processing (Savanna) S Common Libraries (Oslo) S Infrastructure S Documentation
  • 32. OpenStack CLI: Boot a VM
  • 33. OpenStack CLI: List VMs
  • 34. OpenStack Horizon GUI
  • 35. devstack DevStack’s 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 Here Applications! Yay to applications! Automation DevOps at scale! OpenDaylight OpenStack or CloudStack or Eucalyptus or oVirt Linux (Fedora, Ubuntu, Red Hat, etc.) Xen or KVM SDN for the masses! IaaS for the masses! At the heart of all of this …
  • 40. References S VirtualBox S stackforge S OpenStack S devstack S OpenDaylight S Puppet Labs S Open vSwitch S Chef S Freenode S Ansible S Github S Saltstack
  • 41. References Cont. S Brent Salisbury’s Blog: S http://networkstatic.net/ S Scott Lowe’s Blog: S http://blog.scottlowe.org/ S Kyle Mestery’s Blog: S http://www.siliconloons.com/