This week, I talk with Tom Kerkhove about open source. We talk about setting priorities and managing time, sponsorship, company adoption and more.
[00:00:02]
Barry Luijbregts:
This week on developer weekly.
[00:00:05] Tom Kerkhove:
I'm really trying to close the gaps between the customerss that I have and Azure itself.
[00:00:16] Barry Luijbregts:
Hey, friends. Are you stressed burned out, or on your way to burn out, or do you just want to become healthier? My new course will teach you what stress is and how to recognize a burnout and also how to prevent it and recover from it by working on the pillars health, like sleep, food, exercise, clean living, and active relaxation, and also by changing your life your work, relationships, and your environment. Even if you are not burnt out or stressed, you can use these tactics to become healthier and live a longer and happier life. Check the course out at azureberry.com/burnout.
And if you don't have access to Pluralsight, reach out to me on Twitter or email, and I'll send you a 30 day free trial code that you can use for this course and all other pluralsight courses. Again, check it out at asherberry.com/burnout. Welcome to another episode of developer weekly. This week, I'm talking with Tom kerikove about open source and other stuff. Tom works for coded as an Azure architect is a member of the Azerk Crew and has been an Microsoft MVP and Azure advisor since 2014, he turns coffee into scalable and secure cloud systems. That's brilliant.
[00:01:40] Tom Kerkhove:
How are you doing Tom? I'm doing very good. Thank you very much.
[00:01:44] Barry Luijbregts:
Yeah. Thanks for being on the show. I'm, I'm alright. Here in the Netherlands, we are, slowly ramping down the COVID restrictions, which is very welcome. Back to normal life. Yeah. It seems that way. Well, I don't know if we were ever gonna be actually back to a normal life.
[00:02:04] Tom Kerkhove:
I doubt it.
[00:02:05] Barry Luijbregts:
Yeah. Well, at least closer to it, which, at least means that, like, my kids can go to school and to, to take care which is very important. You know? Yeah. And you can see actual humans again. Yeah. And maybe at some point, we can do, I don't know, events and,
[00:02:26] Tom Kerkhove:
you know Oh, yes, please.
[00:02:28] Barry Luijbregts:
Conferences that we used to do. That'll be fun.
[00:02:32] Tom Kerkhove:
No more virtual conferences, please.
[00:02:35] Barry Luijbregts:
Are you, are you conference tired, virtual conference tired?
[00:02:39] Tom Kerkhove:
I've been conference type after the first conference that was virtual. No. I think it's a it's a good alternative. I I hope the key takeaway is there is you can join physically, but everything is also accessible to those who are not physically there. For example, built this week, Great. Everybody can join. So, hopefully, next year, it will be physical, but also still online.
[00:03:04] Barry Luijbregts:
Yeah. Yeah. It probably, you know, things like those probably remain hybrid where it's, you know, they have a lot more reach when they do like Techorama was, last week, I think, or the week before then. Also then has a lot more reach, and it's just a very different experience. So So, well, before the show, you were saying you were very busy. When I look online and all the things that you do, you you have a day job. You are extremely active on GitHub. Is if you if I look at your GitHub contribution, graph. The thing just looks crazy green. That's that's ridiculous.
[00:03:46] Tom Kerkhove:
So And It is a it is a podcast, but I actually got a 3 d printed version of last year by GitHub. That's a project, skyline. So everybody can generate a a 3 d version, and you can actually print it yourself if you want. It's actually pretty nice to have. Wow. That's pretty cool. So you can always look at your contributions in real life. Yeah. You can see in in 2020 where my son was born. So I actually hear you see a small dip, and then it started slowly picking back up.
[00:04:20] Barry Luijbregts:
Yeah. You were you were allowed to do more work. Your your wife allowed it. So, you know, all that work. And on on top of that, you also do community work for user group. And, I don't know if you still do that, but you help out also conferences as well. How do you how do you do that? How do you do all of that stuff? How do you combine all of that, including your family and, a newborn?
[00:04:46] Tom Kerkhove:
That's a good question. I get it a lot of times, but it's mainly about prioritizing what's most important. And making sure that you're not a blocking factor, but sometimes also that means that, for example, you mentioned the Azure user group, I'm I'm still helping, but I'm not helping as actively as I was in the past, which is is is not always nice, but It's about prioritization and and making sure you also, can say no. I still suck at that. But I was starting to get there. There's just so many interesting things in in our industry. It's going so fast. And, yeah, I just look where I needed the most. For example, with CUDA, I I do that on a on a weekly basis, sometimes daily basis. But with with promitur and and Kubernetes, vent grid, bridge, those are my own personal projects.
They are free to use, but I don't give support on them. So if you want to have a fix, either open a bug and and you wait or or you contribute it, but in the beginning, and and it's the typical thing. As soon as there's a bug, you want to fix it. And that's not that's not scalable. Certainly, if it's a free thing, So, I just use a best effort approach. And and if that is too slow, well, sorry, but Yeah. It's free. I mean, you can't expect anything. So companies can sponsor me on a monthly basis, and then you get some dedicated hours. But but if it's free, then, yeah, there there can be no expectations in my opinion.
So that allows me to choose when I want to work on it. Yeah, I I recently did the release on Prometor, for example, and now I said I will not be working on Prometor. I'll be writing now again because it's been a while. And, yeah, that's how I do it. Just create the time for yourself and choose what you want to do. Right? Because if you otherwise, you'll become a slave of your own of your own projects. And then, yeah, you'll get burned out eventually, and and it's not worth it. Another luxury of a downside is that my wife does nights, and we can shift So that means that when my son is sleeping, she's out for work. I have time on my hands, and that's basically when I do all of these these things.
So it is really sometimes a job next to a job when you're constantly working, but is it really working if you're having a lot of fun? So Yeah. It's getting a whole bit for you. Yeah. Yeah. Yeah. It is. It is. If I'm not working for my day job, I'm working on open source, basically.
[00:07:44] Barry Luijbregts:
Yeah. That's a nice hobby to have. And then you say, you know, prioritization and be being able to say no scaling down things that, aren't important at that time. That's the most important thing to Yep.
[00:07:56] Tom Kerkhove:
Make time for for other stuff. Yeah. And also in the the octovers of of GitHub plus, year. So they do, a yearly survey of of people in open source, and they actually have the the one for 2021 open now. And and there it they basically said that now with COVID, a lot of a lot more people are starting to do open source. I don't know the exact number from the top of my head, but I think it was around 10, 20%, maybe. Wow. But that also makes me wonder and also looking at myself I now have more time because I'm always at home. But how will open source look like when we go back to normal? Imagine there's no COVID we can go to festivals, restaurants, see our friends.
I think we'll have a the opposite effect. So we will lose the the new maintain this maybe and also active maintain this might say, hey. I've been doing all of this, but why am I not enjoying my spare time more? So I am really interested to see you how how that will play out.
[00:09:04] Barry Luijbregts:
Yeah. That's good. Most of it. How do you think that's gonna play out for yourself? Are you gonna do less open source then?
[00:09:11] Tom Kerkhove:
That's a good question. I think I will keep on doing, open source that I'm doing now, but instead, I might be doing less of speaking at conferences. Right. Because that's always been, a tricky one for me. I love to share it. I love to share about what I do. And what I've learned. But also I really hate being on stage and and talking presenting to people. So I'm always dead nervous I always ask myself, why are you doing this to yourself? So maybe I I I just found another way of helping people by giving them the tools or or just go back to writing. Yeah. So I'm set I would probably say no more to speaking, so I have more time for other things. Yeah. That's very clever. I did, the same thing,
[00:10:06] Barry Luijbregts:
like you, I also don't really like the preparation for talking neither the, you know, if it's something in person, sometimes it's fun to travel to a place, but it also takes a lot of time. Easily takes a week. For just 1 or 2 talks or something. And then, you know, when you get off stage, just a moment after you're like, oh, that was so cool. I wanna do way more of this. Yeah. But then a couple of days later, you're like, why why am why am I doing this? Yeah. So I I once spoke at NDC Sydney, I had one talk. Wow. I I traveled, man,
[00:10:44] Tom Kerkhove:
32 hours or so just for that one talk. And because I didn't have much vacation, I just did the conference and went back. So I was there for 3 or 4 days. And then afterwards, I was like, Why did I do this? This is crazy. Yeah. So I I'll never do that again.
[00:11:02] Barry Luijbregts:
Yeah. That sounds very luxurious, but you didn't even to Australia.
[00:11:06] Tom Kerkhove:
Yeah. I I went to the zoo on on the the day after I arrived, for example, but I have not seen anything else. Which is pretty good. Yeah. It's the typical thing. People think speakers are these kind of rock stars that see a lot of cities, but only thing you see is the conference and the hotel for the rest. That's it. Yeah. And just, experience jet lag. That's it.
[00:11:34] Barry Luijbregts:
So, your open source is, is pretty cool, and you do a lot of stuff centered around Azure. Or things that that can run-in Azure, really. And why is that? Why why are these projects there? Are they filling gaps that, features or or services in Azure aren't fulfilling. Why did you decide to make these things? For instance, Kayla and Promitor.
[00:11:59] Tom Kerkhove:
Yeah. So you, you nailed it there. So, I'm not trying to build a business or a product that I can sell. That's also why everything is is free, to use. I'm really trying to close the gaps between the customers that I have and Azure itself. And, Bromator and Kubernetes event grid bridge are the perfect examples. Promitter started because I had a customer that, wanted to migrate from Azure cloud services to Kubernetes. That's fairly okay. But when you start exploring the Kubernetes space, and this is 5 years ago, we wanted to have the same kind of aesthetic characteristics and the same capabilities. So, for example, with Azure cloud services, if you want to auto scale, you could use Azure monitor auto scale. Just said, when metric a hits this number, start scaling out. If the opposite way, start scaling, and I should monitor is one of the the best auto scalars, on what it leverages, in my opinion. That's another topic. I won't go there. But when you go to Kubernetes, man, at that point in time, it was such a pain. Because the only way you could scale was based on the CPU and the memory of your container.
But if you're processing an Azure service that makes no sense because you want to scale on the number of messages. So Kubernetes then had the capability of bringing metrics from outside the cluster, but you had to use a, what's called a metric adapter, and that supported GCP. And Prometheus. So I said to my customer, hey. We can do it. The only way to do it is based basically bring the Azure monitor metrics in Prometheus, run Prometheus, scale based on Prometheus, etcetera. So then they decided that's too much work. We will go with manual scaling for now. We'll just monitor it and and do it do it, manually.
And then I said, hey. This this sounds like a fun, challenge. Let let's just try and see if I can get it to work. I got it to work, and then, people started using it. And I do also was also a good exercise for me to learn more about Kubernetes and all of those things. Yeah, and then Microsoft wanted to do a hackathon with me on it because he had customers, etcetera, etcetera. And now I have an open source project, that people are using. So it's actually the typical accidental open source. And it's the same with Kubernetes event grid bridge. Kubernetes has events in the cluster.
But we also run workloads out side of Kubernetes, and I wanted to use event grid events. So I wrote something that brings those Kubernetes events to Azure. And then Keda, yeah, basically Keda fixes what that customer needed. So I got involved and and started co maintaining it. Yeah. The accidental open source project to fix a gap, basically. Yeah. To fix a gap. And then you say, a gap for your customers. And are those end customers for your day job? Yes. So they are my, day job customer but I wrote it in my spare time because for them, it was not interesting. So I I couldn't do it on their time. And also then you have the whole legal issues of, hey, you're doing it on our time, then it's licensed to us, etcetera.
But I saw it for multiple customers, so I figured Let's just make it available to everybody and see. And also on the other side, you could show the value to Microsoft that this is an effective gap. And they only need to invest in it. For example, promiturn does what was the last number? I think 15,000,000 API operations a day. Wow. So and that was in January. This year, and I have a lot more, downloads now. So I'd I don't know what the number is. I do have access to it, but
[00:16:15] Barry Luijbregts:
people are using it. That's that's the bottom line. Oh, and and how much time did it take you to set that up initially?
[00:16:22] Tom Kerkhove:
Oh, the initial version or until today?
[00:16:26] Barry Luijbregts:
Let's say initial version.
[00:16:29] Tom Kerkhove:
A couple of on sites visits in Switzerland and lonely evenings in the hotel. I don't know how how many hours, but, yeah, Let's say a week or 2 weeks to get the the the POC up and running before because you need to figure out how does Prometheus work. How do I Is there a library for it in dotnet, or should I write my own? How do I use the Azure API so the typical the typical things? Yep.
[00:16:55] Barry Luijbregts:
Right. Yeah. Okay. What what I'm hitting at is, if this would have been a way bigger investment like months or something to set it up or get it working in the first place, then, if that was, for me personally, then I would have thought, well, you know, that's probably not worth it because this might be a gap that Microsoft will invest in eventually anyways.
[00:17:17] Tom Kerkhove:
Oh, dear. They'll fix the gap, anyway. I I know that. But for me, like I said, it started as a way for me to better understand Kubernetes, how to get it up and running, and also just to work with the people and and and see how the community grows. And that that's why I keep keep doing it. And and then the product, of course, evolves. So I learned about Azure research graph and and the power of it because I was using parameter, because in the people wanted to have research discovery to scrape the metrics, And I was exploring, okay. I could use an API and list all the resources and such, but now I know that I should research graph allows me to write a single query, and it will give me all the resources that apply. So it's also a way for me to explore, Azure self.
Yeah. But I'm working with Azure Monitor team and and all the services that I used to to bring all the learnings back back there and improve Azure as a whole.
[00:18:27] Barry Luijbregts:
Yeah. Yeah. Exactly. As you are an Azure MVP and you are in contact with all those, development teams.
[00:18:33] Tom Kerkhove:
Actually, Kubernetes event grid bridge, I first asked them, will you do it? They said, yeah. Yeah. Eventually. Uh-uh. And then I said, Okay. But I really need this. But I I get that they have their own priorities. Yeah. So, then I actually talked to Brandon Burns. He said, let's let's set up a a quick example and see what happens. And then I just continued then, and I'm now making it easier to use. So maybe later on, they'll adopt it or or they'll write a more efficient way of doing it, probably. But it works. That's also why I don't try to start the business around them because I'm closing a gap. And eventually,
[00:19:17] Barry Luijbregts:
that gap will be gone. So Yeah. Exactly. Microsoft will get to it, at some point. And they have so much development power and money that they just can throw at it. Yeah. So have they, have Microsoft itself have they reached out to you to say, well, you know what? We we want to use your code to actually, fill that gap and can you maybe, I don't know, work for us?
[00:19:42] Tom Kerkhove:
They have reached out to me. And it's more of the the customer services department that have a lot of use case for prometer. So they actually said, hey. We need this and this and this. Can we make it happen? I'm like, sure. But if I have the time. And then they actually invited me to Seattle to do a a hackathon with, I think we were with 10 people. Add a lot of more features, mature it, and and even until until today, I have new people coming in saying I have a customer that want to use it. And they're still contributing to the project. So so from that perspective, definitely, not from the product group themselves.
Right. However, they brought in in one customer called Walmart that is doing a shitload of calls. But for the rest, no. Wow. So Walmart's HughesNet. That's a huge company. They evaluated it. I don't know if they are still using it today. Because they really have large scale and the the throttling on Azure monitor is really low. You can do 12,000 calls in in 1 hour, which is not a lot. Yeah. So I think they prototyped their own thing by now, but I I don't know that open sochi. You don't know who is using it. No. Exactly. A big pain.
[00:21:14] Barry Luijbregts:
But that's also fun about it. You know? It could be that, I don't know, Naza Naza uses it or some other big company or something. You don't know.
[00:21:23] Tom Kerkhove:
No, Narsha, but, for example, I had people from Tom, Tom, who opened issues, and they we are using it, but we have this issue or all the bigger companies. So then it it is really nice to see that your hard work is being used and appreciated by people who see the same gap and and found found yours your software that helps them. That's why I do it to help people.
[00:21:49] Barry Luijbregts:
That's a very, very, good motivation behind it. And, nowadays, people can also help you to by paying you for your time, right, on GitHub by sponsoring you as being a a GitHub sponsor. So you can go to your profile, for instance, and choose to sponsor you within the amount one time or per month or something. Yeah. Are those people doing that?
[00:22:14] Tom Kerkhove:
Yes and no. So I have, some sponsors that appreciate my work and involvement, but they are typically individuals. Right. And what I'd love to see is is organization sponsoring. And, again, I was very reluctant to add sponsoring because it it sounds like I'm doing this to earn money. This is by far the case because you need to pay for, if you want to create stickers, Azure consumption, and all these other things like DNS names, and what sites. And so it's mainly to cover that, but also as a company, if you rely on software, It's better to, give something back either with contributions or or money so that you are you have a bigger chance that it keeps running, and it keeps getting maintained. Now my projects are far from critical.
But, last year in 2020, identity server, basically moved from a free open source identity, products to a paid product, and and the community was on fire. And I was like, guys, this is free stuff. If your company is relying on free open source software for your whole identity stack, then you need to revise your company's strategy. Because that's a big risk. Instead, if all those organizations would donate money, and that doesn't have to be a lot. But if you would donate, then then Brock, could keep on maintaining it. It could be still open for those smaller companies, or you could get the the support. And I fully get why they went to a paid product only.
Because otherwise, it's it's not maintainable for them. Yeah. So Yes. I have some sponsors. I appreciate the support. It really helps me, as well, but I'd love to have, organizations support open source mode. And and Microsoft is a good example there. They have a monthly I forgot what it's called, but they have a program where every month, they donate a lot of money to a specific open source project. Employees can vote which project it should be, and then they support that project. And and by doing that, they they also get back to the community. Which is great in my opinion.
[00:24:51] Barry Luijbregts:
Yeah. Yeah. And also good for GitHub adoption as well. I suppose that's that as well. Yes. Yeah. But that's I think that's a very good point because, you know, as you if your company is relying on free stuff, for your primary services, then you are really in trouble. That's just a bad strategy because you have no idea what's gonna happen with that. Could be that the owner just abends it. Because, you know, it takes time to express his time out of out of somebody's life, and you cannot just expect that to be supported forever.
[00:25:22] Tom Kerkhove:
No. And GitHub starts to help that as well. So you can, you can donate to a project that you know, but as a company, if you are considering to donate, but you don't know what you what you're using, what your dependency gravis, well, GitHub insights now show you, okay, these are all your dependencies that you have on all your repos. And if you want to sponsor somebody, you can use one of those, for example. You can explore them by framework. For example, you use a lot of dot net, which dot net project can you support. So that that really helps, get organizations and individuals there.
[00:26:09] Barry Luijbregts:
Yeah. That's very clever. GitHub is getting more and more intelligent over time. Yes. So, as you are using, your open source project also to add value to the customers of your day job coded. Mhmm. Are they also sponsoring you coded?
[00:26:28] Tom Kerkhove:
Coded is not sponsoring me. They give back to the community in the sense that, As an MVP, I get some time during my day job as well. So I can do some work there. But mainly, we do open source development of of a framework for Azure. So we have a lot of customers. We see that they re implement the same thing. So instead of reimplementing it or reinventing the wheel, I think 2 or 3 years ago, we started, ARCUS, which is the open source framework that we have. So we basically bring all those learnings into ARKES and make it available, for our customers, but also for everybody that is interested.
And and we could make this closed source. We could make this a paid product. But we believe that, that it it makes more sense to, just give this to everybody so that we can use the same same practices on all the projects as well. And we go from security and web API to messaging to observability or just scaffold templates for if you need to start a new API, just use the template. It comes with a health endpoint, telemetry, request tracking and all of the things out of the box so you can add value faster to the customer.
[00:27:55] Barry Luijbregts:
Yeah. Okay. That's very cool. So as we are nearing the end of this, podcast, build Microsoft build is happening, over these, past days, what is your, favorite Azure announcement so far?
[00:28:12] Tom Kerkhove:
That's a good question always. I would say Azure Azure application services for ARC would be the 1 I've had the pleasure to to be part of of the preview, and and I also shared my, findings on my blog, but basically, we have a lot of customers that use Azure platform as a service, which is the perfect starting point in my opinion. But they also have Kubernetes, because of some some valid reasons. For example, it is the company standard. We need to be multicloud or or run anywhere compatible. We need to have higher scale or more control. And on them, they run their applications, fully hand crafted with Helm, etcetera. But that's a bit of a steep learning curve if you're new to Kubernetes.
And also with, Azure functions and and logic apps, you can now self host them anywhere. But with this new announcement, what you can do is you can basically deploy your web apps, logic apps, functions, API management, and event grid straight from Azure, but it gets deployed on an ARC enabled Kubernetes cluster. So as a developer, I just create a web app, but it runs on that Kubernetes cluster, which makes it a lot easier to get started, with that. And and all of it is is managed by Azure for me. But I have the same capability, in terms of operational and management, which is a big plus.
So let's work for me. I delegate it to Azure, which is perfect. Yeah. That's what I pay for.
[00:29:52] Barry Luijbregts:
Exactly. I liked that as well. It was a very cool announcement. Yes. Alright. Well, thank you very much for talking to me about the open source today. Where can people find more about you and follow you?
[00:30:05] Tom Kerkhove:
You can find me on GitHub and Twitter, just by, looking for Tom. Everything in one one word, and you can find me there.
[00:30:15] Barry Luijbregts:
Alright. I will link to, everywhere people can find you including your blog. In the show notes so that people can click you click on you and follow you and also find you on GitHub. If you haven't already and you're listening to this and you might want to sponsor Tom Tom's work. You can do that on GitHub as well. Take a look there. Hold sponsor and other project that you use.
[00:30:38] Tom Kerkhove:
But Of course. If we maintain it, it would thank you. Yeah. Definitely. That will be very appreciated.
[00:30:44] Barry Luijbregts:
Thank you very much, and thank you, everybody, for listening, and we'll talk to you next week.
This week on developer weekly.
[00:00:05] Tom Kerkhove:
I'm really trying to close the gaps between the customerss that I have and Azure itself.
[00:00:16] Barry Luijbregts:
Hey, friends. Are you stressed burned out, or on your way to burn out, or do you just want to become healthier? My new course will teach you what stress is and how to recognize a burnout and also how to prevent it and recover from it by working on the pillars health, like sleep, food, exercise, clean living, and active relaxation, and also by changing your life your work, relationships, and your environment. Even if you are not burnt out or stressed, you can use these tactics to become healthier and live a longer and happier life. Check the course out at azureberry.com/burnout.
And if you don't have access to Pluralsight, reach out to me on Twitter or email, and I'll send you a 30 day free trial code that you can use for this course and all other pluralsight courses. Again, check it out at asherberry.com/burnout. Welcome to another episode of developer weekly. This week, I'm talking with Tom kerikove about open source and other stuff. Tom works for coded as an Azure architect is a member of the Azerk Crew and has been an Microsoft MVP and Azure advisor since 2014, he turns coffee into scalable and secure cloud systems. That's brilliant.
[00:01:40] Tom Kerkhove:
How are you doing Tom? I'm doing very good. Thank you very much.
[00:01:44] Barry Luijbregts:
Yeah. Thanks for being on the show. I'm, I'm alright. Here in the Netherlands, we are, slowly ramping down the COVID restrictions, which is very welcome. Back to normal life. Yeah. It seems that way. Well, I don't know if we were ever gonna be actually back to a normal life.
[00:02:04] Tom Kerkhove:
I doubt it.
[00:02:05] Barry Luijbregts:
Yeah. Well, at least closer to it, which, at least means that, like, my kids can go to school and to, to take care which is very important. You know? Yeah. And you can see actual humans again. Yeah. And maybe at some point, we can do, I don't know, events and,
[00:02:26] Tom Kerkhove:
you know Oh, yes, please.
[00:02:28] Barry Luijbregts:
Conferences that we used to do. That'll be fun.
[00:02:32] Tom Kerkhove:
No more virtual conferences, please.
[00:02:35] Barry Luijbregts:
Are you, are you conference tired, virtual conference tired?
[00:02:39] Tom Kerkhove:
I've been conference type after the first conference that was virtual. No. I think it's a it's a good alternative. I I hope the key takeaway is there is you can join physically, but everything is also accessible to those who are not physically there. For example, built this week, Great. Everybody can join. So, hopefully, next year, it will be physical, but also still online.
[00:03:04] Barry Luijbregts:
Yeah. Yeah. It probably, you know, things like those probably remain hybrid where it's, you know, they have a lot more reach when they do like Techorama was, last week, I think, or the week before then. Also then has a lot more reach, and it's just a very different experience. So So, well, before the show, you were saying you were very busy. When I look online and all the things that you do, you you have a day job. You are extremely active on GitHub. Is if you if I look at your GitHub contribution, graph. The thing just looks crazy green. That's that's ridiculous.
[00:03:46] Tom Kerkhove:
So And It is a it is a podcast, but I actually got a 3 d printed version of last year by GitHub. That's a project, skyline. So everybody can generate a a 3 d version, and you can actually print it yourself if you want. It's actually pretty nice to have. Wow. That's pretty cool. So you can always look at your contributions in real life. Yeah. You can see in in 2020 where my son was born. So I actually hear you see a small dip, and then it started slowly picking back up.
[00:04:20] Barry Luijbregts:
Yeah. You were you were allowed to do more work. Your your wife allowed it. So, you know, all that work. And on on top of that, you also do community work for user group. And, I don't know if you still do that, but you help out also conferences as well. How do you how do you do that? How do you do all of that stuff? How do you combine all of that, including your family and, a newborn?
[00:04:46] Tom Kerkhove:
That's a good question. I get it a lot of times, but it's mainly about prioritizing what's most important. And making sure that you're not a blocking factor, but sometimes also that means that, for example, you mentioned the Azure user group, I'm I'm still helping, but I'm not helping as actively as I was in the past, which is is is not always nice, but It's about prioritization and and making sure you also, can say no. I still suck at that. But I was starting to get there. There's just so many interesting things in in our industry. It's going so fast. And, yeah, I just look where I needed the most. For example, with CUDA, I I do that on a on a weekly basis, sometimes daily basis. But with with promitur and and Kubernetes, vent grid, bridge, those are my own personal projects.
They are free to use, but I don't give support on them. So if you want to have a fix, either open a bug and and you wait or or you contribute it, but in the beginning, and and it's the typical thing. As soon as there's a bug, you want to fix it. And that's not that's not scalable. Certainly, if it's a free thing, So, I just use a best effort approach. And and if that is too slow, well, sorry, but Yeah. It's free. I mean, you can't expect anything. So companies can sponsor me on a monthly basis, and then you get some dedicated hours. But but if it's free, then, yeah, there there can be no expectations in my opinion.
So that allows me to choose when I want to work on it. Yeah, I I recently did the release on Prometor, for example, and now I said I will not be working on Prometor. I'll be writing now again because it's been a while. And, yeah, that's how I do it. Just create the time for yourself and choose what you want to do. Right? Because if you otherwise, you'll become a slave of your own of your own projects. And then, yeah, you'll get burned out eventually, and and it's not worth it. Another luxury of a downside is that my wife does nights, and we can shift So that means that when my son is sleeping, she's out for work. I have time on my hands, and that's basically when I do all of these these things.
So it is really sometimes a job next to a job when you're constantly working, but is it really working if you're having a lot of fun? So Yeah. It's getting a whole bit for you. Yeah. Yeah. Yeah. It is. It is. If I'm not working for my day job, I'm working on open source, basically.
[00:07:44] Barry Luijbregts:
Yeah. That's a nice hobby to have. And then you say, you know, prioritization and be being able to say no scaling down things that, aren't important at that time. That's the most important thing to Yep.
[00:07:56] Tom Kerkhove:
Make time for for other stuff. Yeah. And also in the the octovers of of GitHub plus, year. So they do, a yearly survey of of people in open source, and they actually have the the one for 2021 open now. And and there it they basically said that now with COVID, a lot of a lot more people are starting to do open source. I don't know the exact number from the top of my head, but I think it was around 10, 20%, maybe. Wow. But that also makes me wonder and also looking at myself I now have more time because I'm always at home. But how will open source look like when we go back to normal? Imagine there's no COVID we can go to festivals, restaurants, see our friends.
I think we'll have a the opposite effect. So we will lose the the new maintain this maybe and also active maintain this might say, hey. I've been doing all of this, but why am I not enjoying my spare time more? So I am really interested to see you how how that will play out.
[00:09:04] Barry Luijbregts:
Yeah. That's good. Most of it. How do you think that's gonna play out for yourself? Are you gonna do less open source then?
[00:09:11] Tom Kerkhove:
That's a good question. I think I will keep on doing, open source that I'm doing now, but instead, I might be doing less of speaking at conferences. Right. Because that's always been, a tricky one for me. I love to share it. I love to share about what I do. And what I've learned. But also I really hate being on stage and and talking presenting to people. So I'm always dead nervous I always ask myself, why are you doing this to yourself? So maybe I I I just found another way of helping people by giving them the tools or or just go back to writing. Yeah. So I'm set I would probably say no more to speaking, so I have more time for other things. Yeah. That's very clever. I did, the same thing,
[00:10:06] Barry Luijbregts:
like you, I also don't really like the preparation for talking neither the, you know, if it's something in person, sometimes it's fun to travel to a place, but it also takes a lot of time. Easily takes a week. For just 1 or 2 talks or something. And then, you know, when you get off stage, just a moment after you're like, oh, that was so cool. I wanna do way more of this. Yeah. But then a couple of days later, you're like, why why am why am I doing this? Yeah. So I I once spoke at NDC Sydney, I had one talk. Wow. I I traveled, man,
[00:10:44] Tom Kerkhove:
32 hours or so just for that one talk. And because I didn't have much vacation, I just did the conference and went back. So I was there for 3 or 4 days. And then afterwards, I was like, Why did I do this? This is crazy. Yeah. So I I'll never do that again.
[00:11:02] Barry Luijbregts:
Yeah. That sounds very luxurious, but you didn't even to Australia.
[00:11:06] Tom Kerkhove:
Yeah. I I went to the zoo on on the the day after I arrived, for example, but I have not seen anything else. Which is pretty good. Yeah. It's the typical thing. People think speakers are these kind of rock stars that see a lot of cities, but only thing you see is the conference and the hotel for the rest. That's it. Yeah. And just, experience jet lag. That's it.
[00:11:34] Barry Luijbregts:
So, your open source is, is pretty cool, and you do a lot of stuff centered around Azure. Or things that that can run-in Azure, really. And why is that? Why why are these projects there? Are they filling gaps that, features or or services in Azure aren't fulfilling. Why did you decide to make these things? For instance, Kayla and Promitor.
[00:11:59] Tom Kerkhove:
Yeah. So you, you nailed it there. So, I'm not trying to build a business or a product that I can sell. That's also why everything is is free, to use. I'm really trying to close the gaps between the customers that I have and Azure itself. And, Bromator and Kubernetes event grid bridge are the perfect examples. Promitter started because I had a customer that, wanted to migrate from Azure cloud services to Kubernetes. That's fairly okay. But when you start exploring the Kubernetes space, and this is 5 years ago, we wanted to have the same kind of aesthetic characteristics and the same capabilities. So, for example, with Azure cloud services, if you want to auto scale, you could use Azure monitor auto scale. Just said, when metric a hits this number, start scaling out. If the opposite way, start scaling, and I should monitor is one of the the best auto scalars, on what it leverages, in my opinion. That's another topic. I won't go there. But when you go to Kubernetes, man, at that point in time, it was such a pain. Because the only way you could scale was based on the CPU and the memory of your container.
But if you're processing an Azure service that makes no sense because you want to scale on the number of messages. So Kubernetes then had the capability of bringing metrics from outside the cluster, but you had to use a, what's called a metric adapter, and that supported GCP. And Prometheus. So I said to my customer, hey. We can do it. The only way to do it is based basically bring the Azure monitor metrics in Prometheus, run Prometheus, scale based on Prometheus, etcetera. So then they decided that's too much work. We will go with manual scaling for now. We'll just monitor it and and do it do it, manually.
And then I said, hey. This this sounds like a fun, challenge. Let let's just try and see if I can get it to work. I got it to work, and then, people started using it. And I do also was also a good exercise for me to learn more about Kubernetes and all of those things. Yeah, and then Microsoft wanted to do a hackathon with me on it because he had customers, etcetera, etcetera. And now I have an open source project, that people are using. So it's actually the typical accidental open source. And it's the same with Kubernetes event grid bridge. Kubernetes has events in the cluster.
But we also run workloads out side of Kubernetes, and I wanted to use event grid events. So I wrote something that brings those Kubernetes events to Azure. And then Keda, yeah, basically Keda fixes what that customer needed. So I got involved and and started co maintaining it. Yeah. The accidental open source project to fix a gap, basically. Yeah. To fix a gap. And then you say, a gap for your customers. And are those end customers for your day job? Yes. So they are my, day job customer but I wrote it in my spare time because for them, it was not interesting. So I I couldn't do it on their time. And also then you have the whole legal issues of, hey, you're doing it on our time, then it's licensed to us, etcetera.
But I saw it for multiple customers, so I figured Let's just make it available to everybody and see. And also on the other side, you could show the value to Microsoft that this is an effective gap. And they only need to invest in it. For example, promiturn does what was the last number? I think 15,000,000 API operations a day. Wow. So and that was in January. This year, and I have a lot more, downloads now. So I'd I don't know what the number is. I do have access to it, but
[00:16:15] Barry Luijbregts:
people are using it. That's that's the bottom line. Oh, and and how much time did it take you to set that up initially?
[00:16:22] Tom Kerkhove:
Oh, the initial version or until today?
[00:16:26] Barry Luijbregts:
Let's say initial version.
[00:16:29] Tom Kerkhove:
A couple of on sites visits in Switzerland and lonely evenings in the hotel. I don't know how how many hours, but, yeah, Let's say a week or 2 weeks to get the the the POC up and running before because you need to figure out how does Prometheus work. How do I Is there a library for it in dotnet, or should I write my own? How do I use the Azure API so the typical the typical things? Yep.
[00:16:55] Barry Luijbregts:
Right. Yeah. Okay. What what I'm hitting at is, if this would have been a way bigger investment like months or something to set it up or get it working in the first place, then, if that was, for me personally, then I would have thought, well, you know, that's probably not worth it because this might be a gap that Microsoft will invest in eventually anyways.
[00:17:17] Tom Kerkhove:
Oh, dear. They'll fix the gap, anyway. I I know that. But for me, like I said, it started as a way for me to better understand Kubernetes, how to get it up and running, and also just to work with the people and and and see how the community grows. And that that's why I keep keep doing it. And and then the product, of course, evolves. So I learned about Azure research graph and and the power of it because I was using parameter, because in the people wanted to have research discovery to scrape the metrics, And I was exploring, okay. I could use an API and list all the resources and such, but now I know that I should research graph allows me to write a single query, and it will give me all the resources that apply. So it's also a way for me to explore, Azure self.
Yeah. But I'm working with Azure Monitor team and and all the services that I used to to bring all the learnings back back there and improve Azure as a whole.
[00:18:27] Barry Luijbregts:
Yeah. Yeah. Exactly. As you are an Azure MVP and you are in contact with all those, development teams.
[00:18:33] Tom Kerkhove:
Actually, Kubernetes event grid bridge, I first asked them, will you do it? They said, yeah. Yeah. Eventually. Uh-uh. And then I said, Okay. But I really need this. But I I get that they have their own priorities. Yeah. So, then I actually talked to Brandon Burns. He said, let's let's set up a a quick example and see what happens. And then I just continued then, and I'm now making it easier to use. So maybe later on, they'll adopt it or or they'll write a more efficient way of doing it, probably. But it works. That's also why I don't try to start the business around them because I'm closing a gap. And eventually,
[00:19:17] Barry Luijbregts:
that gap will be gone. So Yeah. Exactly. Microsoft will get to it, at some point. And they have so much development power and money that they just can throw at it. Yeah. So have they, have Microsoft itself have they reached out to you to say, well, you know what? We we want to use your code to actually, fill that gap and can you maybe, I don't know, work for us?
[00:19:42] Tom Kerkhove:
They have reached out to me. And it's more of the the customer services department that have a lot of use case for prometer. So they actually said, hey. We need this and this and this. Can we make it happen? I'm like, sure. But if I have the time. And then they actually invited me to Seattle to do a a hackathon with, I think we were with 10 people. Add a lot of more features, mature it, and and even until until today, I have new people coming in saying I have a customer that want to use it. And they're still contributing to the project. So so from that perspective, definitely, not from the product group themselves.
Right. However, they brought in in one customer called Walmart that is doing a shitload of calls. But for the rest, no. Wow. So Walmart's HughesNet. That's a huge company. They evaluated it. I don't know if they are still using it today. Because they really have large scale and the the throttling on Azure monitor is really low. You can do 12,000 calls in in 1 hour, which is not a lot. Yeah. So I think they prototyped their own thing by now, but I I don't know that open sochi. You don't know who is using it. No. Exactly. A big pain.
[00:21:14] Barry Luijbregts:
But that's also fun about it. You know? It could be that, I don't know, Naza Naza uses it or some other big company or something. You don't know.
[00:21:23] Tom Kerkhove:
No, Narsha, but, for example, I had people from Tom, Tom, who opened issues, and they we are using it, but we have this issue or all the bigger companies. So then it it is really nice to see that your hard work is being used and appreciated by people who see the same gap and and found found yours your software that helps them. That's why I do it to help people.
[00:21:49] Barry Luijbregts:
That's a very, very, good motivation behind it. And, nowadays, people can also help you to by paying you for your time, right, on GitHub by sponsoring you as being a a GitHub sponsor. So you can go to your profile, for instance, and choose to sponsor you within the amount one time or per month or something. Yeah. Are those people doing that?
[00:22:14] Tom Kerkhove:
Yes and no. So I have, some sponsors that appreciate my work and involvement, but they are typically individuals. Right. And what I'd love to see is is organization sponsoring. And, again, I was very reluctant to add sponsoring because it it sounds like I'm doing this to earn money. This is by far the case because you need to pay for, if you want to create stickers, Azure consumption, and all these other things like DNS names, and what sites. And so it's mainly to cover that, but also as a company, if you rely on software, It's better to, give something back either with contributions or or money so that you are you have a bigger chance that it keeps running, and it keeps getting maintained. Now my projects are far from critical.
But, last year in 2020, identity server, basically moved from a free open source identity, products to a paid product, and and the community was on fire. And I was like, guys, this is free stuff. If your company is relying on free open source software for your whole identity stack, then you need to revise your company's strategy. Because that's a big risk. Instead, if all those organizations would donate money, and that doesn't have to be a lot. But if you would donate, then then Brock, could keep on maintaining it. It could be still open for those smaller companies, or you could get the the support. And I fully get why they went to a paid product only.
Because otherwise, it's it's not maintainable for them. Yeah. So Yes. I have some sponsors. I appreciate the support. It really helps me, as well, but I'd love to have, organizations support open source mode. And and Microsoft is a good example there. They have a monthly I forgot what it's called, but they have a program where every month, they donate a lot of money to a specific open source project. Employees can vote which project it should be, and then they support that project. And and by doing that, they they also get back to the community. Which is great in my opinion.
[00:24:51] Barry Luijbregts:
Yeah. Yeah. And also good for GitHub adoption as well. I suppose that's that as well. Yes. Yeah. But that's I think that's a very good point because, you know, as you if your company is relying on free stuff, for your primary services, then you are really in trouble. That's just a bad strategy because you have no idea what's gonna happen with that. Could be that the owner just abends it. Because, you know, it takes time to express his time out of out of somebody's life, and you cannot just expect that to be supported forever.
[00:25:22] Tom Kerkhove:
No. And GitHub starts to help that as well. So you can, you can donate to a project that you know, but as a company, if you are considering to donate, but you don't know what you what you're using, what your dependency gravis, well, GitHub insights now show you, okay, these are all your dependencies that you have on all your repos. And if you want to sponsor somebody, you can use one of those, for example. You can explore them by framework. For example, you use a lot of dot net, which dot net project can you support. So that that really helps, get organizations and individuals there.
[00:26:09] Barry Luijbregts:
Yeah. That's very clever. GitHub is getting more and more intelligent over time. Yes. So, as you are using, your open source project also to add value to the customers of your day job coded. Mhmm. Are they also sponsoring you coded?
[00:26:28] Tom Kerkhove:
Coded is not sponsoring me. They give back to the community in the sense that, As an MVP, I get some time during my day job as well. So I can do some work there. But mainly, we do open source development of of a framework for Azure. So we have a lot of customers. We see that they re implement the same thing. So instead of reimplementing it or reinventing the wheel, I think 2 or 3 years ago, we started, ARCUS, which is the open source framework that we have. So we basically bring all those learnings into ARKES and make it available, for our customers, but also for everybody that is interested.
And and we could make this closed source. We could make this a paid product. But we believe that, that it it makes more sense to, just give this to everybody so that we can use the same same practices on all the projects as well. And we go from security and web API to messaging to observability or just scaffold templates for if you need to start a new API, just use the template. It comes with a health endpoint, telemetry, request tracking and all of the things out of the box so you can add value faster to the customer.
[00:27:55] Barry Luijbregts:
Yeah. Okay. That's very cool. So as we are nearing the end of this, podcast, build Microsoft build is happening, over these, past days, what is your, favorite Azure announcement so far?
[00:28:12] Tom Kerkhove:
That's a good question always. I would say Azure Azure application services for ARC would be the 1 I've had the pleasure to to be part of of the preview, and and I also shared my, findings on my blog, but basically, we have a lot of customers that use Azure platform as a service, which is the perfect starting point in my opinion. But they also have Kubernetes, because of some some valid reasons. For example, it is the company standard. We need to be multicloud or or run anywhere compatible. We need to have higher scale or more control. And on them, they run their applications, fully hand crafted with Helm, etcetera. But that's a bit of a steep learning curve if you're new to Kubernetes.
And also with, Azure functions and and logic apps, you can now self host them anywhere. But with this new announcement, what you can do is you can basically deploy your web apps, logic apps, functions, API management, and event grid straight from Azure, but it gets deployed on an ARC enabled Kubernetes cluster. So as a developer, I just create a web app, but it runs on that Kubernetes cluster, which makes it a lot easier to get started, with that. And and all of it is is managed by Azure for me. But I have the same capability, in terms of operational and management, which is a big plus.
So let's work for me. I delegate it to Azure, which is perfect. Yeah. That's what I pay for.
[00:29:52] Barry Luijbregts:
Exactly. I liked that as well. It was a very cool announcement. Yes. Alright. Well, thank you very much for talking to me about the open source today. Where can people find more about you and follow you?
[00:30:05] Tom Kerkhove:
You can find me on GitHub and Twitter, just by, looking for Tom. Everything in one one word, and you can find me there.
[00:30:15] Barry Luijbregts:
Alright. I will link to, everywhere people can find you including your blog. In the show notes so that people can click you click on you and follow you and also find you on GitHub. If you haven't already and you're listening to this and you might want to sponsor Tom Tom's work. You can do that on GitHub as well. Take a look there. Hold sponsor and other project that you use.
[00:30:38] Tom Kerkhove:
But Of course. If we maintain it, it would thank you. Yeah. Definitely. That will be very appreciated.
[00:30:44] Barry Luijbregts:
Thank you very much, and thank you, everybody, for listening, and we'll talk to you next week.