next generation network developer skills
DESCRIPTION
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.TRANSCRIPT
![Page 1: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/1.jpg)
S
Next Generation Network Developer Skills
Kyle MesteryPrincipal Engineer, Office of the Cloud CTO, Cisco
![Page 2: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/2.jpg)
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
![Page 3: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/3.jpg)
![Page 4: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/4.jpg)
The Frontier of Networking
Existing
CLIs
Closed Source
Vendor Lead
Classic Network Appliances
New
APIs
Open Source
Customer Lead
Network Function Virtualization (NFV)
![Page 5: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/5.jpg)
Components of the New Frontier
![Page 6: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/6.jpg)
All of This Leads Us To …
Software Defined Networking
DevOps Defined Networking
DevOps
![Page 7: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/7.jpg)
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
![Page 8: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/8.jpg)
Arming Yourself To Explore This New Frontier
Transformation of Network Engineer
1. Programming skills
2. Tools
3. Getting your hands dirty
![Page 9: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/9.jpg)
From Engineer to Developer
![Page 10: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/10.jpg)
S
Programming Skills
![Page 11: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/11.jpg)
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
![Page 12: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/12.jpg)
It’s All About the Apps
![Page 13: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/13.jpg)
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/
![Page 14: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/14.jpg)
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++
![Page 15: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/15.jpg)
What Languages To Learn
Focus on languages for the APIs you are using Java Python Maybe C and/or C++
![Page 16: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/16.jpg)
S
Tools of the Trade
![Page 17: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/17.jpg)
IRC (Internet Relay Chat)
Open Source projects all use IRC
Recommended channels in Open Source networking: #openstack-neutron #opendaylight #opendaylight-ovsdb #openvswitch
![Page 18: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/18.jpg)
Mailing Lists
Open Source projects all use mailing lists for communication Documents things in the
archives Allows searching for new
participants
![Page 19: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/19.jpg)
git
Source code management tool of choice github is used to share
code Most projects use github If github is not used, the
projects likely have their own git server
Get a github ID https://github.com/
![Page 20: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/20.jpg)
Wikis
All Open Source projects have Wikis
Provide an easy way to share information Warning: Information can
get stale Warning: Humans don’t like
correcting stale information
An easy way for new contributors to help is to update wikis!
![Page 21: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/21.jpg)
S
Getting your hands dirty
![Page 22: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/22.jpg)
Linux
The kernel of choice in the Open Source world KVM or Xen for virtualization OpenStack CloudStack
Prevalent in IaaS world Amazon AWS Rackspace
Popular Switch Operating System Cisco NX-OS Arista EOS Cumulus Linux
![Page 23: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/23.jpg)
Datacenter On Your Laptop
![Page 24: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/24.jpg)
Open vSwitch
Open vSwitch is an Open Source extensible virtual switch Licensed under the Apache 2.0
and GPL licenses
Supports a wide array of protocols Netflow sFlow SPAN RSPAN CLI LACP
![Page 25: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/25.jpg)
Open vSwitch Specifics
Security
Monitoring
QoS
Automated Control
Overlay network building block
Used by many virtualization and IaaS platforms
Kernel module is upstream
Many Linux platforms supported
![Page 26: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/26.jpg)
Sample Open vSwitch Commands
![Page 27: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/27.jpg)
OpenDaylight
OpenDaylight’s mission is to facilitate a community-led, industry-supported open
source platform, including code and architecture, to
accelerate adoption of Software-Defined Networking
and Network Functions Virtualization.
![Page 28: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/28.jpg)
OpenDaylight Project Framework
![Page 29: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/29.jpg)
OpenDaylight “Hydrogen” Release
![Page 30: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/30.jpg)
OpenDaylight GUI
![Page 31: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/31.jpg)
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.
![Page 32: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/32.jpg)
OpenStack Official Programs
Compute (Nova)
Object Storage (Swift)
Image Service (Glance)
Identity (Keystone)
Dashboard (Horizon)
Networking (Neutron)
Block Storage (Cinder)
Telemetry (Ceilometer)
Orchestration (Heat)
Database Service (Trove)
Bare Metal (Ironic)
Queue Service (Marconi)
Data processing (Savanna)
Common Libraries (Oslo)
Infrastructure
Documentation
Quality Assurance (QA)
Deployment (TripleO)
Devstack (DevStack)
Release cycle management
![Page 33: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/33.jpg)
OpenStack CLI: Boot a VM
![Page 34: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/34.jpg)
OpenStack CLI: List VMs
![Page 35: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/35.jpg)
OpenStack Horizon GUI
![Page 36: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/36.jpg)
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.
![Page 37: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/37.jpg)
devstack: local.conf example
![Page 38: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/38.jpg)
Puppet, Chef, Ansible, Salt
![Page 39: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/39.jpg)
Where Does This Lead Us?
![Page 40: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/40.jpg)
Linux (Fedora, Ubuntu, Red Hat, etc.)
Xen or KVM
OpenStack or CloudStack or Eucalyptus or oVirt
OpenDaylight
Automation
At the heart of all of this …
IaaS for the masses!
SDN for the masses!
DevOps at scale!
Applications! Yay to applications!
Building Blocks Are Here
![Page 41: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/41.jpg)
References
VirtualBox
OpenStack
OpenDaylight
Open vSwitch
Freenode
Github
stackforge
devstack
Puppet Labs
Chef
Ansible
Saltstack
![Page 42: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/42.jpg)
References Cont.
Brent Salisbury’s Blog: http://networkstatic.net/
Scott Lowe’s Blog: http://blog.scottlowe.org/
Kyle Mestery’s Blog: http://www.siliconloons.com/
![Page 43: Next Generation Network Developer Skills](https://reader033.vdocument.in/reader033/viewer/2022051014/54c78d5e4a7959f7208b459c/html5/thumbnails/43.jpg)