We all learned during the first two weeks of November that coming to an agreement on climate issues is far from easy - everyone has their own opinion on the right and wrong way to go about things.
Green tech is no different.
There are now a number of groups and foundations pushing a green agenda for developers. Are they all advocating for the same solutions, and if not, why not? Is this the people’s front of Judea all over again? Is it healthy diversity or unhealthy division? And why is diversity good but division bad anyway?
The most obvious players who are specifically focussed on software and operations appear to be:
- The Green Software Foundation (a Linux Foundation started with Microsoft). Full disclosure, I’m on the leadership team of this one, and Container Solutions is a member of it.
- The Green Web Foundation (a not-for-profit group).
- Amazon, through their sustainability initiative.
- The EU’s Sustainable Digital Infrastructure Alliance (SDIA).
- OpenUK (a not-for-profit organisation).
There are also other groups who are interested in other areas, finance for example, rather than direct software design, but we’ll skip those here and focus on the techie side.
What are they all advocating?
Save the world through European protectionism!
Interestingly, the “Sustainable” in the EU’s Sustainable Digital Infrastructure Alliance appears to mostly be describing the economic sustainability of small European clouds in the face of US hyperscale competition. Fundamentally, the goal of the SDIA is to help Europe’s fragmented infrastructure operators to compete with Amazon and Azure.
The organisation's assertion is that the EU can create an open source stack that would be as effective and efficient as the hyperscalers’ setup. Whether you think that’s right or they’re all living in la la land, the green slant is that by lowering the barriers to entry for new hyperscale-quality clouds, competition would make everything better including greeness.
The SDIA has a bold vision and I admire their attempt to take on AWS - the Hans Gruber of the tech industry - however, as I read it, their eco-friendly agenda would be a secondary benefit to the main prize of a European AWS killer. I can see why they want that and wish them the best of luck (at least they’re using Kubernetes as a base rather than OpenStack). Let’s face it though, a stack is merely table stakes in any competition with the hyperscalers.
I do, however, have a significant problem with the SDIA approach. It's too much like so many solutions to climate change, aka “first, let’s overthrow capitalism!”. “First, let’s build a hyperscale competitor out of common household objects!” puts something extraordinarily difficult before the decarbonisation step. Like the Irish joke about giving directions, “Well, I wouldn’t start from here,” the fact remains that here is where we are starting and the hyperscalers are currently decades ahead of everything else, even Kubernetes.
Politically, I can see why the EU is pushing this plan, but it’s not where I’d pin my climate hopes. They may be positioning this as an OSS vs hyperscaler battle, but I’m far from convinced their motives are that pure and anyway, as I mentioned in my last post “Kubernetes is Doomed”, the K8s OSS community is already falling behind the hyperscalers on the green front.
Save the world through rewriting our monoliths in assembly language!
The Green Software Foundation is all about promoting carbon efficiency for software:
- Cutting the carbon released by paring down everyone’s bloated code.
- Incorporating flexible execution so that work, which can be delayed until renewable energy is available to power it, is delayed.
The first step on that journey is reminiscent of the position of management guru Peter Drucker - you can't manage what you can't measure - and the Green Software Foundation is developing carbon emissions algorithms and pushing cloud providers for the data to allow folk to make the calculations. The idea is you can then work out which parts of your system are the flabbiest and crack out your copy of Kernighan and Ritchie’s “Introduction to C” and rewrite them in a more efficient language.
I’m joking of course. In reality, very few folk are going to do this kind of optimization because it’s bloody hard and expensive. So, the most likely result is devs will start looking for cloud services that do an equivalent job and have already been optimized for reduced carbon emissions because it’s more realistic to have a hyperscaler invest in something that costly than for a single enterprise or even an open source project to do it. That’s the magic of specialisation, folks. It has been the basis of progress since the first industrial revolution.
The direction of travel of the tech industry for the past 30 years has been about improving developer productivity, and I suspect we aren’t about to bring that trend to a screeching halt by making devs learn how to write high performance software or even software that’s slightly less egregiously inefficient. If the past is any indication of the future (tl;dr, it is) then if devs need to improve their carbon efficiency, they’ll start looking for a library or service to do it for them.
That said, there are still things individual developers and architects must do to improve their systems, particularly when it comes to operations. Elsewhere on WTF, IBM’s Holly Cummins mentions killing Zombie workloads and provisioning efficiency as areas where developers need to act. The AWS sustainability group makes the same point - your cloud provider won’t switch off machines for you.
In addition, as chairperson of the Green Software Foundation Asim Hussain explained on this podcast, modern devops techniques such as demand shifting, which form one of Microsoft’s principles of Sustainable software, both drive down the carbon use of an individual enterprise and improve the energy market. There are tools that will do demand shifting for you (AWS or Azure spot instances or GCP preemptible ones effectively do this) but you actually have to stop demanding everything on demand and use them.
In theory, the Green Software Foundation’s approach doesn’t conflict with any of the other green groups. Rather than suggesting a solution, the GSF is about better defining the problem by identifying where your systems are using a lot of dirty electricity. Rewriting your code in assembly language or some modern-fangled equivalent would be one perfectly good solution, but there are plenty of others, especially adopting more efficient operations.
Save the world through giving money to Jeff Bezos! Again!
The Amazon sustainability approach is pretty much the opposite of the SDIA’s (“Use AWS!” vs “Don’t!”) and has been nicely summarised by Chris Adams of the Green Web Foundation as, “optimise your consumption of compute, storage and network, and leave the rest to us. As long as you keep using our stuff.”
AWS’ message has similarities to that of the Green Software Foundation. although AWS suggests you observe your software using Cloudwatch (which exists) rather than some open standards-based toolset (which doesn’t yet), and recommends you don’t worry your pretty little head about the infrastructure, which it will handle.
It also suggests a solution: use AWS and its services if you want to be green. Given that story is basically the sales pitch of the cloud, I’m not sure I’d bet against it, but how much do we trust Amazon?
Save the world with a plucky gang
Started in 2006, the Green Web Foundation has been around longer than most of the other groups and it’s somewhat in the nature of a small but motivated bunch of outsiders battling a corrupt system. The Netflix show will be coming out next year.
They have the very targeted goal of naming and hopefully shaming dirty websites (not that kind, the other one), and have recently worked with the content delivery network (CDN) CloudFlare to validate their move to renewably powered infrastructure.
In the nature of a pressure group, the Green Web Foundation aims to carrot (a nice green tick) and stick (the lack thereof) websites, cloud providers, and latterly CDNs into running on green power. They primarily use open tools and they act as a trusted arbiter by maintaining a database of good websites.
Since the Green Web Foundation works closely with a lot of smaller cloud providers who are often more open with their data than the hyperscalers, they inevitably have links to the SDIA.
Save the world with a panopticon
You’ve got to love a panopticon.
OpenUK is about open software, hardware, and data, which is all very nice, but what does it mean in practise?
In the beginning, being open was the virtue. You could use your software to run an oil refinery as long as it was open source. Now, openness is primarily sold as an approach that makes it easier to build trusted ecosystems. “Open” still, however, doesn’t specify the values those ecosystems should stand for. OpenUK is promoting the idea that one of them has to be being green.
Does it all add up?
In some ways, OpenUK is similar to both the Green Web Foundation in its call for open data and the Green Software Foundation in its drive for open standards and data. All of them believe the right to report and observe is vital to driving the green agenda. Several of them have close links to the SDIA, who are pushing the same message - open is how you get to green. This directly contradicts the AWS message, which is that scale, commoditization, and specialisation are how you get to green.
At this moment, the scale and specialization argument looks convincing to me, but both are required at different stages. Diverse opinions, as hopefully promoted by OSS, are great for fleshing out the problem, unearthing potential solutions, and revealing the real situation so consumers can yell about it. Once you have settled on a solution, however, focus and specialisation are required to deliver it.
I am not unhappy about the existence of these conflicting groups. If they put pressure on one another that’s no bad thing. Both the hyperscalers and, even more so, the OSS community need pressure put upon them. Amazon may be the villain in almost every tech story, but they are actually pushing for more efficient software, not least because electricity is a cost for them and being tied to fossil fuels is a risk. Greenness, however, is still not a goal of most OSS projects. OpenUK is right in this respect. It absolutely needs to be. Otherwise OSS is part of the problem.
According to Asim Hussain of the Green Software Foundation, “Our bet is that if we can normalise making sustainability a priority in the small choices, we will normalise making it a priority in the big choices.” I guess it’s not surprising that a foundation should be all about psychohistory and I’m generally a fan of the concept.
Shakespeare observed, “There is a tide in the affairs of men.” Our fate is not entirely in the hands of a tiny group of billionaires. Even Bezos, Musk, and Gates aren’t adrift from society. The GSF, the GWF, the SDIA, and OpenUK are all clearly attempting to move the whole of technology in a new and greener direction. Since Amazon’s business model is usually to identify a tide and ride it, their recent embrace of greenness suggests it may already be shifting.