Optimization and Continuous Profiler: A Look at Granulate

author-image

作者

In this episode of the Open at Intel podcast, host Katherine Druckman interviews Roman Yegorov, the director of solution engineering at Intel Granulate. They discuss Granulate's open source gProfiler, which helps developers understand how their code is running and how it can be optimized for better performance. Yegorov explains that Granulate's main focus is on performance improvement and cost optimization for applications, and their gProfiler tool is a part of that. Yegorov shares his background in technical training and how it has helped him in his current role. He emphasizes the importance of making technology fun and engaging for learners.

"If you're looking at the cost optimization journey, you first observe things. You understand what you are spending on and how many instances you have. You understand the problem." – Roman Yegorov

 

Katherine Druckman: Hey Roman, thank you for joining me in my little podcast fishbowl here at KubeCon. I feel like I have to clarify that we're like cousins here, right? Because you're over in the other Intel booth because you are now an Intel company. So why don't you tell us a little bit about who you are and what you do and what you're doing here at KubeCon?

Roman Yegorov: Sure thing. First of all, thanks for having me here, Katherine. My name is Roman. I'm a director of solution engineering at Granulate, which is now Intel Granulate. We were acquired by Intel almost three years ago, and now we're part of the Intel software strategy, which basically means that Intel wants to get monetized from software.

Katherine Druckman: Wow. Well, of course, don't we all?

Roman Yegorov: That's right.

Katherine Druckman: Who doesn't love making a little money?

Roman Yegorov: That's true. And part of the strategy is to make sure that Intel has all the buzzwords in terms of software, either AI, performance, ML, and whatever you’re just thinking about. Intel was acquiring startups from Israel, from the US, and from Europe to make sure that they have enough brands and enough …

Katherine Druckman: A portfolio, if you will.

Roman Yegorov: Portfolio. Yes, that's the word that I was looking for. Enough portfolio to monetize software as part of the strategy.

Katherine Druckman: So where do you fit in?

Granulate’s Open Source Story

Roman Yegorov: So Granulate fits in as a performance improvement company. As our bread and butter is to improve application performance, we're doing it cross-platform, both on regular VMs through Kubernetes and big data applications. Also, we started to dip in and dive into Databricks and other managed solutions for big data, and we're actually doing really, really well, though.

Katherine Druckman: Well, that's very cool. So tell me your open source story. We're here at KubeCon and you're here connecting with the open source cloud native community. Tell me about the community around your software. I do understand you have an open source software that's underlying a lot of your technology. Tell me about that a little bit.

Roman Yegorov: That's true. So part of what was used as our open source software application, it's called gProfiler. It's an open source profiler, which can help customers to understand how their code is running and how many resources it’s utilizing, and to give some insights on how good the code is performing in terms of performance, in terms of traces, in terms of how the code is compiled. They can get all those insights really easy and deploy it as part of their CI-CD pipe, and make sure that any of the containers or the application that the developer is writing is actually compiled in the best performance and having the best application.

It was started as an open source initiative inside Granulate, just had a team of five persons who were actually contributing to it, saving it on GitHub and making sure that it's publicly available. But it was not that much of a success. Not many companies use it as their preferred profiler application. Since other observability companies such as Datadog or One Relic have it as part of their agent. So companies are really afraid to do profiling because it's very hard to understand, but when you understand the core and when you understand how profiling can help your developers write better code, it sounds better to most of the companies.

Katherine Druckman: So tell me, okay, so you have an open source project out there on GitHub, but you say it's not gotten a lot of adoption yet. Do you hope to see it grow and get contributors from the outside world?

Roman Yegorov: We already see contributors from around the world.

Katherine Druckman: Oh, fantastic.

Roman Yegorov: Due to the fact that it is now part of the Intel open source community, we see more Sstars in GitHub. We see more PRs opened. Intel software was allocated to teams in Estonia, in Finland, to make sure that they maintain the code and are doing more enhancement to this performance application. And it's very, very nice and very, very good to see that people are starting-

Katherine Druckman: Oh, that is very exciting.

Roman Yegorov: ... to use it. And many big companies are adopting that and writing engineering blogs on Medium and other websites which are for blogs.

Building a Community

Katherine Druckman: Well, that's very exciting. When you create a thing, you create a new thing, it's because you identified a problem that you want to solve and you feel like you've solved the problem and you made this thing and you're very excited about it. But then you throw it out into the world and I think no matter how confident you are about how great your code is, it's always a bit of a process to see how the community reacts and see what the uptake is like and see if people are interested in using it, contributing to it, and building a community around it. I wondered what your plans are maybe for the next year. Let's think from today until the next KubeCon in Europe. What do you hope to happen with the project?

Roman Yegorov: More contributions of course, and more education regarding how profiling can help developers write a better code. Because eventually, when you write a better code, your code is utilizing better resources and then you use less resources, which is good for the environment, which is good for the CO₂ consumption that we're having in our days. And I don't know if you know, but in Europe in these days, they have an energy cap, which basically once they exceed the threshold, they need to pay additional money to the government for any fines for that.

