Environment Variables
The Quantum Entanglement of Software Sustainability with Wilco Burggraaf
December 5, 2024
In this episode of Environment Variables, host Anne Currie speaks to Wilco Burggraaf, a lead green practitioner and architect at HighTech Innovators, for an engaging discussion on integrating sustainability into software development. Wilco shares his journey into green software, the inspiration behind his innovative workshops, and his efforts to build a vibrant green tech community in the Netherlands. The conversation explores his articles on the Software Carbon Intensity standard, the complexities of balancing micro and macro sustainability goals, and the synergy between FinOps and green software. Tune in for actionable insights and strategies to make greener choices in tech while aligning sustainability with business goals.
In this episode of Environment Variables, host Anne Currie speaks to Wilco Burggraaf, a lead green practitioner and architect at HighTech Innovators, for an engaging discussion on integrating sustainability into software development. Wilco shares his journey into green software, the inspiration behind his innovative workshops, and his efforts to build a vibrant green tech community in the Netherlands. The conversation explores his articles on the Software Carbon Intensity standard, the complexities of balancing micro and macro sustainability goals, and the synergy between FinOps and green software. Tune in for actionable insights and strategies to make greener choices in tech while aligning sustainability with business goals.

Learn more about our people:

Find out more about the GSF:

News:

Events:

Resources:

If you enjoyed this episode then please either:
Connect with us on Twitter, Github and LinkedIn!

Transcript below:

Wilco:
At some point I came to the conclusion, like, okay, we can measure a lot of things, we can have all these metrics but at some point the numbers are not going to change outcomes. Decisions do.

Chris Adams: Hello, and welcome to Environment Variables, brought to you by the Green Software Foundation. In each episode, we discuss the latest news and events surrounding green software. On our show, you can expect candid conversations with top experts in their field, who have a passion for how to reduce the greenhouse gas emissions of software.

I'm your host, Chris Adams. 

Anne: Welcome to Environment Variables, where we bring you the latest news and updates from the world of sustainable software development. I'm your host today, Anne Currie. And joining us is Wilco Burggraaf, lead green practitioner and green architect at HighTech Innovators. Wilco brings a wealth of experience in software development, been over 20 years in the industry, and is an active Green Software Foundation champion, and we'll be talking a lot about that today.

So he cares a great deal about integrating sustainable practices directly into the code and architecture of software, helping to make greener choices not only possible, but essential in tech. And in this episode, well, this episode really is the Wilco show. We will be talking about three articles that he's written on LinkedIn

and what they mean and what people should learn from them, what he's learned on his journey in becoming a Green Software Foundation champion, a green software practitioner. So yes, he has a lot of interesting thoughts on integrating software sustainability at the lowest, the deepest level, the lowest micro scale, the code level scale, and the macro scale.

Bizarrely today, we're going to be talking about those in the reverse order, focusing on his articles on the micro scale first, and then moving over to the macro scale, which I, and I'm a big fan of macro scale. So that'll be interesting when we get there. Actually, I'm a fan of all the things, but I'm a big fan of starting at the macro scale.

So yeah. So Wilco's going to be talking about his articles. And he'll also be talking about his experience using the SCI, the Software Carbon Intensity standard and the Impact Framework, because I'm very keen on his thoughts about whether they're useful or not, why they're useful and what they add to the software development process. So, welcome, Wilco. Can you tell us a little bit about yourself?

Wilco: Yeah. Hi, Anne. Yeah. Thanks for having me. Big fan, by the way. I love the book you worked on, Building Green Software. So I'm Wilco. 41, married with no kids and I live in the Netherlands. We have an Airedale Terrier named Iron. And although the country I live in is small with only 18 million inhabitants, I grew up in the South near the coast on a factory plant tied to the coal industry in the eighties. And my dad was a night guard. So we lived in the factory plant and yeah, when you come out of the bed and you smell the stench of chemical processes in the air and when the wash was hanging out to dry, but beautiful weather, but, the coal dust came on the clothes.

Yeah, that was, but yeah, if I look now back on it, that was kind of weird, but that was normal. That was, home for us. So I deeply love nature. I spend a lot of my time on hikes of two or three hours in the forests and the heat lands, and that's only 10 minutes from my home. So, yeah, I love to live here in the South and what we call the nature.

Anne: That's great. That's lovely. And a really interesting backstory that your first, 

coal was your nemesis was your laundry's nemesis from a very early age.

Wilco: Yeah. It's always a story that my mom tells people because yeah, a lot of people who didn't experience that can not have a understanding of how it must been.

Anne: That is really interesting. That is a very interesting backstory. So my backstory is not quite so interesting. So my name is Anne Currie. I am, as I mentioned, one of the co-authors of the new O'Reilly book, Building Green Software. And I said that in the last podcast, and I'll say it again, if you care about this kind of stuff, if you're listening to this podcast, Building Green Software from O'Reilly is a really good book to read to get cracking. And it doesn't, it's not particularly techie, it is useful for everybody. So if you're a product manager, if you're a marketing person, you can read that and understand it. And it's a good, place for you to kick off because I think a lot of the changes that we're going to need to make to build green software actually start with product managers, not necessarily with techies, but that's an interesting other point. I'm also the CEO of the learning and development company, Strategically green.

And we do workshops as Wilco also does workshops. We'll be talking a little bit about that later, but we do workshops to kind of get your company started on getting people understanding what it is to be great and kicking off some interest and excitement, as well as helping you build some internal expertise in that.

So if you want to do any of those things, hit me up on LinkedIn. Before we dive in, I want to make a quick reminder that everything we talk about in this podcast today will be linked to in the show notes below the episode. So you can go and you can read it and you can follow along as you listen to the podcast.

So back to you, Wilco. I think the place for us to start is what started this off for you? What kicked it off? What led you to transition into green IT and how has your journey evolved over time?

Wilco: Well, only 10 months ago, it's not even that long ago, I dived into green IT and sustainable coding, starting with no background in green. In IT, of course, with 20 years of experience. And. Now I'm progressing to discuss things with university professors. So it went kind of quickly. And also since March this year, I'm a co-founder and co-host alongside Pini Reznik, I think a familiar person for you, of Green Software Meetups in the Netherlands.

Anne: And you've had a lot of success with meetups in the Netherlands, which is really good. So, what, role do you see your current work playing in the larger mission of sustainability?

Wilco: Well, maybe a fun detail. I work in secondment, for some countries that is not a familiar thing, but it's meaning I'm contracted by various companies. And this year I'm working with the National Databank for Flora and Fauna as a solution architect and together with a fantastic team, we're making hundreds of million biodiversity observations publicly accessible to everyone in the Netherlands.

And that is kind of something really cool. And we're on track to reach our first major release in the new year.

Anne: That is very cool. That's very good. And that quite interests me, links back to something you said on LinkedIn when I was talking about the last environment variables, where I was talking to Stefana Sopco, who also lives in the Netherlands. And you pointed out another Dutchie. Which, you're quite right.

We have a, there's a lot of interest in this in the Netherlands. Do you have a feeling for why that is?

Wilco: I hope I helped a bit with that the last half year. But no, of course, no, that's a, just a joke. But when I started like at the beginning of this year, I was looking on Google, searching for information and information was hard to come by. And at some point I was thinking, yeah, of course, books and podcasts, the GreenIO and Environmental Variables.

That is a place where I find a lot of that information that I needed. But at some point I was like, okay, so maybe I need to talk to people to gather more information. And when I was searching on LinkedIn for people who knew more about green IT and green coding and green software, I found out that there were all these kind of bubbles, yeah, in the Netherlands we call them bubbles, like you have 20, 30 people working on a certain topic.

And I was like, also at the same time, we were thinking, okay, how can we build a community for the meetups? And I was like, yeah, the only thing that I can do is connect to these people and make aware that the other bubbles exist and to keep on doing that. And when I was finding out, and I found the other group and another group and eventually there are, I think, right now, yeah, I think a small 2000 people in the Netherlands busy with this topic.

But a lot of those people are not aware of each other. So you have to think about people working on CSRD and monitoring, people on FinOps, but are really that are interested in sustainability, people who are like, "yeah, we, need to measure not only emissions, but also nitrogen and other things and PFAS," is it how we call it in Netherlands?

So yeah, I don't know if it's because of a trend or because of a lot of people now with CSRD are looking, "okay, how do we need to do this?" But yeah, there's a lot of activity in the Netherlands.

Anne: That's, that is really interesting and there's a lesson there for anybody who wants to grow a community is that you went out and found all the small communities and hook them together. That's an incredibly valuable thing to be doing.

Wilco: And it's also cool that there are also, there's an organization, the National Coalition of Digital Sustainability, and it's a little bit different, the acronym in the Netherlands, but they are already busy with this topic for more than 10 years. And then when I was doing my thing on LinkedIn, and then I found out that there was an other meetup group from a bank and a consultancy company, and then we're already busy with doing meetups in the year before.

And, but they weren't aware of even sometimes other organizations and also like a Green Software Foundation, but there's also of course the Cloud Native Computing Foundation, where you have a sustainability group. And I'm not even talking about things like Climate Action Tech and, that kind of organizations of groups.

Anne: And of course actually trying to link together these groups is incredibly, so we have actually met in person, we met at a Green IO conference in London in September, which was great. And that was very good. That was a very good way of getting a whole load of people in Western Europe basically to all connect together and have a drink and see one another face to face.

Very effective. So..

Wilco: Yeah, it's very inspiring to see other practitioners and also other perspectives from UX to Green Ops to yeah, all the different, because that is something that is so clear. And this is also maybe eventually, if we go to macro, why it's hard to implement is because sustainability, it hits so many fronts within a company or an organization, there are so many roles.

Where if you start thinking about, "okay, what am I, actually doing?" So the impact, what we're doing from boardroom to eventually DevOps teams or members of DevOps teams. And it's cool to see that all those people come then together in such a conference. Yeah.

