developer

Dash Open 09: Panoptes - Open Source Global Scale Network Telemetry Ecosystem

Transcript:
Rosalie Bartlett: Hi Everyone and Welcome to the Dash Open Podcast. Dash Open is your source for interesting conversations about open source and other technologies from the open source program office at Verizon Media, home to many leading brands including Yahoo, AOL, Tumblr, Tech Crunch, and many more. My name is Rosalie and I'm on the open source team at Verizon Media. Today on the show, I'm so excited to chat with Varun Varma, Ian Holmes, and James Diss who are all on the team at Verizon Media. Varun Varma is a Senior Principal Software Development Engineer. Ian Holmes is a Software Development Engineer. James Diss is a Software Systems Engineer. Varun, Ian, and James are also the creators of Panoptes, an open source network telemetry ecosystem. Welcome to the podcast, Varun, Ian, and James. Ian Holmes: Hello, thanks for having us. Rosalie Bartlett: How are you guys doing today? Varun Varma: Doing great. James Diss: Pretty awesome. Thank you. Rosalie Bartlett: Awesome. Well, I'm so excited to chat with you. So, I'm curious, for folks who are listening in today and maybe are not yet familiar with Panoptes, could you maybe tell us a little bit more about it? Varun Varma: In simple terms, Panoptes is a network telemetry ecosystem. We have been looking to collect, store, analyze and visualize network telemetry. Rosalie Bartlett: What inspired you to build Panoptes? Varun Varma: When we started looking at this problem about three years ago, we realized that we had a cacophony of network telemetry collection systems in our own network. And we wanted to get to a state where we actually collect the data only once, but we transform and distribute it for different use cases. In addition, what tends to happen is that at our scale, everything changes. Simple problems don't remain simple any longer. And then when we really started at that time and we were looking, we didn't find anything either in open source or as a commercial solution, which actually satisfied our use cases at our scale. Rosalie Bartlett: Fantastic. And what is the tech stack that you're using? Ian Holmes: At the base layer we have Celery, Redis, ZooKeeper and Kafka. The framework itself, as well as any plugins to be contributed, are in Python. And we picked Python for developer friendliness. And so then we have external to that also our time-series databases, a configuration management database, and a configuration and deployment system. And just another note about the plugin architecture for this, the idea is that you can have any resources that you're wanting to monitor and then write your own plugins in order to actually flesh out information particular to those resources. Rosalie Bartlett: What are some of the problems that Panoptes is currently solving for you? Or what are some of the problems it could solve for other folks? James Diss: Well, we normalize all of the different devices and device types that we have to provide metrics and descriptions for that are consumed in the same way by a number of different people. So say for example, different vendors have different ways of expressing information. We normalize that out. So we show the similar types of information when we go to the visualization stage. And we also managed to replace a number of different tools that used to have a different view of different devices. So they provided a different context. We flatten that context out to provide the information in a very normalized way. Rosalie Bartlett: And Panoptes is actively used at Verizon Media? Varun Varma: Yes. Rosalie Bartlett: It's seeing some serious scale. Varun Varma: Yes. Rosalie Bartlett: So battle-tested? Varun Varma: Absolutely. Rosalie Bartlett: I'm wondering if there’s anything similar out there right now to Panoptes? Varun Varma: Network telemetry is not a new problem and there are some good options out there. One that comes to mind, for example, is Observium, which has a freemium model. It has a base layer, which is free and then you can pay for features or support. Now the key difference that we have with most of the other options out there is it's essentially around the design and the scale, so industrial design. A lot of solutions out there try to give you everything in a box and that's intentional so that you can just get something and get going with it really quickly. We chose intentionally to compartmentalize parts of the subsystems, so they could each be scaled independently and we could enhance them independently. And then again, like I mentioned, scale. Again, there's not a lot of systems out there which have seen the kind of scale that we operate at. Rosalie Bartlett: I'm noticing a theme here - scale, scale, scale. So you thought about scale from day one before you even started building. Varun Varma: Yes. Varun Varma: It was also the reason we had to actually filter out some of the options. Some actually very good feature-rich options out there because again, scale. Rosalie Bartlett: As you're thinking about who would be kind of the perfect user for Panoptes, what types of companies or job titles come to mind? Varun Varma: Since we've mentioned scale and Panoptes was built for scale, the ideal beneficiaries of Panoptes would be medium to large enterprises, service providers and other hyperscalers like us. It would typically be people with large complex networks which see a high rate of change. Rosalie Bartlett: Panoptes is open source. Why exactly did you decide to open source Panoptes? James Diss: Well, we've all used open source for a number of years in our careers. We believe the overall philosophy of breaking the walled gardens and being able to supply value back to the community that we've all benefited from. But we're also interested in averting the problem of the users of devices not being as expert in the devices as vendors themselves. So we're asking vendors themselves to contribute plugins for the framework. Rosalie Bartlett: And how is that going so far? What has the response been like? Are vendors enthusiastic? Varun Varma: Yes, we've seen a lot of engagement from vendors. I mean one thing to realize is that there are general-purpose telemetry collection systems out there, but there are very few specialized networked telemetry collection systems like ours. And so we've seen a lot of engagement from vendors. We've seen interest from startups wanting to use Panoptes as part of their product. Rosalie Bartlett: And Varun, I know that you have been in this space for a very long time. How many years? Varun Varma: We started planning for Panoptes end of 2015 so we're looking at about three and a half years now. Rosalie Bartlett: For folks who are listening in today and they say, well this sounds fantastic, I'd love to learn more. Where can they learn more about Panoptes and contribute? James Diss: Well, we're constantly building information around the ecosystem right now, but getpanoptes.io is a good jumping off point. And we're going to be supplying more information and putting up more documentation over time because it is a kind of complex system but it's something that we are interested in having people contribute to. Rosalie Bartlett: What is your advice for folks who are wanting to become more involved in open source since you're so actively involved? James Diss: Well, start off by looking at the code and looking at the documentation. After that, we welcome pull requests. We do have requirements that we vet all contributed code for obvious reasons and we do have a contributor license agreement we do ask people to sign, but we're very interested in gaining new perspectives and if people find something that needs changing in the actual base framework, we're only too happy to listen to the suggestions. Rosalie Bartlett: Final question for me. What is next for Panoptes? Ian Holmes: So, open sourcing the rest of what we have actually implemented. And so far we only have about 10 to 15% of what we've delivered actually open sourced and so we're going to be adding more plugins, more features beyond that. Varun Varma: The other thing is, in terms of future development, the next big push for Panoptes will be around streaming telemetry where this generated a lot of excitement in the networking industry and we want to build more analytics and visualization into Panoptes. Rosalie Bartlett: Well, I just want to say it was so great to chat with you today. Panoptes is very exciting and so I'm sure that folks will be hitting up your GitHub very soon. Rosalie Bartlett: If you enjoyed this episode and you want to learn more about our open source program at Verizon Media or other technologies that we have available, please visit us at developer.yahoo.com. You can also find us on Twitter at YDN.

More Episodes: