Sostenibilidad

Green coding: cómo reducir la huella de carbono de tu software

El software no es intangible en términos energéticos. Cada query ineficiente, cada imagen sin optimizar y cada instancia EC2 sobreaprovisionada tiene un costo real en emisiones de CO₂. Estas son las prácticas que más impacto tienen.

N-Byte
7 min lectura

La industria tecnológica produce aproximadamente el 2-4% de las emisiones globales de CO₂ —comparable a la aviación—, y la tendencia es al alza. Mientras los debates sobre datacenters sostenibles y energías renovables son importantes a nivel sistémico, hay decisiones de ingeniería cotidianas que tienen impacto directo en el consumo energético del software que construimos.

El mayor desperdicio: cómputo no utilizado

El sobreaprovisionamiento de recursos es la fuente más grande de desperdicio energético en infraestructura cloud. Instancias EC2 que usan el 5% de su CPU durante el 90% del tiempo, bases de datos RDS dimensionadas para picos que ocurren raramente, y clusters Kubernetes con requests de CPU muy por encima del uso real.

Las herramientas de rightsizing —AWS Compute Optimizer, Azure Advisor— identifican recursos sobreaprovisionados con datos reales de uso y sugieren instancias más pequeñas. En la mayoría de organizaciones que no han hecho este ejercicio, es posible reducir el costo (y las emisiones asociadas) entre un 20% y un 40% sin impacto en el rendimiento.

Queries eficientes: el impacto que no se ve

Un query SELECT * sobre una tabla de millones de filas cuando solo necesitas tres columnas transfiere datos que no se usan —todo ese procesamiento consume energía. Los índices no utilizados ocupan almacenamiento y se actualizan en cada write innecesariamente. Las N+1 queries hacen diez veces el trabajo que necesitan.

La eficiencia de base de datos tiene doble beneficio: reduce la latencia para el usuario y reduce el trabajo (y energía) que el motor de base de datos necesita hacer. Un EXPLAIN ANALYZE sobre los queries lentos más frecuentes suele revelar oportunidades de optimización que además tienen impacto medible en emisiones.

Imágenes y assets: el impacto de front-end

Las imágenes son el activo más pesado en la web y uno de los más optimizables. Servir una imagen JPEG de 3MB cuando WebP a la misma calidad visual pesa 800KB es un desperdicio de ancho de banda y procesamiento que se multiplica por millones de usuarios. El <Image> de Next.js, imagetools en Vite, o simplemente CloudFront con transformaciones automáticas resuelven esto sin esfuerzo manual.

Lazy loading, code splitting y eliminar JavaScript que nunca se ejecuta reducen el trabajo que hace el dispositivo del usuario —que también consume energía, especialmente en móviles donde la batería es el recurso más escaso.

Métricas que puedes medir ahora

  • Cloud Carbon Footprint (open source): calcula las emisiones de CO₂ de tu infraestructura AWS, GCP y Azure basándose en los datos de uso real.
  • Lighthouse incluye métricas de performance que correlacionan con eficiencia energética en el frontend.
  • Scaphandre: herramienta open source para medir el consumo energético real de procesos en servidores Linux.

La sostenibilidad en software no requiere sacrificar funcionalidad. Las prácticas más impactantes —rightsizing, queries eficientes, assets optimizados— mejoran el rendimiento y la experiencia del usuario al mismo tiempo que reducen emisiones. Es uno de los pocos casos donde hacer lo correcto para el medioambiente también hace lo correcto para el negocio.

Recibe artículos de Sostenibilidad