Anne: Yes, it is true. And I've said this many times before that it's, everybody's being bonded together by having the same goal, which is reducing carbon in the atmosphere. An intrinsic goal that's, you know, it's doing good. It's improving the world. And it does mean that you can share common ground with people you wouldn't necessarily previously have shared much common ground with.

Wilco: Yes.

Anne: So, I mean, you, said you've only been interested in green software for about 10 months and you've certainly done an awful lot during that time. How did you get started? How did you get started organizing meetups particularly?

Wilco: Well, in January, my former boss introduced me to the Green Software Foundation website, and I immediately noticed two things. So CarbonHack24 was on the website, the Hackathon and the company I work for, they really love Hackathons. So I formed a group of volunteers together. And beside that, I will come back to that later.

There was also a lag. I saw the website of meetups in the Netherlands. So I reached out to Asim for advice and he connected me with a group of Green Software Foundation employees and the Green Software members in the Netherlands. And including with Pini Reznik and together, we started planning. And by April, we had our first meetup.

And my team even won the CarbonHack24 Best Contribution, which is crazy if I think about it, which was such an incredible motivator. And each step I took from organizing meetups to winning the hackathon felt like a chance to make a meaningful impact.

Anne: Which is fantastically good. That is good. So, but you didn't stop there, did you? You became a green software champion, which is a new Green Software Foundation kind of a project to build up people who know more and can go out and shout about green software. How did that happen?

Wilco: So by May, after hosting two meetups and writing over 10 articles on green software, I felt certain that this was my calling, right? I felt so much passion and fire. So, I mean, I think through all the content I create and all the conversations, that was kind of clear. And I discovered the Green Software Champion program on the Green Software Web Foundation website.

And I knew it was the right path to amplify my impact because I believe that if you have a recognition of a certain organizations that especially like multinationals and big organizations are like, "Hey. This is something that we maybe need to take more seriously." Not because of me, because of the, "Hey, this is, there's something going on here."

And yeah, forward four months and we've organized five meetups in just over seven months. And with the sixth one on the way on the 22nd of November, with the Green Waves Hackathon at the TU Delft, that's a university in Delft. And I now written over 150 articles on LinkedIn, collaborated with professors to bring green theory into practice.

And we're still, I'm still doing that and have given six talks so far. So, with more plans and each step has deepened my commitment to building a sustainable tech community.

Anne: Which is absolutely fascinating. It is amazing how much you've done in 10 months. So, but what next for Wilco and the green IT community?

Wilco: Yeah, what is next? That is a good question. So what I really try to do is to follow this certain path. So when I started gathering the information, I found kind of out, okay, there is already a decennia of research done and a lot of information, but to some degree, we have a hard time transferring this information to other developers and we are kind of stuck.

So for me personally, I was really invested. "Okay. How can I make this first stepping stone on making this a thing that other people can understand?" And that's why I started to invest what I now call EQUAL, 

Energy, Quality, Utilization, and Load. So the idea that you have an application that has a certain algorithm or a certain logic that everyone understands.

So kind of a loop. And if you have this loop, so a few important things in, in, in green coding and green software is, okay, how can we, based on utilization, can we estimate and not exact utilization, but can we estimate the energy and then eventually related to emissions? So if I started understanding, hey, wait, utilization to some degree is like the amount of threads that the CPU is running.

Also, of course, based on the cores. So 50%. You would maybe expect, like, if you have like 12 cores that with 50%, six cores are running, but it is not necessary at the truth because frequencies, of course, can be higher and lower and there are some things going on, but if you start, okay, so the amount of threads, so let's say the 12 cores.

So you can have then most easiest for a clock, 24 threads. So if you have a loop that you can start playing around with two threads, four threads, eight threads, 12 threads. So that's a first parameter you can give to this loop that I placed in the API. Then the next one is the amount of iterations. So do I want to do a small test?

And the funny thing is one line, one normal line of code, because I can make a line of code that just can gas pedal the CPU 200 percent for an hour for one line of code. If you take an average line of code, it's most of the time so insignificant for a CPU that like, if you have a loop that is running within this very small time, then 10 million iterations is quickly over that's very fast.

So my EQUAL starts with 10 million and it goes eventually to in the billions of iterations. And then the third parameter of equal is the use case. So you can place in the iteration just an I++ or just any use case you kind of want. And then what I kind of start doing when the loop is running, I start asynchronically, I start measuring the utilization of the cores in a very high time resolution. Like 10ms, 20ms, 30ms, so very small. And then after the whole loop is done, what I then do is I can place, those samples, I can eventually connect them back again to the traces of the code. And then you can see a certain few things happening here. So what you can see happening is if you will reduce the amount of operations happening on the CPU, yeah, of course you probably,

your, utilization will be lower and your energy use. But there's also another thing is because CPU, how CPU works, that sometimes you will see unexpected behavior. So although you start to play around with these use cases and you think, "Hey, this should be more efficient" and you start rerunning it and then you're seeing things happening like, "Hey, wait a minute, if I run this on 18 threads, this use case works more efficient energy-wise on 12 threads.

