Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Green Software Engineering: ¿cómo salvar el pla...

Green Software Engineering: ¿cómo salvar el planeta de un desastre climático?

El 12 de diciembre de 2015, la mayoría de los líderes mundiales firmaron el histórico Acuerdo de París, donde se comprometían a reducir sustancialmente las emisiones de gases de efecto invernadero para limitar el aumento de la temperatura global en este siglo a 2 °C y esforzarse para limitar este aumento a incluso menos de tan solo el 1.5 °C.

La actividad digital representa aproximadamente el 4% de estas emisiones y se espera que esta cifra supere el 14% en 2040. Como desarrolladores de software, tenemos en nuestras manos no solo desarrollar soluciones más eficientes y sostenibles, sino también contribuir a las innovaciones que necesitamos para alcanzar este objetivo.

Esta charla fue impartida en el t3chfest24 e hice un llamado de atención sobre el impacto de nuestras decisiones e hice un repaso del estado del arte en soluciones y recursos para desarrollar “software verde”.
https://www.youtube.com/watch?v=XS9k6aTmISc

Alfredo Artiles

March 18, 2024
Tweet

More Decks by Alfredo Artiles

Other Decks in Technology

Transcript

  1. CTO y Co-fundador de Audiense En alfredoartiles.com escribo sobre las

    complejidades del desarrollo de producto desde los valores y principios de eXtreme Programming y la cultura DevOps @aartiles24 Sobre mi
  2. Jez Humble - Autor de Accelerate, DevOps Handbook, Continous Delivery,

    etc. Tweet: https://twitter.com/jezhumble/status/1386758340894597122
  3. Anomalía global promedio de la temperatura en relación con la

    temperatura promedio de 1961-1990 Fuente: https://ourworldindata.org/grapher/temperature-anomaly
  4. ¿Es 1ºC más de temperatura global promedio poco? La Tierra

    tal y como se encontraba durante su última glaciación Durante la última glaciación la temperatura media era solo 6ºC menos En la época de los dinosaurios, la temperatura media era sólo 4 ºC más. Vivían cocodrilos por encima del Círculo Polar Ártico Esqueleto de un Champsosaurus natator.
  5. No linealidad Del impacto del cambio climático • 2050: podría

    ser tan mortal como el COVID-19 • 2100: podría ser 5 veces más mortal.
  6. • El dióxido de carbono (CO₂) es el gas de

    efecto invernadero más prevalente que impulsa el cambio climático global • El aumento en la atmósfera sería aún más rápido sin los sumideros de carbono terrestres y oceánicos • Absorben alrededor de la mitad de las emisiones humanas cada año CO2 emitido a la atmósfera terrestre Fuente: https://svs.gsfc.nasa.gov/5110
  7. • El dióxido de carbono (CO₂) es el gas de

    efecto invernadero más prevalente que impulsa el cambio climático global • El aumento en la atmósfera sería aún más rápido sin los sumideros de carbono terrestres y oceánicos • Absorben alrededor de la mitad de las emisiones humanas cada año CO2 emitido a la atmósfera terrestre Fuente: https://svs.gsfc.nasa.gov/5110
  8. • EEUU: 15t • España: 5t • Reino Unido: 5t

    • Mundo: 5t Emisiones de CO₂ per cápita Fuente: https://ourworldindata.org/co2-and-greenhouse-gas-emissions#key-insights
  9. • Un cubo de 8m³ • EEUU: 15 cubos de

    CO₂ por persona / año • España: 5 cubos de CO₂ persona / año • 4000km de viaje en coche de gasolina • 120,000 recargas de smartphones ¿A qué equivale una tonelada de CO₂? Fuentes: • https://www.edenseven.co.uk/what-does-a-tonne-of-co2-look-like • https://climate.mit.edu/ask-mit/how-much-ton-carbon-dioxide • http://www.carbonvisuals.com/
  10. Objetivo: De 51Gt a 0 emisiones anuales de CO₂e antes

    de 2050 1Gt = 1000 millones de toneladas Fuente: https://ourworldindata.org
  11. ¿Cuánto gas de efecto invernadero emitimos con cada cosa que

    hacemos? Fuente: https://breakthroughenergy.org/our-approach/grand-challenges/ Calentar o enfriar 7 % Desplazarnos 16 % Cultivar y Criar 19 % Consumir Energía 27 % Fabricar 31 %
  12. ¿Decrecer la economía? La paralización de la economía durante la

    pandemia de COVID-19, especialmente la reducción de viajes durante 2020, causó una reducción temporal en las emisiones de carbono de 1.98Gt. Fuente: https://www.unep.org/news-and-stories/press-release/covid-19-caused-only-temporary-reduction-carbon-emissions-un-report
  13. ¿Decrecer la economía? La paralización de la economía durante la

    pandemia de COVID-19, especialmente la reducción de viajes durante 2020, causó una reducción temporal en las emisiones de carbono de 1.98Gt. Fuente: https://www.unep.org/news-and-stories/press-release/covid-19-caused-only-temporary-reduction-carbon-emissions-un-report ¿Es esto suficiente?
  14. ¿Decrecer la economía? La paralización de la economía durante la

    pandemia de COVID-19, especialmente la reducción de viajes durante 2020, causó una reducción temporal en las emisiones de carbono de 1.98Gt. Fuente: https://www.unep.org/news-and-stories/press-release/covid-19-caused-only-temporary-reduction-carbon-emissions-un-report ¿Es esto suficiente? Es un 3.88% de lo que necesitamos eliminar
  15. “El progreso tecnológico nos permite hacer más con menos. Una

    lata de refresco de aluminio solía pesar unos 90g; hoy apenas pesa 15g. Los teléfonos móviles no necesitan kilómetros de postes y cables telefónicos. Al sustituir los átomos por bits, la revolución digital está desmaterializando el mundo ante nuestros ojos.” ― Steven Pinker En Defensa de La Ilustración Desmaterialización
  16. Efecto Rebote • Los avances en la e fi ciencia

    energética terminan provocando un aumento en el consumo de energía en lugar de la reducción esperada. • Este efecto se produce cuando la mejora en la e fi ciencia de un producto o servicio reduce su costo de uso, lo que a menudo resulta en un incremento de la demanda. Fuentes: • https://2030.builders/the-hidden-part-of-sustainability-rebound-e ff ect/ • https://www.nytimes.com/2019/12/24/world/europe/vigo-spain-christmas-lights.html • https://arxiv.org/ftp/arxiv/papers/2104/2104.10350.pdf
  17. Efecto Rebote • Los avances en la e fi ciencia

    energética terminan provocando un aumento en el consumo de energía en lugar de la reducción esperada. • Este efecto se produce cuando la mejora en la e fi ciencia de un producto o servicio reduce su costo de uso, lo que a menudo resulta en un incremento de la demanda. Fuentes: • https://2030.builders/the-hidden-part-of-sustainability-rebound-e ff ect/ • https://www.nytimes.com/2019/12/24/world/europe/vigo-spain-christmas-lights.html • https://arxiv.org/ftp/arxiv/papers/2104/2104.10350.pdf Gasto de Vigo en luces navideñas en 2019: Decorando la ciudad con 10 millones de luces. Huella ecológica de cerca de 600 toneladas de CO₂.
  18. Efecto Rebote • Los avances en la e fi ciencia

    energética terminan provocando un aumento en el consumo de energía en lugar de la reducción esperada. • Este efecto se produce cuando la mejora en la e fi ciencia de un producto o servicio reduce su costo de uso, lo que a menudo resulta en un incremento de la demanda. Fuentes: • https://2030.builders/the-hidden-part-of-sustainability-rebound-e ff ect/ • https://www.nytimes.com/2019/12/24/world/europe/vigo-spain-christmas-lights.html • https://arxiv.org/ftp/arxiv/papers/2104/2104.10350.pdf Gasto de Vigo en luces navideñas en 2019: Decorando la ciudad con 10 millones de luces. Huella ecológica de cerca de 600 toneladas de CO₂. Entrenar GPT-3 emitió 552 toneladas de CO₂e
  19. ¿Cómo de verde es el software? • Software: Se espera

    que represente el 14% de la huella de carbono mundial para el año 2040 — actualmente cerca del 4%. • Centros de datos: • Consumen alrededor del 2% de la electricidad global hoy en día; para 2030, podrían consumir hasta un 8%. • Tiene una huella de carbono mayor que la industria aérea. • Uno puede consumir la electricidad equivalente de 50,000 hogares. • Residuos electrónicos: La producción anual está en camino de alcanzar los 75 millones de toneladas métricas en 2030. • Agua: En 2021, Google utilizó 3.3 mil millones de galones de agua solo en Estados Unidos. Fuentes: 1.https://stateof.greensoftware.foundation/ 2.https://hbr.org/2020/09/how-green-is-your-software 3.https://thereader.mitpress.mit.edu/the-staggering-ecological-impacts-of-computation-and-the-cloud/ 4.https://www.datacenterdynamics.com/en/opinions/energy-and-e-waste-the-ai-tsunamis/ 5.https://www.theregister.com/2022/12/19/google_datacenters_dalles/
  20. Recapitulando • Estamos experimentando un cambio climático. • Este cambio

    está generando efectos adversos. • Los gases de efecto invernadero producto de la actividad humana tienen un efecto. • El software es parte del problema. • Necesitamos reducir las emisiones anuales de 51Gt de CO₂ a 0 antes de 2050.
  21. Tragedia de los recursos comunes “En el caso de un

    recurso compartido, todos los usuarios se benefician directamente de su explotación, pero comparten los costes del abuso de ese recurso. Por tanto, el vínculo de retroalimentación entre el estado del recurso y las decisiones de los usuarios es muy débil. La consecuencia es la sobreexplotación del recurso, que se erosiona hasta que nadie puede disponer de él.” ― Donella Meadows. Pensar en sistemas
  22. ¿Cómo encontrar satisfacción en la acción contra el cambio climático?

    Fuente: https://www.ayanaelizabeth.com/climatevenn ¿Qué se me da bien? Habilidades, recursos, redes de contacto ¿Qué me gusta? Fuentes de satisfacción y deleite. ¿Qué se necesita hacer? Soluciones climáticas ¡Tu acción!
  23. ¿Qué puedo hacer yo? “La felicidad y la libertad comienzan

    con la clara comprensión de un principio: algunas cosas están bajo nuestro control y otras no.” — Epícteto Fuente: https://positivepsychology.com/circles-of-in fl uence/ Círculo de preocupación Círculo de in fl uencia Círculo de control
  24. • Escribimos software • Se ejecuta en hardware • El

    hardware • Necesita energía para fabricarse • Necesita electricidad para funcionar • Electricidad y agua para refrigerarse • La electricidad viene del red eléctrica • El red eléctrica se alimenta de diferentes fuentes de energía • En función de la fuente se emite más o menos carbono • Energía limpia: no produce emisiones de carbono (nuclear) • Energía verde: proviene de fuentes naturales • Energía renovable: sus fuentes no se agotarán (solar, eólica) • Fósiles: emiten carbono (pretroleo, gas, carbón) Ciclo de carbono del software
  25. Principios • E fi ciencia energética: • Utiliza la menor

    cantidad de energía posible. • Conciencia sobre el carbono: • Emite la menor cantidad de carbono posible. • Haz más cuando la electricidad sea más limpia y haz menos cuando la electricidad sea más sucia. • E fi ciencia del hardware: • Utiliza la menor cantidad de carbono incorporado (embodied carbon) posible. Green Software Foundation Mani fi esto: https://greensoftware.foundation/mani fi esto-de-la-green-software-foundation
  26. La relación entre la potencia y la utilización no es

    proporcional. • 2 ordenadores al 50% consumen 2x180W = 360W. • 1 ordenador al 100% solo 200W Proporcionalidad de la energía Fuente: https://storage.googleapis.com/gweb-research2023-media/pubtools/pdf/33387.pdf
  27. • CPU • Operaciones matemáticas • Reutilizar resultados • Reducir

    condicionales y saltos • Memoria • Variables locales • Tamaño del código • Localidad espacial de referencia • Bucles • Desenrollar • Fusionar en uno solo • Mover código fuera del bucle • Utilizar los algoritmos correctos • Evitar algoritmos recursivos • Utilizar las fuentes de datos adecuadas: • Listas enlazadas • Arquitectura • Impulsado por eventos (evitar sondeo) • Multihilo • Optimizaciones del compilador • Evitar frameworks Código Eficiente = Green
  28. • CPU • Operaciones matemáticas • Reutilizar resultados • Reducir

    condicionales y saltos • Memoria • Variables locales • Tamaño del código • Localidad espacial de referencia • Bucles • Desenrollar • Fusionar en uno solo • Mover código fuera del bucle • Utilizar los algoritmos correctos • Evitar algoritmos recursivos • Utilizar las fuentes de datos adecuadas: • Listas enlazadas • Arquitectura • Impulsado por eventos (evitar sondeo) • Multihilo • Optimizaciones del compilador • Evitar frameworks Código Eficiente = Green
  29. Benchmarks de costo de energía / carbono de proyectos open

    source Fuente: https://www.green-coding.io/projects/energy-id/
  30. En lugar de trasladar la demanda a una región o

    momento diferente, adaptamos nuestra computación para que coincida con el suministro existente. Modelado de la demanda
  31. Mide las emisiones de carbono de tu software y elige

    cuándo y dónde ejecutarlo para hacerlo más verde Carbon Aware SDK https://app.electricitymaps.com/zone/ES https://github.com/Green-Software-Foundation/carbon-aware-sdk
  32. Cloud Carbon Footprint Free and Open Source Cloud Carbon Emissions

    Measurement and Analysis Tool https://www.cloudcarbonfootprint.org/
  33. • Apagar y/o eliminar los recursos que no se usan

    (recursos fantasmas) • Programar la carga de trabajo • Escalar bajo demanda • Mover a serverless • Usar hardware más e fi ciente. • Ejemplo: AWS Graviton es 50% más e fi ciente FinOps = Green
  34. • Ahorro de $78,4/mes • Ahorro de de 0.007t de

    CO₂/mes • 898 recargas de móviles/mes Cambiando DocumentDB a Graviton
  35. Migración de la evolución de followers de todas las cuentas

    de X (Twitter). De MySQL en AWS a Tinybird • Apagado de cluster de MySQL en AWS y migración de ~5000,000,000 fi las (16TB) a Tinybird • Ahorro de costes: $3023.21/mes • Ahorro de emisiones: De 0.05t CO₂/mes a 0.0001t de CO₂/mes • 6000 cargas de móviles al mes Reutilizando nuestra capacidad en Tinybird Evolución de followers en X de @T3chFest
  36. Software Carbon Intensity Specification And Impact Framework IF es un

    framework para Modelar, Medir, siMular y Monitorear los impactos ambientales del software https://if.greensoftware.foundation/ https://standards.greensoftware.foundation/
  37. • Mejor información • Energía e fi ciente • Democratizar

    el suministro • Reducir el impacto de los viajes • Hacer el software e fi ciente en energía Ideas de Software
  38. • Mejor información • Energía e fi ciente • Democratizar

    el suministro • Reducir el impacto de los viajes • Hacer el software e fi ciente en energía Ideas de Software “¿Un score de carbono para evaluar el impacto ambiental de los productos? Estoy a favor. ¡Podemos crear juntos el @YukaApp del carbono!" Tweet: https://twitter.com/EmmanuelMacron/status/1338581063375925251
  39. • Mejor información • Energía e fi ciente • Democratizar

    el suministro • Reducir el impacto de los viajes • Hacer el software e fi ciente en energía Ideas de Software “¿Un score de carbono para evaluar el impacto ambiental de los productos? Estoy a favor. ¡Podemos crear juntos el @YukaApp del carbono!" Tweet: https://twitter.com/EmmanuelMacron/status/1338581063375925251
  40. Concurso en Kaggle ¿Cómo hacer que los modelos de deep

    learning sean más e fi cientes en producción? Concurso: https://www.kaggle.com/code/iamleonie/towards-green-ai
  41. • Software más rápido != Green • Calidad de vídeo

    • Evitar la reproducción automática de vídeos • Menos noti fi caciones • Modo eco Diseño de Producto
  42. • Concienciar • El cambio de una sola persona signi

    fi ca poco, pero el de muchas lo signi fi ca todo. • Dar el ejemplo puede animar a otros a tomar el camino correcto. • Generar demanda • Podemos pagar por los planes verdes ya ofrecidos por la mayoría de las compañías eléctricas. • Comprar bombas de calor y bombillas de bajo consumo. • Consumir carne basada en plantas. • Usar transporte público, etc. • Extender la vida útil de los dispositivos • Presión política ¿Qué podemos hacer como ciudadanos? https://es.wikipedia.org/wiki/Nokia_3310
  43. • Cómo evitar un desastre climático: Las soluciones que ya

    tenemos y los avances que aún necesitamos - Bill Gates • En defensa de la Ilustración: Por la razón, la ciencia, el humanismo y el progreso - Steven Pinker. Capítulo 10 Medio Ambiente • Principles.green • Green Software for Practitioners Certi fi cation - Linux Foundation • Awesome green software • Sustainability in Site Reliability Engineering (SRE) • Coving Against the Climate Change • Sustainable Software Engineering - SRE • What is Sustainable Software Recursos