Reducción de emisiones en el sector IT. Posts para un Software Green III

Reducción de emisiones en el sector IT

En el anterior post, ya hemos comentado una primera medida de reducción de emisiones prolongando la vida útil. Hoy vamos a hablar de medidas de reducción en la infraestructura cloud.

Apagar los equipos físicos y reducir consumos en la nube

Otra medida evidente cuando los equipos son físicos es apagarlos cuando no se estén utilizando. Sin embargo, cómo hacer esto cuando gran parte de la computación se hace hoy día en la nube no resulta tan obvio.

En nuestro caso, siendo Ilitia partner de Microsoft, nuestro proveedor de servicios en la nube es Azure. Por tanto, nuestra primera medida fue buscar y eliminar recursos en nuestras cuentas de Azure que fueran residuos de proyectos pasados, borrando así máquinas virtuales, cuentas de almacenamiento, bases de datos, jobs de IA, etc. que ya no se estaban utilizando.


Empleado de Ilitia borrando recursos de Azure.

A continuación, abordamos los recursos de proyectos en curso. Por desgracia, no todos los recursos de Azure se pueden apagar cuando no están en uso. Un tipo de recurso que se puede apagar, y que a veces se utiliza en los proyectos como cajón de sastre, son las máquinas virtuales. Éstas lo ponen fácil para apagarlas cuando no están en funcionamiento: el propio portal de Azure incluye un scheduler para tenerlas encendidas sólo a determinadas horas.

Kubernetes

Pero los tiempos cambian y las tendencias en IT también, y hoy en día las máquinas virtuales son casi cosa del pasado: ahora todo se instala en contenedores, donde el estándar de facto es Kubernetes. Aquí surge un problema, porque el portal de Azure no incluye ningún scheduler para sus Azure Kubernetes Services (AKS). Para solucionarlo, hemos aplicado dos vías:

  • Cuando estamos fuera de horario de oficina, escalamos a cero las user workloads de los AKS mediante KEDA, que proporciona capacidades avanzadas de escalado automático en Kubernetes y que, entre otras opciones, permite escalar siguiendo un horario (mediante expresiones CRON).
  • Además, mediante una automation account de Azure que ejecuta un script de PowerShell, hemos hecho que los propios clústers (AKS services) se paren fuera de las horas de oficina.

Dime dónde te instalas y te diré cuánto emites

Una vez hecha la poda de recursos obsoletos y la programación de apagados allá donde era posible, quedaba seguir refinando. Como sabemos, no todas las fuentes de energía que se usan para producir electricidad dejan la misma huella de carbono. Echemos un vistazo a la siguiente tabla:

Energy type GCO2eKwh
Fossil Coal-derived gas 850
Fossil Hard coal 820
Fossil Gas 490
Fossil Oil shale 385
Fossil Peat 381
Fossil Brown coal / Lignite 332
Fossil Oil 249
Biomass 230
Waste 230
Solar 48
Geothermal 38
Hydro Run-of-river and poundage 24
Hydro Water Reservoir 24
Dispatchable hydro resource 24
Marine 17
Nuclear 12
Wind Offshore 12
Wind Onshore 11

Se puede observar la gran diferencia de emisiones entre las llamadas energías limpias (eólica, solar, geotérmica…) y las sucias (los combustibles fósiles). Sabiendo esto, convendrá instalar nuestros recursos en zonas en las que el mix de electricidad provenga en su mayor parte de energías limpias. Por ejemplo, en Ilitia, estamos priorizando los data centers de Azure que se encuentran en zonas en que la producción de electricidad deja una menor huella de carbono, por dar prioridad a fuentes de energía limpias.

Aquí tenemos una lista data centers de Azure de la UE (donde, por las leyes de protección de datos, nos conviene albergar nuestros recursos):

Id MT per kWhour Display Name
swedencentral 0.00000567 Sweden Central
francecentral 0.00005128 France Central
francesouth 0.00005128 France South
northeurope 0.0002786 North Europe
westeurope 0.0003284 West Europe
germanynorth 0.00033866 Germany North
germanywestcentral 0.00033866 Germany West Central
polandcentral N/A Poland Central

De acuerdo con lo anterior, en estos momentos estamos dando prioridad al data center de Sweden Central, por ser unas 9 veces menos contaminante que la segunda opción, Francia, y unas 60 veces menos contaminante que Alemania. De Polonia no hemos encontrado datos, pero sospechamos que se encuentra, al menos, a la par que Alemania en cuanto a emisiones, de acuerdo con lo devuelvo por la web API de ENTSO-E, de la que hablaremos a en próximos posts.

Continuará… con medidas tangibles para realizar en la ejecución del software.

José Ángel Fernández
Full-Stack Senior Software Engineer at ilitia Technologies

Edición: Jon Burguera