Heather Kirksey on Integrating Networking and Cloud Native

  • LF networking

    A lot of the interactions between the LF Networking and cloud native communities focus on how these technologies work together and on connecting people from different projects.

    As highlighted in the recent Open Source Jobs Report, cloud and networking skills are in high demand. And, if you want to hear about the latest networking developments, there is no one better to talk with than Heather Kirksey, VP, Community and Ecosystem Development, Networking at The Linux Foundation. Kirksey was the Director of OPNFV before the recent consolidation of several networking-related projects under the new LF Networking umbrella, and I spoke with her to learn more about LF Networking (LFN) and how the initiative is working closely with cloud native technologies.

    Kirksey explained the reasoning behind the move and expansion of her role. “At OPNFV, we were focused on integration and end-to-end testing across the LFN projects. We had interaction with all of those communities. At the same time, we were separate legal entities, and things like that created more barriers to collaboration. Now, it’s easy to look at them more strategically as a portfolio to facilitate member engagement and deliver solutions to service providers.”

    Bringing these six networking projects together lowers barriers, reduces friction, and enables the communities to interact with each other.

    LF networkingNetworking Meets Cloud Native

    Kirksey said that at the recent KubeCon + CloudNativeCon Europe 2018, there was a lot of discussion around what cloud native network function virtualization (NFV) looks like with Kubernetes and other technologies. She said that the NFV community has already begun integration around cloud native technologies including Kubernetes, Prometheus, Fluentd, and FD.io. And, LF Networking has been working on Container Network Interface (CNI) plugins.

    A lot of these interactions between the LF Networking and Kubernetes communities focus on education — how these technologies work together — and connecting with people from different projects including Istio, CNI networking SIG, and others.

    “We are just trying to figure out the answers that arise as these projects work together,” she said. In her new role, Kirksey looks at things from an outwardly facing perspective. “We are looking at communities that are outside LF Networking — communities like CNCF — and figuring out what our engagement model should be. We are trying to identify projects that are of interest to us. We are trying to set up some programs that bring value to the ecosystem; a good example would be a compliance program.”

    Community is also part of Kirksey’s new role, and she is working to find out what’s needed to help the community create opportunities for interaction and involvement. “We have set up end-user advisory groups, member engagement programs, compliance and certification programs,” she said. The goal is to serve the entire ecosystem around these projects.


    Looking at some of the cloud native paradigms of how networking works, it’s simpler for an application developer than it used it be. Initially, these developers took things like interfaces, ports, and subnets and put ‘v’ in front of them and created virtual interfaces, virtual ports, and virtual subnets. But these constructs are not tied to physical ideas anymore, so the approach is different.

    “There is a lot of stuff at layer two and layer three that is still complicated, but you don’t want Kubernetes to have to worry about that; you certainly don’t want a Kubernetes-based application to have to worry about that,” Kirksey said, “ We are trying to figure out how we deal with some of the complexities of networking, without bringing the physical baggage with it.”

    It’s not just technical challenges that these communities need to solve, there are also people challenges. So many new technologies are emerging that it’s becoming increasingly difficult to find experienced developers, and networking is no exception. According to Kirksey, “People who understand and can do deep network level programming are fairly rare.” And, she said, “The number of people who can program for or contribute to VPP or DPDK is relatively small. They now need to also extend their knowledge to these new technologies.”

    New Ideas

    Additionally, you can’t just create training programs and train people. “The number of people contributing to these projects is relatively small as it’s new and is still being defined,” she said, “That’s one reality of living at the bleeding edge.”

    Nonetheless, LF Networking did start some programs to start building the foundation for training as these technologies stabilize and mature. “We recently launched ONAP and OPNFV training. But other technologies need to reach a certain level of maturity befores we can create courses for them,” she said. A new “Introduction to Open Source Networking Technologies” training course that covers multiple projects is also now available.

    Understanding what’s going on is the first step in solving a problem. That’s where events like KubeCon + CloudNativeCon become critical as they bring together people from different communities to learn and solve problems. “I learned a lot and started to wrap my head around some of these concepts a little bit more,” Kirksey said.

    A lot of cross-pollination happens at events, too. When you meet people with bright ideas, you can adopt those good ideas and good marketing practices and apply them to your own work.

    “To be quite blunt, when you see good ideas, you try to harvest them for yourself because, you know, that’s the point of open source,” Kirksey said.

    The post Heather Kirksey on Integrating Networking and Cloud Native appeared first on The Linux Foundation.


Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
re-attach a detached session tmux attach OR
tmux attach-session
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]