Developers Should Press Cloud Providers on Sustainability
Developers and engineers must rethink how they manage workloads and put pressure on cloud providers to improve service level agreements (SLAs) on spot instances if the tech industry has any chance of meeting sustainability targets, according to a speaker at Seacon 2022 in London.
In the opening keynote of the conference focused on enterprise agility, Anne Currie, a sci-fi author and tech ethicist at the consulting firm Container Solutions, said developers and engineers needed to take collective action to address the climate crisis.
“I don’t care what your company is serving in their canteen, and I don’t care whether you’re about to eat a ham sandwich,” she said. “Those things are not going to move the dial.”
But, she continued, “If we push the hyper cloud providers to do more, that’s probably the best lever that we can use.”
When, in 2018, all three major cloud providers committed to being carbon zero or close by 2030, Currie said she’d thought: “All my problems are solved … Because if the cloud providers agree, and they’re going to run all their services on green electricity, and be mindful of their use of hardware, then that kind of solves it for the rest of us.”
How Google Got Carbon Neutral
Google has led the way in efficient computing, being carbon neutral since 2007, she said. This was partly due to its energy purchasing, but also the way it managed its workloads, orchestrating them to achieve extremely high hardware utilization.
But a Google paper published last June acknowledged this simply wasn’t enough, she said, because renewable energy isn’t constant. Google’s answer to this challenge was “time shifting,” managing workloads to move them forward in time to when renewable energy is available, in part by tying into electricity grids and watching weather patterns — for sunshine or wind, for example.
The problem is while Google can do this for its own workloads, it could not do this for the bulk of its public cloud workloads. And while Google’s business isn’t really reliant on the public cloud, Currie continued, “You can’t really say that if you’re AWS, where it’s the vast majority of what runs in their data centers.”
AWS’s response came a couple of months later, she said, when it launched its sustainability blog, which was followed by the addition of sustainability as one of its architectural pillars at December’s re:Invent conference.
“They made a very, very clear statement that everything that they were saying in their blog about us needing to reshape our workloads… in fact is how they expected everybody to be designing their products for the future,” Currie said. “We were going to have to do work.”
Developers’ Role in Sustainability
But how are developers meant to respond? What developers and engineers can do, Currie said, is initially engage in a thought experiment: Think about moving 90% of their CPU load to spot instances. While these are massively cheaper than regular instances, they typically don’t have SLAs, she said.
“But that design does really, really work extremely well with these ideas about moving things to run when there’s green power available,” Currie noted. “If your team can think about it, we’ll get them thinking along the right lines for designing stuff that’s green, that’s operable in a green way in the future.”
More importantly, she continued, “If you host with a hyper cloud, I want you to tell your [cloud provider] rep that this is what you’re doing. I want you to express a preference, I want you to say, ‘We’re interested in this.’ And I want you to tell them what the results were.”
She predicted that the feedback from tech teams would be, “well, we would do this, but we need spots to maybe have a slightly better SLA before we can move 90% of our CPU on there.”
This would put pressure on the cloud providers to rethink the SLAs around spot instances, to make them viable for more enterprise workloads, Currie predicted.
“The cloud providers have huge amounts of money, and they are massively, massively responsive to what customers are asking for. If we all start to think about it, work out what we need, and ask for it, then we will get that change.”
Actions for IT Teams to Take Now
In the meantime, Currie outlined other actions that developers and engineers can take now.
First, she said, “you need a host with a really firm set of agreed commitments, ideally, by 2030.” Likewise, architects should consider the specifics of the provider’s hosting region. Some will have more sustainable power in their grid.
Then it’s a question of how systems are hosted, taking full advantage of orchestration and autoscaling; turn off unwanted devices. Application architecture has a part to play, as monoliths are generally less efficient than distributed systems.
And developers should also take into account user hardware efficiency, including assuming the device should have a 10-year lifecycle. “Don’t allow the lack of patches from your application to be the death knell for that device,” she said.
Last on the list is code efficiency. While the use of languages like Rust or C could increase efficiency, Currie said, “It takes a long time to write code in those high-performance languages. Businesses aren’t all that interested in doing it.”