Por Peter Judge, editor ejecutivo de DatacenterDynamics
La huella de carbono del software es fácil de pasar por alto. Después de todo, es el hardware el que realmente consume la energía y genera las emisiones.
Pero todos nuestros centros de datos no tendrían emisiones si no estuvieran ejecutando software. ¡Ni siquiera existirían, porque no los hubiéramos construido!
No es solo el edificio
Es muy extraño que el movimiento hacia los centros de datos ecológicos se centre en el hardware, y casi exclusivamente en los sistemas de aire acondicionado y refrigeración de los edificios, sin prestar mucha atención al equipo de TI y lo que está haciendo.
Esto es un punto ciego. Todos sabemos que el software suele estar inflado. Nuestros teléfonos y computadoras portátiles tienen diez veces la potencia de procesamiento que tenían hace algunos años, pero no vemos un aumento en el rendimiento porque el software absorbe todos los ciclos adicionales, con codificación ineficiente y funciones innecesarias.
Solían decir “Lo que Intel da, Microsoft lo quita” (en la década de 1990, era “Lo que Andy [Groves] da, Bill [Gates] lo quita”).
La mayoría del código se puede reescribir para que se ejecute más rápido y requiera menos hardware, y la mayoría de los procesos se pueden optimizar. Imagínese si pudiera hacer eso con todo el software ejecutándose en un centro de datos de 50MW. Puede ejecutarlo todo en 25MW.
Tendría espacio para la expansión y podría evitar la construcción de un centro de datos adicional completo. Y como dicen, el centro de datos más ecológico es el que no necesita construir.
Carbono eficiente, consciente del carbono
El punto ciego no será ignorado para siempre. Green Software Foundation está trabajando en ello. Ha elaborado un informe sobre el estado del software verde y tres de sus miembros, Anne Currie, Sarah Hsu y Sara Bergman, están escribiendo un libro, Building Green Software , que será publicado por O'Reilly.
El problema es complicado porque el software no se puede ver fácilmente aislado del hardware en el que se ejecuta o de las personas que lo utilizan.
El software es un poco como los pasajeros en una red de transporte. Puede mirar el hardware y hacer que los autobuses y los automóviles sean más eficientes, pero también puede reducir la ineficiencia y hacer que funcione mejor modificando el comportamiento de los pasajeros. Hacer que el software sea ecológico es un poco así.
El software verde tiene dos características importantes. En primer lugar, está diseñado para ser eficiente en carbono. Como lo expresaron Currie, Hsu y Bergman: “El software verde está diseñado para requerir menos energía y hardware por unidad de trabajo”.
Para ayudar con esto, la Fundación está trabajando en Software Carbon Intensity (SCI), una medida que califica el software en función de sus emisiones.
Pero el software también debe ser "consciente del carbono". Debería incluir algún tipo de sonda que rastree qué impacto tiene en el planeta y le permita actuar de forma autónoma para reducir eso, ya sea moviéndose a un hardware más eficiente o fuentes de energía más ecológicas.
El año pasado, en un podcast, el empresario y académico David Mytton nos habló sobre un software que es consciente de dónde se ejecuta, qué energía se utiliza y qué carbono consume.
El software verde también puede retroceder y disminuir la velocidad cuando la electricidad está sucia: "Por ejemplo, podría reducir la calidad del servicio en medio de una noche sin viento cuando la única energía disponible se genera a partir del carbón".
Contracultura
Los creadores de software verde se toman en serio cambiar las cosas, no son hippies idealistas. Pero sospecho que el movimiento es contracultural, por dos razones principales. En primer lugar, los grandes operadores de centros de datos están esclavizados por la ilusión de que pueden ser neutrales en carbono y no tener impacto en el planeta.
Más centros de datos significan más dinero para los desarrolladores, por lo que a los desarrolladores les gusta la idea de que las instalaciones neutrales en carbono puedan permitirles expandirse indefinidamente, sin siquiera abordar la expansión del software. El software verde debería contrarrestar eso.
En segundo lugar, el software verde requerirá esfuerzo y un importante replanteamiento de cómo se evalúan los proyectos. La gran razón detrás del exceso de software es la compensación entre eficiencia y productividad. Es fácil hacer algo rápidamente usando herramientas de alto nivel, sin mirar en detalle cómo funciona. Resolver los problemas y las ineficiencias requiere más esfuerzo.
Ese tipo de esfuerzo no se toma, porque todo el software se crea rápidamente, con un cronograma que tiene que ver con la productividad, sacar algo antes que los competidores o la fecha límite, en lugar de la eficiencia.
Si queremos controlar verdaderamente las emisiones de nuestra industria tecnológica, necesitamos algunos cambios importantes. Y necesitamos un software verde para hacerlos realidad.