Martin Lippert, Spring Tools Lead & Sustainability Ambassador @ VMware
May 2022
Sustainability in Software
Engineering
Today and Tomorrow
Slide 2
Slide 2 text
Environment
Social
Economic
Sustainability
Slide 3
Slide 3 text
Environment
Social
Economic
Sustainability
Slide 4
Slide 4 text
Climate Change is real
Slide 5
Slide 5 text
Greenhouse gas emissions
the main problem
Slide 6
Slide 6 text
Where do they come from?
Slide 7
Slide 7 text
Energy
Slide 8
Slide 8 text
What about Software?
Slide 9
Slide 9 text
We need to decarbonize the entire
world of software engineering
hardware production
commute to/from work
heating / cooling
datacenter operation (energy)
energy production
network data transfer
business travel
food at work
accommodation
energy consumption
. . .
. . .
. . .
. . .
conferences
virtual meetings / zoom calls
Slide 10
Slide 10 text
Devoxx UK
Slide 11
Slide 11 text
Flight: 282kg
Hotel (2 nights): 51kg
Public transport: 5kg
~338kg
Driving a car for one year: 2000kg
Slide 12
Slide 12 text
Back to Software
Slide 13
Slide 13 text
Let’s talk about
Data Centers
Slide 14
Slide 14 text
100%
Carbon Neutral
on 100%
Renewable Energy
The slogans
On Site Production
of renewable energy
Slide 15
Slide 15 text
The reality
Your workloads do not run on
renewable energy all the time
Slide 16
Slide 16 text
There is not enough renewable
energy (yet)
Slide 17
Slide 17 text
There is not enough renewable
energy (yet)
Renewable energy production
varies a lot
Slide 18
Slide 18 text
There is not enough renewable
energy (yet)
Renewable energy production
varies a lot
Energy consumption
increases
Slide 19
Slide 19 text
There is still
a long way to go
Slide 20
Slide 20 text
Just Wait?
Slide 21
Slide 21 text
No !!!
The transition is not fast enough
Energy consumption is increasing
Too many other aspects involved
Slide 22
Slide 22 text
What should we do
instead?
Slide 23
Slide 23 text
Do not run
your software
Slide 24
Slide 24 text
Eh, what?
Slide 25
Slide 25 text
Zombies
are a real problem
Related study: Jonathan Koomey & Jon Taylor: „Zombie/Comatose Server Redux“, http://anthesisgroup.com/zombie-servers-redux/
Slide 26
Slide 26 text
Do not run
your software - when not used
Slide 27
Slide 27 text
Idle machines
are a real problem
Slide 28
Slide 28 text
Adopt
Scale to Zero
architectures
Slide 29
Slide 29 text
Fast Startup
is important
Slide 30
Slide 30 text
Where
to run the software?
Slide 31
Slide 31 text
Choose the data center
wisely
Slide 32
Slide 32 text
Research Paper
„A Low Carbon Kubernetes
Scheduler“
Aled James, Daniel Schien
Slide 33
Slide 33 text
When
to run the software?
Slide 34
Slide 34 text
Let the data center decide
when to run your batch jobs
Slide 35
Slide 35 text
Write better software
that uses less energy
that uses less hardware
Slide 36
Slide 36 text
CPU
Memory
Network
Slide 37
Slide 37 text
Reserved Resources
consume energy
Slide 38
Slide 38 text
Really think about your container
resource requirements
Slide 39
Slide 39 text
In perspective
2 CPUs, 32GB: ~1930 kgCO2e / year
(Dell PowerEdge R560, 32GB, 2 CPUs, x4 300 GB HDD)
flight from FRA -> SFO: ~1883 kgCO2e
(per passenger and flight, economy, 747-8)
Slide 40
Slide 40 text
Don’t forget
Scaling Effects
Slide 41
Slide 41 text
Example:
Spring Boot
Spring Native
GraalVM
Slide 42
Slide 42 text
Feedback loops
are super important
Slide 43
Slide 43 text
Carbon Intensity
of a software will be a differentiating factor
Slide 44
Slide 44 text
Open Standards
to be able to compare
Slide 45
Slide 45 text
Green Software Foundation
https://greensoftware.foundation
Slide 46
Slide 46 text
Remember
We can have a huge impact
Slide 47
Slide 47 text
Let’s do it !!!
Slide 48
Slide 48 text
Thank You
for listening
Martin Lippert
@martinlippert