A Dive into Granulate

Katherine Druckman: Right. Very significant. Yeah, that's a great point that I think maybe those of us in the US could use a reminder on. So let's say you build this community. I wonder what your participation is like. How do you interact with the rest of the cloud-native landscape?

Roman Yegorov: We contribute to the Kubernetes projects.

Katherine Druckman: Oh, that's fantastic. Important. Kubernetes really runs the world now, right? It's mission-critical for everybody, including you, right?

Roman Yegorov: You can say so. Granulate basically has three main products which are combined on one single agent. Our bread and butter is our unique AI technology, which helps companies to improve their application performance. When I'm talking about improving performance, I'm mainly talking about lower CPU utilization, high throughput, and lower latency, which usually will lead the customer to use less instances or less nodes. For example, you have a Kubernetes application, an HTTP server, which is running on 100 pods. Each pod is utilizing on average, 60% of CPU, while having a thousand requests. After Granulate, you'll be able to do the same requests, but with 80 pods. So I already saved the 20 pods.

Katherine Druckman: So does Granulate handle the observability part and the optimization part? Does it have an opinion about how to solve your problems once you've figured them out?

Roman Yegorov: So Granulate is coming at the end of the journey of cost optimization. If you're looking at the cost optimization journey, you first observe things. You understand what are you spending on, how many instances you have. You understand the problem. Then you’re going and trying to find all the fruits that are really easy to get.

Katherine Druckman: Sure. Low hanging.

Roman Yegorov: All low hanging fruits, yeah. You are using saving plans with your cloud provider or anything that can discount you without any third party solutions. Then the third part is you actually do right sizing. You trying to fit your application to the best instance type both in price and in performance. And then the last piece of the cost reduction journey is actually to utilize Granulate.

Katherine Druckman: Okay.

Roman Yegorov: Because you already have the best instances, you already have the best price from the cloud provider, but still you're paying two to three million annually and you want to have some savings. So then you introduce Granulate, and with our improved performance, the cost is going down by 15 to 20%.

How Roman Came to Join Granulate

Katherine Druckman: Okay, I understand. So tell me, how did you get into software in the first place?

Roman Yegorov: So it's very funny. I was not working on software. All my life I was working on networking and communication jobs and roles. I started from my first job, I worked for a company called ECI. Now it's Ribbon. I was a technical instructor.

Katherine Druckman: Really?

Roman Yegorov: I was flying around the world building networks for customers. I was flying around 60 countries for the three years that I worked there.

Katherine Druckman: It's tiring.

Roman Yegorov: Pretty much. From Philippines, to Thailand, through Kenya and Côte d'Ivoire, countries in the US, Mexico, you just name it.

Katherine Druckman: Wow, that sounds like fun. And so how did you make the change from networks to software?

Roman Yegorov: COVID started then everything started to be remote.

Katherine Druckman: Well, yes.

Roman Yegorov: And no flights anymore. Everyone understands that networking is good, but we need something else. So I went to Cato, Cato Networks, which is doing SASE, and I worked there for two and a half years. I did both enablement jobs and actually wrote some code and did some solution engineering work to make sure that we acquired more customers. Because I'm more of a person guy, I prefer to speak to people rather than to speak to the computer.

Katherine Druckman: Okay, that's fair.

Roman Yegorov: And yet, I'm a very technological person. I love technology. I admire new technologies. I love to solve problems for my customers. So that's how I came to Granulate.

Being a Technical Instructor Builds Foundational Skills

Katherine Druckman: I think being a technical instructor is such a really good foundational skill to have when you're entering the technology field. I actually know quite a few people who got their start as a trainer. They trained in various technologies and have gone on to do great things because you build an important skill set, which is just teaching people about technology. And that's not a simple task. You have to be able to break it down for people and have a deeper understanding of it than somebody just working with it, right? How did you approach that? I actually find that very interesting.

Roman Yegorov: It is very interesting. You first need to understand that the person that you are aiming to teach or to instruct probably does not have any clue regarding the technology, or about the hardware, or software that you will teach them. Yet they’re in the class, which means that after five days you need to do some work, some basic work, or some advanced work depending on the level of the customer that you're meeting. And I'm looking at it as an escape room. You're coming to the room and you have a lot of riddles, which is the persons, and you need to combine them together to solve the problem.

Katherine Druckman: Okay, sure. I've been in an escape room once.

Roman Yegorov: So basically you are building a connection between people and you are bonding with them to get them the best experience they can and teach them or get them the experience of learning that they will be able to do their job in the best way.

Katherine Druckman: So from your perspective as a trainer, you obviously for the most part are teaching something fairly similar over and over again, but you're faced with every so often having to dive into a new technology, a new feature, something that's completely new to you. It's building on your foundational knowledge, but it's a new thing. How do you approach diving in and learning that thing to a great enough extent that you can then teach it to others?

Roman Yegorov: So first of all, I'm meeting the person who'll read the future or define the future to understand what is it solving. Because when I understand the problem and understand how the future is helping solve any problem, then I can imagine myself as five years old and to explain to myself as a five year old.