How does that make sense?" Well, that is something I tried to figure out, but this is what I place in a demonstration style, because if you demo this and you show us this loop and everybody understands the loop and you show this in the user interface, and then with Prometheus, with eventually graph set that you show to everyone,

then it's makes more clear for, "Oh, okay. Wait a minute. There is beside time efficiency, compute, power, and there's also this third dimension, energy consumption. And it has sometimes another effect than we sometimes expect." And I started, okay, so if I can eventually use this in talks, if I can start using this in eventually a use case for blogs.

And eventually this is also where the workshop that I'm going to give from January is built on. So this is for me is like the future. And then my estimation model that I just created on Prox. Which is kind of built in, of course, in your Linux kernel with just a dumps is now not the most perfect model, but this is the reason why I work where I have contact with, especially University of Groningen to make this model eventually better with socket management of measurements and real kind of measurements.

And yeah,

Anne: So that so the all sounds very, so basically you're working on a tool that helps people measure, at least proxy measure, their carbon emissions through energy use,

then tune it and improve it. And I'm guessing that there's kind of several advantages to that tool. If you work on that tool to deliver the same functionality using less energy, the product, your application will run faster.

As you say, CPU cycles are another proxy for energy use. So is that commonly what happens? It improves the performance of the application?

Wilco: Well, if you say performance in time, well, this is a funny question. So if your focus is on performance in time, sometimes if you say I make my code quicker, it sometimes start using more energy. So, and then the question is, I have this value, "is it okay for a user to wait on it or does it need to have this very fast?"

And there's also a difference between the performance if, and this isn't on the, on the, in the cloud, on a server, almost impossible. If you on A CPU only use a few cores, it has often a very higher CPU frequency, so it probably will be with this exact same code will, be quicker than if the complete CPU has 80% of the cores or a hundred percent of the cores active because the higher, especially with a hundred percent because of heat, the frequency goes down and it kind of becomes slower.

And this is what I say, you can, of course, if you lower the amount of code or operations to the CPU, it will eventually be more efficient. But there is also this thing going on that the CPU has sometimes 20, 30, 40 percent influence based on the state of the CPU it's in. And yeah, your code can have some influence on it, but it's more in a different way.

So how many threads am I spinning up? Or how many things are going on this server that I'm running my code on? And yeah.

Anne: So yeah, I see now why you, and when we go over onto your next, onto your second article, talking about trying to balance these micro line level changes with a more macro perspective. That's yeah, it gets quite complicated and you don't always know what's going to work until you try it. So obviously, you know, the whole point of running this tool will be to make a more energy efficient application within your kind of high level goals of your SLAs. But I'm imagining it's also quite fun, that it's quite a good thing for a hackathon, it's quite a fun thing developers to play with.

Wilco: Yeah. Yeah. That. And also you can just replace, that's what I every time keep saying. The loop is just for demonstration purposes that people understand it. But I use this whole logic in an API and you can just put your own code in there. That's the whole thing that we're, with the workshop, going to do.

So people will build their own API. And then with the same process of asynchronically measure when you run this code, what's happening, because you will see funny things going on when you're waiting or things are connecting to a database or connecting to another API. And based on how things are programmed.

So are you waiting with a loop that is pushing your CPU high? Or are you using smarter mechanics so that there is a drop, but is a drop sometimes something you want because if you want to be very efficient with your resource, you kind of want to maximize it around 80%. Well, I don't want to be come too fast to conclusions yet, because I think we still need to figure out what the patterns are and what are good patterns and bad patterns, but yeah.

Anne: Yes, because as you say, and again, this leads back to the kind of macro micro picture. It's definitely.. In certain circumstances is definitely the right thing to do to if you're waiting on an API call or something to kind of say, "right, I yield all the threads and everything running on the machine to somebody else to use the machine while I'm waiting" so that the machine is still highly utilized whilst I'm waiting for my API call, but that relies on you having a design or an architecture, which might be within your application, but it might be within your operational decisions. You know, are you multi tenant? Is there somebody else or some other company or some other application that is going to be able to pick up and use the machine while you're yielded?

But if you're just waiting around. then that's less good. So then the machine is just going to waste during the time that you're waiting. So you're, right in saying that there's so much context to this.

Wilco: Yeah. Yeah. And, okay, so, okay, I'm really getting excited about this topic. So, because I instantly thinking like, yeah, of course in the cloud, in the server, you maybe they have not full control, but one thing we know the grid is getting fuller, the electricity grid. And one of the things is that some university have research done is how can we optimize the devices that we have better?

And one of the things that we in the Netherlands have, we have a lot of people with solar panels. We're not using optimally the, electricity that is generated by the solar panel. So if you think about the following, so what are the devices that you can easiest, how do you say, charge based on the solar panels, then it's mobile devices or tablets, or maybe a laptop with maybe a good battery lifetime.

So now we're from originally, we always been like, "okay, we need to move logic to the server because it's more secure and you can not manipulate it." But if you start thinking about, "Hey, we need to optimize the devices better." What if we start using a WebAssembly in a better way? So things in your browser or on IOT device, or in this case, then on mobile or tablet, and use that green energy, especially if someone is as smart that like not charging it at night,

