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.
4. 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)
6. All of This Leads Us To …
Software Defined
Networking
DevOps
DevOps Defined
Networking
7. 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
8. Arming Yourself To Explore This
New Frontier
Transformation of Network
Engineer
1. Programming skills
2. Tools
3. Getting your hands dirty
11. 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
13. 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/
14. 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++
15. What Languages To Learn
S Focus on languages for the APIs you are using
S Java
S Python
S Maybe C and/or C++
17. 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
18. Mailing Lists
S
Open Source projects all use
mailing lists for communication
S Documents things in the
archives
S Allows searching for new
participants
19. 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/
20. 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!
22. 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
24. 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
25. 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
27. 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.
31. 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.
32. 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
36. 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.
40. 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 …
41. 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
42. 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/
Notas do Editor
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.