This document discusses how to make software more green and environmentally friendly. It defines green software as software that is carbon efficient, energy efficient, hardware efficient, and carbon aware. It provides recommendations for various roles within an organization on driving green initiatives, including focusing on efficiency for CxOs, architects, infrastructure engineers, and developers. Examples include optimizing resource usage, using public clouds effectively, prioritizing equipment standardization, and developing applications that can run more efficiently.
2. 2
Profile
I started to work in IT around 15 years ago, initially with a strong focus on
information security.
In 2012 joined Yandex, where I worked on architecture improvements for the
authentication and authorization platform used by hundreds of millions of
users.
In 2015 joined Rakuten Group Membership Platform Department, where I
built up SRE processes for membership services.
Since 2021 I’m a member of the Technical Program Office, improving the
architectures of our massive horizontal projects to provide fast, secure
services for Rakuten Group customers. And improve the overall security and
efficiency of platforms used by all Rakuten Group business units.
11. 11
Who can drive organization towards Green?
• CxO
• Managers
• Architects?
12. 12
Who can drive organization towards Green?
• CxO
• Managers
• Architects
• Developers?
13. 13
Who can drive organization towards Green?
• CxO
• Managers
• Architects
• Developers
• Infrastructure engineers?
14. 14
Who can drive organization towards Green?
• CxO
• Managers
• Architects
• Developers
• Infrastructure engineers
• Someone else?
15. 15
Who can drive organization towards Green?
• CxO
• Managers
• Architects
• Developers
• Infrastructure engineers
• And others
}Everyone
16. 16
Efficiency in IT Industry
Power generation
Power delivery
Public cloud
Private cloud
Various clients
Network
Software
17.
18. 18
Efficiency and Carbon Footprint for CxO
Building Efficient services decreasing your running costs
• Define KGI related to sustainability:
• Check company carbon footprint.
• Check your datacenters PUE.
• Take a moment to review location of datacenters.
• Create policies to incentify software and hardware
optimization initiatives.
• Be aware about government initiatives towards green
society:
• METI Japanʼs Roadmap to “Beyond-Zero” Carbon
• J-Credit
19. 19
Power Usage Effectiveness (PUE)
• Ideal PUE = 1 could be achieved if all energy have been spent to power up IT equipment.
• Lower PUE easier to get if IT Equipment Energy is high.
• Infrastructure engineers should focus on cooling efficiency.
• Target value for PUE should be 1.2 and lower (world record numbers lower than 1.09).
PUE =
!"#$% &$'(%(#) *+,-.)
/! *01(23,+# *+,-.)
= 1 +
4"+ /! &$'(%(#) *+,-.)
/! *01(23,+# *+,-.)
21. 21
Datacenter Location
• How close or far datacenter from customers: long distance data transmission consuming additional
electricity (more network equipment used to deliver data, more retransmissions).
• Climate zone are important: extremely high temperatures will make datacenter cooling resource-
expensive.
• Build datacenter close to green energy sources. As far datacenter from energy source as more energy will
be lost during transportation.
• Datacenters in public clouds has different carbon intensity (AWS, GCP).
22.
23. 23
Efficiency and Carbon Footprint for Software Architects
Resource overbooking. Insufficient daily and monthly
resources utilization.
Using public clouds right.
24. 24
Resources Overbooking
Resource overbooking happens, when amount of
resources allocated for services higher than amount of
utilized resources.
• Avoid baremetal machines for service deployments
(exception is software specifically designed to match
baremetal specifications).
• Use containerization (virtual machines) and
orchestrated environments: to operate with resource
fractions.
• Use scaling and auto-scaling, don’t keep resources
required for highest possible user traffic. Forecast
resource consumption.
• Use horizontal scaling, don’t change hardware
specifications.
Modern CPU can have more than 20 cores and
dissipating more than 130W of heat.
25. 25
Resource Utilization
Rahmani, Rasoul & Moser, I. & Seyedmahmoudian, Mehdi. (2018). A
Complete Model for Modular Simulation of Data Centre Power Load.
If server turned
on, it consumes
significant
amount of
electricity
Optimal CPU
utilization 50%-
70%
26. 26
Load Cycles
• Services usually have periodical changes in load
• On platform level resources not used by main service
business logic can be used for background data
processing.
• Unused resources can be released to common
resource pool.
• Architect should design application, which can adopt
to periodic traffic fluctuations.
Day-night load cycles typical for IT services,
there are also other seasonal fluctuations.
27. 27
Public Cloud Provider Recommendations
Cloud providers have extensive documentation about
clouds sustainability.
• AWS
• GCP
• MS Azure
Public cloud platforms providing carbon emission
estimation tools.
29. 29
Efficiency and Carbon Footprint for Infrastructure Engineers
Equipment
standardization.
Increase servers
working
temperature.
Use free cooling.
Reuse excessive
heat.
Place equipment
base on datacenter
temperture map.
30. 30
Equipment Standartization
• Wide range of servers makes replacement and
recycling more complicated.
• Servers with longer lifecycles are better, they’re
decreasing embodied carbon emission.
• Standardized equipment allows to configure
datacenter cooling precisely to hardware
parameters.
• Airflow in datacenter is more predictable if racks and
servers standardized.
31. 31
Free Cooling
• Ambient air can be used for cooling datacenters.
• Works better in regions with mild winters.
• For cold winters it’s possible to preheat cold air to avoid freezing of water in chillers.
• Free cooling not exactly free, you still need chillers.
0
20
40
60
80
100
120
140
160
-10 21 30
Temperature ℃
Cooling capacity (kW)
Cooling capacity (kW)
Free cooling
with
ambient air
Evaporative
cooling, AC
Outside air temperature completely
depends on datacenter location, but if DC
equipment can work stable with higher
intake air temperatures free cooling can be
used longer.
Recommended
HW temperature
32. 32
Datacenter Temperature Zones
• Methods of Computational Fluid
Dynamics (CFD) can be used to model
airflow inside datacenter.
• CFD allows to find hot and cold zones
inside datacenter room, and place
equipment accordingly.
• If CFD map for datacenter not available,
it’s possible to collect intake
temperature from servers to get rough
estimations. https://www.flickr.com/photos/talk2stu/7945088456/in/photostream/
33.
34. 34
Efficiency and Carbon Footprint for Developers
• Applications should be fast and use less
computational resources (CPU, memory, IOPS,
NetOPS).
• Mobile applications and frontend consuming
resources on user side.
• Use small tests environments.
• Build carbon-aware applications: application can be
aware about operations time, hardware temperature
and adjust behavior to save resources.
35. 35
Optimizations
• Develop with focus on application performance and resource consumption.
• Decrease amount of data, transmitted between frontend and backend
(caching, binary protocols, compression).
• Do performance tests and benchmarks.
• Optimize assets to decrease application size.
• Simplify user interfaces to shorten interaction times required to use
application function.
36. 36
Low-performance Modes
• If customer don’t need high-performance from application, it can consume
less resources automatically.
• Application can dynamically decrease:
• Memory consumption and cache sizes
• Amount of running threads
• Framerates
• Download/Upload speed
• Screen resolution and brightness
• Application can run in timeslots, when hardware has lower temperature and
less loaded.
• Application can process more data, when hardware using green electricity.
37. 37
Conclusion
• Making software green can decrease company
carbon footprint and carbon emission.
• Sustainabilty improvements can be measured and
tracked over time.
• Building green software is challenging task, but
necessary as a part of companies' social
responsibilities.
• Green software allows to reduce service running cost
for company and users.