Katherine Druckman: That's a good one.

Roman Yegorov: And then it's very easy for myself to build a perception that if a five year old can understand the problem and how the future is solving that, I can explain it to any person, from the most non-technical person to the most advanced technical person.

Making Learning Fun

Katherine Druckman: That makes sense to me. How do you, again, when you're giving, let's say you've traveled to somewhere across the world and you're giving a training on a product or whatever it is, how do you incorporate fun into the presentation in order to keep people engaged?

Roman Yegorov: That's the most important thing, right?

Katherine Druckman: Yeah.

Roman Yegorov: Because usually after the lunch you see the person are-

Katherine Druckman: Right? Yeah. You start to fade a little bit.

Roman Yegorov: ... you go and you start to be sleepy, and then be fadey. So I'm changing the voice and I'm coming closer to the audience. And regarding the engagement with the audience, I usually bring snacks from my home country, and I do some competition inside the training because part of the training is on-the-job training. So you have a lot of hands-on stuff. We're doing competition between that and this of the training to just make sure that they have some competition and then we have some prize. So I'm trying to get it a bit more fun, not regular study.

Katherine Druckman: I love it. I like to bring fun into things. I think that the work that we do in technology is fun. It’s fun in and of itself. It’s fun to solve the problems. It’s fun to unpack the problems and then build a solution. It’s like Legos when we were kids, and it’s like we’re all adults here playing Legos, and it’s fantastic. So I think it’s really important to remind people and keep them plugged in by keeping things very fun and light and make sure people enjoy their jobs, enjoy their work, enjoy solving all these complicated problems because again, the entire world runs on the technology that we’re all working on, to some degree.

We’re all touching it, and we can solve problems like environmental problems, as we mentioned, it's better for all of us. So keeping it fun, I think, is really important. Since we've set the stage for this training, I wondered if you could pretend I know nothing at all about gProfiler. I know we talked about it already a little bit, but how would you convince me to pull it down from GitHub and play with it and see what kind of problems it could solve for me? Where do I start? Assume I'm five.

Roman Yegorov: I assume that you're five and you're now building something really nice with your Legos.

Katherine Druckman: Yes.

Roman Yegorov: And you have different blocks of Legos, and usually as a kid you started with the biggest block, and then on the biggest block you are just pushing the smaller. And then smaller is smaller and smaller one. And then you have nice building of Legos. So imagine that with gProfiler, it'll find you the best stack or the best way to build the most nice building with less work from your end.

Katherine Druckman: Fewer wasted pieces?

Roman Yegorov: A few wasted pieces, for example.

Katherine Druckman: I don't know what that means actually in Lego terms, but I liked it.

Roman Yegorov: And you will be able to imagine those and to simulate those on the way. For example, you will start and you will combine a few blocks and then someone will say, "No, this block actually will feed you into the next." So in the same concept, the gProfiler is helping the customer to understand which application stack or which function is best fitted to your code and which are not, which are consuming more resources and which are not, which are affecting the threads and which are not. And those kinds of things can actually improve the performance of the code, which later on can be leveraged through usage of fewer instances, fewer resources. If you're talking about Kubernetes pods, it can help to get a better test for the developers and understand that small change of the code can get a high impact on the resources that are actually utilized or provisioned.

Katherine Druckman: Very cool. So then when you put the Granulate secret sauce, if you will, on top of all of that, then what can I do with my Legos?

Roman Yegorov: So imagine that with Granulate, your Legos will be stacked again, and then from regular building you will have Burj Khalifa.

Katherine Druckman: Okay. That's a good sales pitch. That's kind of funny. I know we're all resistant to sales pitches over here, but that's a good one. I like it.

Roman Yegorov: And of course, you will not need to do anything. You will just get your Lego stack inside some magic sauce and second after that or a few minutes after that, you'll have Burj Khalifa.

Katherine Druckman: So this has been really fun. Is there anything that you wish that I had asked you that you wanted to talk about that we didn't get to?

Last Words

Roman Yegorov: I just want to make sure that a person who hears this podcast understood that Granulate is a holistic solution. We can help with YAMLs, Kubernetes, or any big data solution. And as you mentioned, we are more than happy that anyone who hears this podcast and are open to try the gProfiler will try it to contribute to that, because we love to be part of the community and we think that the community of Intel software can grow and actually do really great things together.

Katherine Druckman: Awesome. Well, thank you so much. I'll let you get back to-

Roman Yegorov: My booth duty.

Katherine Druckman: Well, your booth duty. I was going to say to exploring KubeCon, but do the booth duty, too. Well, thank you so much.

Roman Yegorov: That's great. Thank you for having me, Katherine.

About the Author

Katherine Druckman, Open Source Evangelist, Intel

Katherine Druckman, an Intel open source evangelist, hosts the podcasts Open at Intel, Reality 2.0, and FLOSS Weekly. A security and privacy advocate, software engineer, and former digital director of Linux Journal, she’s a longtime champion of open source and open standards.