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