but more than the day when the solar panels are active, that is always like an important catch. And of course the solar panels have some embodied carbon, but yeah, but still, so there are so many cool things you can go on in this.

Anne: It is really interesting that renewables, unlike, you know, you aren't going to run your own coal fired power station. You say, nobody apart from Wilco has ever lived on a coal fired power station, but particularly solar, it's a very distributed technology. There are lots of people, I've got solar panels, and when they're running and the sun's shining, I've got more power than I know what to do with.

When I had, when I got it installed, I said to the, chap who was installing it, "what should I do with this? You know, and he said, "Oh, well, you will have, there are times when you are going to have more power than you know what to do with." So make sure that you, it might seem historically, it's always been very inefficient to heat, your water with an immersion heater rather than using, a gas burner or something like that. So it's a very inefficient way to do that, to heat the water. But if you've got free energy and it's just otherwise going to go to waste, heat your water with an immersion heater. He said, "get a swimming pool." Not that I did get a swimming pool, but get a swimming pool and heat that up because some of that has changed the way we need to think about, we still talk about green software very much from the perspective of efficiency and improving efficiency and reducing waste.

But I would say even more importantly than that, it's about doing more when the sun's shining. You know, don't forget efficiency when the sun's shining. You might want to write applications that are very efficient, that operate in totally different ways at night and while the sun's shining.

Yes. 

Wilco: Yeah. I would even dare to challenge the following. So. If the sun is very shining in the day, what I see in the Netherlands a lot is if you look to the electrical grid, especially also on windy days, that's, or somehow, and I don't see the relation yet, is that the industry seems to be working harder in the general.

So you still see the gas turbines in the Netherlands emit a lot of emissions. So it's very sunny. And if you go to electricitymaps.com, to the Netherlands. And you look there, you will see then the solar panels, generating a lot of energy. And sometimes of course, also the wind turbines, but that's also the gas turbines.

And that is mainly because there's a higher demand or there's instability on the net. And so you could even start. And that's why I think that carbon-aware is a very complex topic, because are you gonna do a weather forecast and then run, but then find out that maybe the grid was emitting more than you expected?

And lately, the last days, we had a lot of emissions in the Netherlands. Or are you more going to try to indeed optimize the devices we already have that maybe run on green electricity? There's no perfect answer in this, but we need more data, we need more access, but I understand from security standpoint, even with electricity grids, I mean, they want us to give us the information, but they're scared for terrorist attacks or for things that the information that we want to do for good that can be used for bad.

But yeah..

Anne: I mean, and quite often, grids just don't have the information yet. I mean, there is, for carbon awareness, we were a long way from having really good data on that. So I always tend to say, don't start, well, you could pick proxies, perfectly reasonable to pick a proxy because actually the difficult thing is designing systems that can respond.

That's going to take years to do. So you can, in many ways, pick a proxy now, even if it isn't great. Design a system that is responsive to that proxy. And then as that proxy gets better, your system will get better. So you might be going, " actually that proxy's terrible" now, but the difficulty is, well, getting the data is often somebody else's problem.

It is put pressure on, you know, suppliers and energy grids and everything to provide good data to us. But in the meantime, the big job for us, the thing that's going to take us a long time is redesigning our systems to be able to respond to that data. So that's things like thinking about what your graceful downgrade options are for when the grids are very dirty. You might have to move big, having big latency-insensitive tasks that you can move to when the sun's shiny. The Texan grid is doing a lot of good work on that. And I talk, again, I'm sorry, I talk endlessly about large, flexible loads. So the Texan grid is putting out a call to industry for large, flexible loads, which you can run, which are latency intensive, don't matter when they run.

But they can run when the grid is full of solar because Texas is quite rightly putting a whole load of solar panels because it's very hot in Texas, it's very sunny in Texas and there's a lot of desert. So they want something to run on that, solar power. It's very sad at the moment that the people who are really responding to it are the Bitcoin miners, but AI is another potential customer who have large flexible loads.

So very CPU intensive loads.

Wilco: Yeah. Oh, but this is perfect because, okay, you kind of influenced me when we had talked in London. So to think more about, okay, if you can better react to renewables in a more flexible way, because I started thinking about it, especially if you put it in the following perspective. So most front-ends have a lifetime of two, three years.

There is of course always shorter and longer. Back-end systems often have like a longer lifetime span. So if you build something today in 2024, and it runs five to six years, that means that it still runs in 2030 when we have our big first milestone that we should have reached. So if you're not building your software today that it can adapt, that it can be flexible, you have to refactor things in the future, or you're getting in a stuck position because most of the time, especially with big systems, the more you build, the more dependencies you get, the harder it becomes to eventually change things when that foundation is set.

So, yeah, I really like that idea that, although we maybe not have all the right answers now, and maybe the situations are not always perfect, but it doesn't mean that you shouldn't start thinking and implement in this way.

