Collaborating across continents via the NANOG 80 Virtual Hackathon
A conversation with Barrie Jones Cook and Toni Yannick Kalombo
by Brandi Herrera
- January 22, 2021
NANOG Hackathons are usually held in person, but 2020 demanded they shift to an entirely virtual format. While nothing can totally replace the experience of collaborating in a physical space, one major upside of a virtual hackathon is the opportunity it opens up for many more people to participate — no matter where they live and work.
We recently spoke with Barrie Jones Cook of San Diego, and Toni Yannick Kalombo of Johannesburg, who not only met via the NANOG 80 Virtual Hackathon, but also formed a team there, and continued to collaborate on their project once the hackathon wrapped. With diverse backgrounds in network and software engineering, and varying levels of hackathon experience, the two were able to combine their particular skills and experience to create a virtual-lab network, with the hopes of establishing a working group so the collaboration can continue well into the future.
Can each of you tell us a bit more about your respective career paths, and how you got to where you are now?
I started out with a degree in Industrial Engineering with an emphasis on data networking in 1994, and was recruited to do traffic engineering for WilTel, a long-distance telephone company that was later acquired by WorldCom. Over the years, I got involved as a network engineer, and as a professional-services provider with Frame Relay and ATM, and then IP.
While a network engineer at Digital Island in 2000, I supported EIGRP and BGP for the content delivery network, and attended my first NANOG. After various acquisitions and job changes, my family situation changed and I needed more flexibility, so I started working as an independent consultant in 2005. This was mainly for service providers who needed help with architecture, address allocations, BGP transit or peering, or audits of their routing configurations.
I started my undergraduate degree in Electronic Engineering in 2001 at the University of Pretoria in South Africa. For postgraduate studies, I qualified with honors in Computer Engineering. My early career was spent developing software systems for the defence industry, and in subsequent years I developed software platforms for financial, automotive, and mining applications.
I’ve spent the following 8 years working in the telecommunications space, namely at MTN in South Africa, and at SEACOM. And a year and half ago, I shifted my focus to serving full time as the Founder and Managing Director of DevBoks, a software-defined networking and automation company.
“I was hopeful I might be able to learn something about SDN, or how to apply machine learning concepts to networking.”
Such wide-ranging experiences, and impressive paths. Given your diversity of tech experience and geographic location, what prompted the two of you to form a team at the NANOG 80 Virtual Hackathon?
I knew for a long time that I was going to attend NANOG 80, even before it went virtual. But I went back and forth on whether to attend the hackathon, given time constraints and my relatively low level of programming experience. In the past, I’d done some ad-hoc coding and SQL querying to achieve various network-engineering goals, but never developed an end-to-end product. I finally decided to participate, though, after reading Michael Costello’s post about previous hackathons, and how all levels of expertise were welcome. I was hopeful I might be able to learn something about SDN, or how to apply machine learning concepts to networking.
During the Zoom call at the beginning of the Hackathon, I explained my situation and offered my networking expertise. Toni mentioned his expertise in SDN, and his idea to stream utilization telemetry from a point-to-point link, so I asked if he wanted a hand, and we moved to a breakout room to begin working.
I love hearing that you decided to participate in the hackathon after reading Michael’s post. And of course, the kismet of meeting each other via Zoom. Toni, what initially brought you to the event?
I participate in a few NOGs around different countries in Africa, and have attended a few meetings in Europe. NANOG meetings always clashed with other engagements that I had in the past, however. Because NANOG 80 was a virtual event, it was convenient for me to attend. I’d been working on a few SDN applications, and wanted a fresh perspective on graphing telemetry from network appliances. I pitched my idea as a Hackathon project, and Barrie happened to have a similar interest, so we joined up and have been working together ever since.
“The aim of our project was to create a virtual network, generate traffic to it using iperf, and collect the metrics for ingestion into JSON or prometheus.”
So cool that the two of you have continued to work together since then. I want to talk more about that in a few minutes, but first: can you briefly tell us about your team’s project?
I’ve been working on a Rest API-based SDN platform that unifies various aspects of the network from the customer’s perspective. Because telemetry is an important element of how metrics from the network are presented to both customers and operators, I wanted to explore an alternative from previous implementations I’d developed.
After presenting the project idea at the Hackathon, it turned out that Michael Costello’s team at Netflix had been working on GNMI gateway, which exports telemetry from a GNMI target to a format that can be interpreted by a times-series collector. The aim of our project was to create a virtual network, generate traffic to it using iperf, and collect the metrics for ingestion into JSON or prometheus.
Exactly. And in the process of learning from Toni’s extensive experience with automation and SDN, I’ve provided the newcomer’s perspective. This allowed us to create and document a turnkey virtual-lab network for others to try out GNMI gateway, without having to invest in a physical lab, which is cost-prohibitive and limits accessibility to larger network providers.
Your respective backgrounds seem like a perfect match for the particular demands of this project. What’s one thing each of you learned from the other, as a result of teaming up?
Oh boy, I’ve learned so many things from Toni on this project! I don’t know how many times I’ve said this since we started working together, but it’s been like drinking from a fire hose. I had no experience with virtualization, containerization, or SDN, and very limited experience with automation and version control. If I had to pick just one thing that’s stood out to me, though, I suppose it’d be the use of Ansible. But that’s only a small part of what we’ve been working on so far.
Barrie is so knowledgeable about network engineering, it’s been a breath of fresh air working with her. I got to focus on the Software and Devops aspect, and she implemented the network. She has inspired me with so many ideas about how to architect virtual networks. I also learned quite a lot about the technologies that were prevalent when she began her career, and also about her experience in the technology profession from a female perspective.
I’ve also learned so much from Toni on the non-technical side, including his unique perspective on working as an engineer in post-apartheid South Africa. This collaboration has been such a great experience all around!
“NOG meetings, or any tech event for that matter, have always been an opportunity to meet new people, network, contribute to the global tech community, and create partnerships.”
So great to hear! I want to get back to something we touched on before: you’ve been working together on a weekly basis since the hackathon wrapped last October. What made you decide to continue the conversation you first started at NANOG 80?
NOG meetings, or any tech event for that matter, have always been an opportunity to meet new people, network, contribute to the global tech community, and create partnerships. Barrie and I have a shared interest in community engagement. Meeting at the NANOG 80 Hackathon gave us the opportunity to get to know each other over a shared objective. Barrie is an insightful and knowledgeable person, and I appreciate having had the opportunity to learn from her, and to forge a professional connection.
Not knowing what to expect from the hackathon, I think I bit off a bit more than I could chew in one weekend. We still had a lot to accomplish when it ended, and I was just beginning to parse the sheer magnitude of the technology Toni introduced me to, in order to configure a working virtual-lab network. I was elated that he agreed to continue our collaboration beyond the hackathon, via Zoom and Slack, so we could further learn from one another and develop our ideas.
Now that you’ve further developed the project, how do you hope to apply what you’ve created to another hackathon, or even on-the-job problem solving?
I see us possibly creating a working group, or a project that can have the lifespan of many more future hackathons. We’ve also considered commercial applications within the context of our project. Part of my mission in the founding of DevBoks, was to create a bridge between Software and Network engineering, and to empower network engineers to adopt an automation-first approach in their operations. So it was good to see the transfer of my ideas to Barrie, and for her to embrace the Software-centric and DevOps concepts within the context of network architecture.
I can see a ton of potential with configuration management and other types of automation, since human error is so hard to avoid with CLI commands on multiple routers. By the next hackathon, my hope is that we can make the process of creating a virtual lab environment digestible to others new to the concept, so they can more easily learn and apply the latest network-management tools. And I love Toni’s idea of the working group, so that we can continue contributing well into the future!
“Just go for it, even if you think you don’t know enough about programming or networking.”
Any advice you’d give someone looking to attend a NANOG Hackathon for the first time?
My first thought is to just go for it, even if you think you don’t know enough about programming or networking. Speak up about what you’d like to contribute or learn, and ask for help if you need it. There are excellent mentors available to assist or suggest projects at any level, and it’s a very supportive, judgment-free environment.
Agreed with Barrie. It can seem daunting, as there are many talented and established professionals who attend NANOG Hackathons. But the environment is very welcoming, with a diversity of projects to pick from and the freedom to propose one’s own as well. The mentors were always available, and made sure that everyone participating was comfortable. As a first timer, my approach was to understand the proposed projects, and to pick a topic that I could best contribute to whilst listening to and learning from others.
Photos courtesy of Barrie Jones Cook, Toni Yannick Kalombo, and Lori Larocque.
The NANOG 81 Virtual Hackathon takes place Sat + Sun, February 6-7. As always, registration is free + open to all. We’d love to see you there!
Brandi Katherine Herrera is NANOG's Senior Content Strategist.