Contenu connexe

Similaire à What Makes Software Green?(20)

Plus de Rakuten Group, Inc.(20)



What Makes Software Green?

  1. What makes software Green? Yury Leonychev November 19th, 2022
  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.
  3. Tech & Green
  4. 4 Sustainable Development Goals United Nations
  5. 5 Sustainable Development Goals United Nations Decrease resource consumption Deliver efficient products and infrastructure
  6. 6 Green Software Foundation
  7. 7 Green Software Foundation Decrease resource consumption Deliver efficient software
  8. 8 Definition of Green Software Green Software Carbon Efficient Energy Efficient Hardware Efficient Carbon Aware
  9. 9 Who can drive organization towards Green? • CxO?
  10. 10 Who can drive organization towards Green? • CxO • Managers?
  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 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
  18. 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,+# *+,-.)
  19. 20 Company Policies Can sustainability be “measurable” goal? Yes, if target is decreasing of Software Carbon Intencity (SCI)
  20. 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).
  21. 23 Efficiency and Carbon Footprint for Software Architects Resource overbooking. Insufficient daily and monthly resources utilization. Using public clouds right.
  22. 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.
  23. 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%
  24. 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.
  25. 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.
  27. 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.
  28. 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.
  29. 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
  30. 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.
  31. 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.
  32. 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.
  33. 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.
  34. 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.
  35. 38 midcareer/ We’re Hiring