Anne: Absolutely, I think it's going to take ages to do this, it's a completely different way of thinking about it. I mean, there are tools out there that already exist, that can help you get into this way of thinking. So I'm a huge fan of spot instances on AWS and, or Azure or, preemptible instances on GCP, because they're, a kind of mini version of Texas's large flexible loads.

You say it's a small flexible load. You say. What you're saying is "I've got this load, it's flexible, run it. I don't really mind where it runs. I don't have any particular SLA associated with it." And you can use it for, the clouds use it to improve operational efficiency, which is good for green as well. But in the future, I can see those loads absolutely match to what we're going to need in order to shift work forward in time or later in time or forward in time.

Wilco: Yeah, I really believe to be, to some degree as much in control as possible because it's easy to let some other company or SaaS solution fix things for you, but especially from a board perspective, it's a good idea. Like, okay, we're working together with hyperscalers and we're doing things serverless.

And especially if you're a big organization. And then mainly like if we do serverless, they are kind of responsible to fix if the utilization on the background is well organized. And I find this always very interesting because yeah, to some degree that's true. So for consumers, normally, if you go to Azure, you're probably, if you're using serverless, I think they can really optimize it very well.

But if you have a very big multinational where kind of, they already reserve a certain space for you in the data center and you're running serverless. I'm very curious because we don't have the information now. So do they reach indeed that more utilization because you work serverless or do you have virtual machines where often in a while some function comes by and it runs and it's done?

So that's why, and you mentioned spot, that's why I like, and not because I have stocks in them, because it's not possible, I think, but I, that's why I love Kubernetes and Cloud Native thinking so much. That's also why I really like to check out also every time what's happening in the Cloud Native Computing Foundation environment, because course that is where Kubernetes is very active, because I strongly believe that if you are in control as far as possible, you have, not only you can better measure what's happening to some degree, although you're doing some estimates, I think it's also from a security perspective, it's a good idea. And I think also from just the willing, yeah, the willing to be responsible because nine of the time you're also responsible of the value that's running in your cluster.

And I think just outsourcing the company's core values or the product values outsourcing to somewhere else, it's possible, but you're giving them also some control away. Yeah. And this is something that I think a lot about, but not having all the, I think I will never have all the answers, but, yeah..

Anne: I think you're very right to be skeptical about serverless running on prem rather than in the cloud. Cause it does feel to me like, I touched a little bit earlier about multi tenancy. When you're not doing something, what's somebody else doing on the same machine? A lot of these tools like serverless work really well because you're in a multi tenant environment.

So the classic example is with, if you're in the cloud and you're, you might be sharing physical resources with a company that has very different demand profile to you. So if all of your, if you are, say a retailer, I used to be head of IT for an online retailer, then all of your resources are assigned to your demand.

So if there's a peak, then you have provision for your peak. And that means that a lot of the time, so say Christmas might be your peak. You have a provision for Christmas. And then most of the year, the machines are underutilized because you had to provision for Christmas. If you move into a multi tenant environment, one of the root things that the hyperscalers attempt to do is to pair up, or not just pair up, but group users on machines in such a way that they have different demand profiles. So everybody has a correlated demand at Christmas. Maybe if you're a retailer, you might be sharing a machine with a training company. And the retailer is very busy at Christmas and the training company is very quiet at Christmas.

So you kind of, you, rather than needing to provision for the peak, you are getting better utilization of those machines over time. And serverless is a little bit of an example of that. It's, the win is with multi tenancy and multi tenancy is easier in the cloud than it is on prem.

Now, having said that there are some multinationals that are so big and have such complicated systems internally that they are effectively their own multi tenant. I mean, Google is a hyperscaler, but forgetting GCP for the moment and looking at Google's internal tools and applications, they are their own multi tenants, they have enough variability in what individual tools are doing that they can act to keep their machines fully utilized all the time. They're kind of designed for that, but most companies are not at that level and quite haven't quite designed for that yet. But I agree serverless internally on prem for a small enterprise probably doesn't buy you that much.

Wilco: And there's also an other perspective on this. And I heard this in a conversation with a bank and that was also very inspiring for me. So. The fun thing is everything we just talked about can also work in harmony. So if you always have a baseline utilization, you could do that on prem where you know, "okay, with these applications, we always have activity.

So we have a certain utilization." And what they say is what then a big, they have done in control. They know exactly the energy usage and because of adventure, the energy uses also the negative impact and emissions and avoid carbon. But when they have peaks, they overload to the cloud. So they're like, "okay, so if we have, then we go there." And you could kind of also do sometimes maybe do the same if you want to save costs to maybe the devices to some degree that using your application.

So there are ways, and this is complex, but I think that is a way. And also there is a topic that we had in the past and nobody's really talking about anymore because it's complex. It's distributed computing, of course. And that's also another pattern that could, have a play in this. So, yeah..

Anne: Yeah. I mean, distributed computing is very potentially well aligned with this whole thing of demand shifting and shaping and saying, you know, "actually I've got a, thing here. We need to treat it as essentially asynchronous." And of course, asynchronousness is, or asynchronicity, is a really key part of distributed systems, designing distributed systems well.

Completely synchronous distributed systems are often a little bit of a distributed monolith. You don't, you often don't get the same breadth view of

