Cultura

Sostenibilidad en ingeniería: cómo establecer indicadores clave de rendimiento (KPI) que te ayuden a alcanzar el éxito

Ejemplo de cómo podemos ser sostenibles en ingeniería
10 min
Publicado:
2 de mayo de 2023
Compartir

La sostenibilidad es fundamental

La sostenibilidad es sumamente importante: no solo porque queremos ser una empresa socialmente responsable, sino también porque a nuestros clientes les apasiona trabajar con socios sostenibles. Todos queremos, de forma conjunta, evitar que este planeta se deteriore. Y en GumGum Engineering nos tomamos esto muy en serio.

Publicaremos una serie de entradas de blog en las que se describirán las iniciativas emprendidas por el departamento de Ingeniería de GumGum para mejorar las medidas de sostenibilidad en diversos ámbitos de la ingeniería.

La necesidad de indicadores clave de rendimiento (KPI) además de las emisiones de carbono

En pocas palabras, ser sostenible significa reducir las emisiones de carbono. Aunque para nosotros eso está perfectamente claro, puede resultar un poco complicado cuando tu empresa está creciendo rápidamente. Si tu empresa crece y tu tráfico aumenta, es lógico que vayas a utilizar más servidores y, en consecuencia, que también vayas a emitir más carbono al medio ambiente. 

A continuación se muestra un gráfico que ilustra el crecimiento de nuestra capacidad de cálculo en una de las regiones de AWS durante los últimos 15 meses:

Texto alternativo: Crecimiento de la región de AWS en los últimos 15 meses

Para seguir creciendo al tiempo que se trabaja para limitar las emisiones de carbono, es necesario encontrar un equilibrio. Por eso es importante establecer una serie de indicadores que muestren claramente que, independientemente del crecimiento, las emisiones de carbono se están reduciendo de forma efectiva.

A continuación te presentamos algunos indicadores clave de rendimiento (KPI) que pueden ayudarte a dar los primeros pasos:

Indicadores clave de rendimiento (KPI) para una plataforma del lado de la oferta (SSP)

Contamos con una plataforma de oferta bastante grande y recibimos miles de millones de impresiones y solicitudes de puja al día. Cientos de servidores repartidos por todo el mundo gestionan estas solicitudes. Las denominamos «solicitudes de inventario».

Estas solicitudes de inventario afectan a los tres principales factores que generan emisiones de carbono y que están presentes en la infraestructura de todas las empresas:

  1. Informática 
  2. Almacenamiento
  3. Transferencia de datos

La solicitud de inventario debe procesarse, por lo que se utilizará la «potencia de cálculo» o CPU. Las solicitudes de inventario se envían a nuestro Kafka, a S3 y también a nuestros socios de demanda y oferta, lo que genera un volumen bastante elevado de transferencia de datos tanto dentro como fuera de la nube. Además, esta solicitud de inventario se guarda en S3 con fines de análisis y generación de informes, lo que supone un consumo de almacenamiento.

Por lo tanto, una forma de reducir las emisiones de carbono sin dejar de crecer es reducir los recursos de computación, almacenamiento y transferencia de datos necesarios por cada solicitud de inventario. Esto nos da tres indicadores clave de rendimiento (KPI):

Texto alternativo: Primer KPI para la solicitud de inventario
Texto alternativo: Segundo indicador clave de rendimiento (KPI) para la solicitud de inventario
Texto alternativo: Tercer indicador clave de rendimiento (KPI) para la solicitud de inventario

Aunque estos indicadores clave de rendimiento (KPI) son un buen punto de partida, siguen siendo indicadores aproximados de las emisiones de carbono. En este caso, un indicador ideal sería el de las emisiones de carbono por solicitud de inventario. 

¿Por qué la métrica proxy es suficiente, al menos a corto plazo?

El principal problema a la hora de medir las emisiones de carbono es que, sencillamente, no se dispone de esos datos. La herramienta AWS Carbon Footprint cuenta con datos de hace seis meses. No creemos que esperar a que AWS mejore sus datos sea una opción viable. Existen muchas herramientas disponibles, incluso en el ámbito del código abierto, como Cloud Carbon Footprint de ThoughtWorks. Sin embargo, aunque puede medir bastante bien las emisiones de carbono relacionadas con la computación, no creemos que sea capaz de medir con precisión nuestra transferencia de datos. Por la misma razón, no queremos que se asignen cifras de emisiones de carbono a los tipos de instancias de AWS.

Uno de los mayores problemas es que las emisiones de carbono varían en función de la región de AWS y de la disponibilidad de fuentes de energía sostenibles. AWS se esfuerza continuamente por reducir sus emisiones de carbono y, por ello, cualquier fórmula empírica que se utilice para calcular esas cifras no será precisa.

Por eso resulta mucho más útil una métrica indirecta. Es fácil de medir —actualmente está disponible en CloudWatch— y es precisa en términos de tendencia. Eso significa que, si simplemente utilizamos menos recursos de computación, podremos afirmar que hemos reducido las emisiones de carbono. Obviamente, somos conscientes de que aquí podría haber algunos casos excepcionales. Por ejemplo, si parte de la carga de trabajo se traslada de las CPU Graviton a las CPU Intel, en teoría es posible que la huella de carbono aumente, a pesar de que se reduzca el uso de la CPU. Pero creemos que esto ocurrirá en contadas ocasiones en nuestro entorno, ya que somos un equipo de ingeniería muy consciente de los costes.

Conclusión

Cuando se establecen indicadores claros y cuantificables como los anteriores, resulta muy fácil evaluar el rendimiento de los distintos equipos a la hora de reducir las emisiones de carbono. Basta con dar a conocer estos tres sencillos indicadores entre los equipos de ingeniería e incluso fijar objetivos para cada uno de ellos. Como se suele decir: «¡Que sea sencillo, tonto!» 

{{cta-1}}

Perspectivas, investigación y visión práctica.