Wilco: a funny thing. I heard, yeah, if you're YouTube, you can indeed see, like serverless monolith, microservice monolith, there are the.. So sometimes you think, "okay, this is a good start, if we design it that way," but if you create so much dependencies and then you're still, on an abstract level, creating a monolith.

Yeah.. 

Anne: Yeah, except a more difficult one. Because a monolith, the value of monolith is, quite simple and, well, it's, yeah.. Monoliths and microservices and distributor systems all have their place. It's always a matter of choose the right tool for the job. That is efficiency 101 is choose the right tool for the job.

Wilco: Oh yeah. A hundred percent. Yeah.

Anne: So we have chatted so long, we've got hardly any time to actually go over your articles. So do you? Let's see, we were going to talk about three articles. One was about your using the, SCI and the impact framework.

Wilco: The thing that I would like to say on that one is that sometimes maybe people think that I'm only interested in energy and that is absolutely not the case. The only thing that I came to the conclusion, not that you have to do it that way, but to some degree, because we're still also figuring out how to best measure emissions based on the grid.

And the other thing is embodied carbon. So we can do a lot of stuff with lifecycle access data of assessments and hopefully also the correct information we get from our scope three suppliers, but to some degree, if you know, and this is what I always keep saying, and maybe it's, if you know, at what moment, at what location your software was running on what kind of resource type on what kind of hardware, and you log that down, the most important thing is energy you cannot historically get back. It's you compute it and it's gone. So, and we have still with hardware disproportionality, but we have still things to figure out, okay, how do we really measure it? And I really strongly believe if I can help to get it down somehow, we to some degree can historically get back. Okay, we, knew that in that moment in time, even with electricity maps, with historical data, we can get the emissions from that moment, that location.

And also with the information we gathered with past procurement information or supplier information, we can get the embodied carbon right and that kind of stuff. So that is the main reason why I really focus on that E of energy and the SCI, the Software Carbon Intensity, you know.

Anne: The thing I like about the E is it's something that software developers can have effect, you know, it's not like we're, we don't care about the other things. We're just trying to focus on where we can have, make a material impact. And there is somewhere where we can really make an enormous impact. Our ability to change things in other areas is more limited and that's why we started the Green Software Foundation, was to find ways that software engineers can improve things and people related to software development.

So product managers, testers, that kind of thing. It doesn't mean that we don't care. It means that we're looking at where we can have the an impact.

Wilco: Oh and the quantum entanglement. That came from the idea, I'm a big nerd and I, like to know things, a lot of things, and it's also counts for physics. And I'm watching a lot of YouTube videos, also science videos, and a lot of videos every time came back on the concept of, okay, we have Einstein's, real, real, 

Anne: Relativity. Yeah. Yeah. 

Wilco: Relatable.

I'm still going wrong here, like, like about the, eventually can calculate things going on in a black hole. And we have quantum mechanics with quarks and all cool stuff. And when they try to bring this theories together, they have all these kinds of issues that doesn't really match up. And that's what I've found really interesting because I started before my journey, I had some information from the holistic view perspective.

So from boardroom perspective, from more top, if you think from top to bottom. And they are more interested in compliant data. So they, their data that they're using has to be valid, has to be compliant and also streamlined. So eventually they can report and also use it to create internally policies on it and that kind of stuff.

But if you talk like the software engineers, we're really like, "yeah, we're missing data on calculating the correct energy consumption. If we run software on this CPU or this GPU and we're still figuring things out," but very on the lower level, but I think on a boardroom level, they are probably not that interested in how correct the CPU or GPU was, as long as it is correct enough to make it right for the reporting.

So, and then the other thing where it really aligns to is at some point I came to the conclusion, like, okay, we can measure a lot of things. We can have all these metrics. But at some point the numbers are not going to change outcomes, decisions do. That was kind of a big moment for me. So there has to be at some point the sustainable decision making process going on from bottom to top or the other way around where those worlds connect to each other.

And that's what I really, with this article for the first time, it was also a few months back. That I was thinking, "okay, how can I connect this worlds together?" So what would the steps be? And the main, I think outcome for me from this whole thought experiment was, is that based on certain levels in the organization, you have different requirements for the data you want, different tools you probably want to use, and also different reasons you want to use this. And yeah, that is still a thing that I'm working on. One thing where I think that everything in comes together is a simple concept that if you set up an organization, a big IT resource list, or even resource less in general. And you have this resource list where you have like your mobile phones, your laptops, but also your cloud resource.

We have the infrastructure as code. We could generate those resources. And you have all these resources in this list. And if it's a multiple of the same resources, you just do a count after it. And then you would say to each resource, you would say you're using so much kilowatt hour a year. This is the footprint estimated benchmark or real time.

But also this is the security need because the security people are in the same thing as us. They really want more information. And that would be a great starting point because from that perspective, you can eventually bring that to information that is more on the higher level of the organization and you also can connect it to the really nitty gritty things on the bottom.

But yeah.

Anne: I was very interested in your, quantum versus relativity. I also, I have, my degrees in theoretical physics, but I will say, it kind of, when I read it, I thought, ah, now this, I find this quite an interesting analogy because I was, there's two. I was the fan, I was a particularly fan girl of neither.

I was always a fan girl of classical physics. I like you remember that enterprises operate at the level of classical physics. I think it's actually a really good analogy that enterprises are thinking about, "is my data compliance, you know, are my bills ridiculous, are my system staying up?"

And I think that actually, and only once that's, you know, in the Maslow's hierarchy of needs or the Maturity Matrix that the green software maturity matrix from the Green Software Foundation that Pini and I run together, the first thing you need to do is get your operations right. And that is classical physics.

You know, it's kind of like, are you paying too much? Are you over provisioned? Do you have a whole load of machines that you're not properly monitoring and using anymore? Maybe they are security holes. So you've got security problems there, you've got financial problems there, and you've got waste there as well.

You've got loads of carbon as a result of, 

Wilco: yeah. That's the one I forgot on my list. Waste that also needs to be Yeah on there. But yeah..

Anne: I love relativity, I love quantum physics. But for most enterprises, I would say start with classical physics, really just focus on getting your basic ops good, do those thrift a thons. Your last article, which you're not going to have time to go over, but I would strongly recommend people read, is about the alignment of FinOps and green software.

And I would say that the alignment of FinOps and green software is your classical physics. Oh, that's awesome. It works for every single enterprise. Nothing fancy is required. It's totally aligned with the business, with the desires and the goals of your business. No one is going to complain that you saved the money.

Wilco: But I think that is,

Anne: once.

Wilco: yeah, I think that's very important because sometimes, I mean, a lot of people, they say, "why are our companies not starting?" Or "I have this idea, why is no one picking it up?" And I think we also have to be honest to ourself. If you invest money in something, you want it to be, have a certain maturity level and also, especially if we buy something, we want to know that it's going to work and that's, yeah, it's going to have the value that you expect it to be.

And so together, I really believe together that we can, and the whole, or the whole line of field can bring it to a certain maturity level. So with the maturity matrix, that's a different story. Yeah. But because I think that a lot of people always focusing on, "yeah, but if you do this, you have lower of cost," I think the most important thing for a company to be more interested in how can we solve the things we need to do for sustainability 

is to make it more frictionless implementation and have it less risk, because I think that if you can do it in a way and it doesn't have to be perfect, but that it's easy to implement and to use, I think companies will start doing more.

I strongly believe in that.

Anne: I do. I think there's a huge, people really care about being green. People do really care about the environment. They don't know that there are changes they can make through their work as software engineers, that will make a huge difference. And if they do think that there are changes, they have a tendency to think those changes are misaligned with their company goals, which quite often they are because people think, "Oh, I'll just rewrite everything in Rust."

And that would generally be misaligned with the company's goals. But going through and making sure that you're not over-provisioned in your data centers and you turn off stuff that's not in use, that you're being cost-minded, that's totally aligned with your business goals. And it's also aligned with being green.

On that, I think we really need to raise awareness of that.

Wilco: Yeah. Yeah. And that's what I really can bring back to the fact, like if you.. And like, Hey, the mention of time efficiency, something has to be fast, but you want to do it in the most low energy consumption, but then the most important thing to, so what is the value, what you're doing is going to bring. And it's something that we struggling in for a while because we really tried with agile, define like the customer value, business value.

But I think those three together, if we figure that one out in sustainability in a better way, we really can make some jumps.

Anne: And with that, I think we'll need to end because we have been talking for ages and it's been absolutely fascinating and I've really enjoyed it. So thank you very much indeed, Wilco, for this. So where can people find you and get involved in your meta communities?

Wilco: Well, mainly I'm active on LinkedIn on my name, Wilco Burggraaf. I try to post every two days, a new content. And yeah, you can also, if you look up meetup.com, you can find the meetup group under the green software meetup Netherlands. And another thing is of course, from January, I'm starting with my workshops.

So if you're located in the Netherlands and you're interested in that, yeah, reach out to me.

Anne: Excellent. Thank you very much for coming on this episode. It's been really fun. And if anybody wants to contact me or chat to me about my, I also do workshops, which are not the same as Wilco's. So we are, I would say we run a complimentary workshops, then you can also take me through LinkedIn. And this is a final reminder that all the, well, we didn't really talk through the resources for this episode, but they are good background resources for our discussion.

They're quite easy and pleasant to read. So have a look at the links to Wilco's posts, follow Wilco on LinkedIn and read his articles. They're very, very good. So thank you very much. And I will see you all in the next episode. Goodbye for now.

Wilco: Bye.

Chris Adams: Hey everyone, thanks for listening. Just a reminder to follow Environment Variables on Apple Podcasts, Spotify, Google Podcasts, or wherever you get your podcasts. And please do leave a rating and review if you like what we're doing. It helps other people discover the show. And of course, we'd love to have more listeners.

To find out more about the Green Software Foundation, please visit greensoftware.foundation. That's greensoftware.foundation in any browser. Thanks again and see you in the next episode.