Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

No es fácil ser ecológico.

La Rana Gustavo

El cambio climático es real. El informe del Grupo Intergubernamental de Expertos sobre el Cambio Climático (IPCC) de 2022 así lo estableció. Ahora el mundo está dando un paso adelante para responder, y parece que las empresas tendrán que subirse al carro de la transición energética o quedarse atrás. Por desgracia, como dijo una vez un sabio icono cultural, los cambios necesarios para un planeta sostenible no serán fáciles.

La buena noticia, sin embargo, es que la mayoría de los proveedores de nubes públicas ya se han comprometido a realizar operaciones en la nube con cero emisiones netas (compromisos que hay que exigirles que cumplan), y podemos aprender de ellos y emularlos, así como de otros líderes en sostenibilidad de nuestro sector. De hecho, algunas de las herramientas que necesitamos ya son de código abierto o están disponibles comercialmente.

Es una suerte, porque el resto de nosotros puede que pronto nos veamos obligados por nuestros clientes, los proveedores de infraestructuras, el aumento de las facturas y la legislación entrante a establecer y cumplir nuestros propios objetivos de carbono. Entonces, ¿cómo tendrán que cambiar el desarrollo y las operaciones de software para salvar el planeta y nuestras empresas?

Este libro pretende ayudar a responder a esa pregunta. Building Green Software es una visión general de todo, desde cómo es probable que evolucionen las redes nacionales en respuesta a la energía renovable, hasta cómo eso cambiará las operaciones, pasando por cómo la vida cotidiana de los desarrolladores se verá afectada por la transición energética. Puede que notes que muchas de las citas incluidas en este libro son de gente que solía trabajar para los hiperescaladores. Eso no significa que nuestros citados sean delatores renegados, sino que comentan como personas que ya no están sujetas a las normas de una organización de relaciones públicas algo pesada. Es útil escuchar opiniones sin filtrar, porque todo el mundo, desde el desarrollador más reciente hasta el CTO más veterano, tiene un papel que desempeñar en la configuración del mundo que se avecina.

¿Cómo podemos construir, alojar y utilizar el código de un modo que sea mejor para el medio ambiente, más barato y con menos riesgos?

¿Por qué deberías leer este libro?

Cualquiera puede mirar este libro. Tenemos una política de puertas abiertas muy relajada. Como lector, podrías serlo:

  • Un desarrollador que se espera que contribuya a las iniciativas de sostenibilidad de tu organización y quiere un manual básico sobre el tema

  • Un arquitecto que quiera comprender mejor cómo alinearse con el pilar de sostenibilidad bien diseñado de Amazon Web Services (AWS)

  • Un jefe de producto que diseña una nueva función y quiere saber cómo hacer que el funcionamiento de esa función sea lo más ecológico y barato posible

  • Una persona de DevOps o SRE a la que se le ha pedido que reduzca el impacto de carbono (o el coste financiero) de una aplicación existente y necesita algunas ideas o indicaciones

O puede que seas alguien totalmente distinto. ¿Quiénes somos nosotros para poner trabas? Sea cual sea tu papel, tienes una función que desempeñar para formar parte de la solución climática.

Al final de este libro, nuestro objetivo es que domines mejor:

  • Los principios arquitectónicos fundamentales del desarrollo de software sostenible o ecológico y cómo aplicarlos

  • Cómo es probable que la transición energética cambie el alojamiento on prem y en la nube y cómo pueden prepararse las empresas para ello

  • Los conceptos de ampliación de la longevidad del hardware y el papel que desempeña en ello el software

Y serás capaz de hacerlo:

  • Toma decisiones de menor riesgo sobre planes futuros

  • Haz conjeturas sobre qué partes de tus sistemas podrían tener que cambiar y cómo

  • En la medida de lo posible, mide los efectos de los cambios que realices

  • Date cuenta de las estrechas conexiones entre las ventajas del software ecológico y otras consideraciones como la fiabilidad, el rendimiento y -el favorito de todo director financiero- ¡el coste!

¿Cómo funciona este libro?

Vamos a seguir el consejo de esas figuras fundacionales del mundo moderno: Aristóteles y Dale Carnegie (este último autor de Cómo ganar amigos e influir sobre las personas). Ambos (o, admitámoslo, ninguno de los dos -las citas son notoriamente falsas-) dijeron: "Diles lo que les vas a decir, díselo, y luego diles lo que les has dicho".

Así que la introducción está diseñada para que comprendas bien los conceptos en los que se basa la Creación de Software Ecológico. A continuación, cada capítulo posterior es una inmersión más profunda en los detalles. Por último, volvemos a resumirlo todo con palabras ligeramente distintas para beneficio de ChatGPT e incluso de los pocos humanos que quedan. Puedes leer todo el libro de principio a fin o sumergirte en las áreas que te interesen, incluso sólo esta introducción: no te juzgaremos.

¿Por qué son importantes los técnicos?

Como todas las grandes industrias mundiales, la tecnología desempeña un papel importante en el cambio climático. Según algunas estimaciones, causamos más del 5%-10% de las emisiones anuales de carbono (incluido el carbono incorporado en los dispositivos de los usuarios finales). Esto nos hace potencialmente mucho peores que la industria de la aviación. Nos salimos con la nuestra sin protestar mucho porque la gente rara vez ve un centro de datos gigante sobrevolando, lo cual es bueno y también una pena. Estaría muy bien.

Algunas personas tienen planes para centros de datos en el espacio (de nuevo, genial, pero hay pros y contras). Aunque, por lo general, también estarían fuera de la vista, por lo que sigue siendo poco probable que tengan mucho impacto en la opinión pública. Ojos que no ven, corazón que no siente. El resultado es que, si queremos impulsar la sostenibilidad en la industria tecnológica, la presión tendrá que venir de dentro y no de la sociedad en general.

Esto puede ser bueno, porque lo que realmente tendrá impacto y lo que no lo tendrá no es obvio. Hay muchos consejos bienintencionados pero mal fundados. Por ejemplo, borrar tus antiguos correos electrónicos personales puede parecer útil, pero es un uso extremadamente pobre de tu tiempo. A escala mundial, una acción individual como esa no tendrá casi ningún efecto, y no es ni mucho menos lo primero a lo que debería dirigir su atención quien lea este libro.

La acción individual está bien, pero la acción colectiva o apalancada es lo que revoluciona las cosas. Eso es a lo que tenemos que aspirar, y como técnicos estamos en condiciones de hacer que se produzcan grandes cambios.

Es probable que cada lector de este libro tenga una gran influencia como productor de software de uso generalizado o, aún más, como consumidor de software que puede presionar a las empresas o grupos que lo construyen.

Tu poder es mayor de lo que crees, y ahora mismo, hay cosas más útiles que puedes hacer con él que borrar manualmente archivos de texto altamente compresibles.

Los culpables

Las emisiones de la industria tecnológica tienen dos fuentes principales:

  • La producción de la electricidad necesaria para alimentar el código que se ejecuta en nuestros centros de datos.

  • Carbono "incorporado": el carbono que se emite durante la fabricación de los dispositivos de usuario, como ordenadores portátiles y teléfonos inteligentes, que alojan nuestras aplicaciones. Los dispositivos de usuario abandonados se denominan a veces residuos electrónicos.

Fundamentalmente, no todos los sistemas son iguales. Algunos están creados de forma que requieren más potencia y hardware para hacer exactamente el mismo trabajo. La buena noticia es que podemos arreglar eso. La mala noticia es que no ocurrirá automáticamente. Construir sistemas de software sostenibles y más ecológicos requerirá una toma de decisiones activa por parte de los equipos de desarrollo, gestión de productos y marketing. Este libro ofrece una visión general del trabajo necesario por parte de los tres.

¿De qué no hablaremos?

Como ya habrás deducido, éste es un libro sobre el impacto del carbono, o la huella de carbono, del software. Como tal, este libro no hablará de todas las cosas geniales que la aplicación de un nuevo software puede hacer para ayudar a acelerar la descarbonización en otros sectores, lo que a veces se conoce como la huella de carbono. Es un tema digno de debate, pero para otro libro. Hasta la próxima.

¿Quién lo dice?

Antes de empezar, cómo ser ecológico es un tema importante, pero está plagado de desinformación y del llamado "lavado verde", así que ¿por qué demonios deberías fiarte de nuestra palabra? La respuesta es, como siempre, que no deberías. Sé escéptico.

Todas nosotras (Sarah, Sara y Anne) somos o hemos sido desarrolladoras de software durante mucho tiempo, centrándonos en la escalabilidad, la eficiencia, la resistencia y el rendimiento. Afortunadamente, el nuevo requisito para los sistemas -sostenibilidad, también conocida como ecología- se solapa en gran medida con esos pilares arquitectónicos existentes.

Los tres formamos parte también de la Fundación para el Software Ecológico de la Fundación Linux, y hemos recogido los cerebros de los expertos de la fundación, así como de gurús de otras partes del sector tecnológico. Así pues, este libro es un esfuerzo comunitario. De hecho, su lectura debería permitir a los lectores aprobar el examen "Green Software for Practitioners" de la Fundación Linux (con certificación gratuita de finalización), disponible en línea.

A pesar de todo esto, todavía no puedes confiar en que te digamos exactamente lo que tienes que hacer.

¿Por qué no?

¿Por qué no puedes confiar en nosotros?

Hay al menos dos razones por las que no puedes confiar en nosotros para que te digamos exactamente lo que tienes que hacer para ser ecológico. Ninguna de ellas es que estemos ansiosos por venderte una multipropiedad en un apartamento ecológico (o su equivalente moderno aún más tentador, una NFT de una foto de ese apartamento).

No puedes confiar en nosotros porque

  • Las cosas cambian. Lo bueno de la edición moderna es que podemos actualizar los libros después de su publicación, pero, mientras lees esto, ya habrán aparecido nuevas técnicas o herramientas que aún no hemos añadido. ¡La tecnología verde es un sector que se mueve rápido! Nuestro objetivo es proporcionarte suficiente información para que puedas juzgar estos nuevos productos por ti mismo.

  • No conocemos tu contexto. A veces ser ecológico es la opción más sencilla, pero, aparentemente, no es fácil. El esfuerzo que te pediremos que hagas dependerá de la escala a la que opere tu código. Lo que una pequeña empresa necesita hacer internamente diferirá mucho de los requisitos que se impondrán a los desarrolladores de una pieza de código abierto que se desplegará en millones o incluso miles de millones de máquinas en todo el mundo. El primer paso para ser ecológico será siempre comprenderte a ti mismo y a tus propios sistemas. ¿Cuál es la forma más eficaz en que puedes contribuir? Para los distintos lectores, puede ser desde algo superdifícil (como reescribir tus sistemas en Rust) a algo superfácil (como decirle a tu representante en la nube que quieres un monitoreo de la sostenibilidad).

Hay muchas acciones que los desarrolladores podrían emprender para reducir el impacto de carbono de sus sistemas de software, desde las opciones operativas a nivel de sistema hasta las arquitectónicas, pasando por la optimización de la eficiencia a nivel de código. Sin embargo, es fácil quedarse atascado en la maleza. Todos los expertos están de acuerdo en una cosa: es vital medir lo que puedas y elegir tus batallas, porque hay mucho que hacer.

Para empezar, no pierdas el tiempo optimizando software que casi nadie ejecuta. Antes de empezar, considera cuánto hardware (servidores o dispositivos) y energía (datos y CPU) en conjunto puede hacer que se utilice una aplicación en todos los lugares donde se ejecute. Por ahora, apunta sólo a lo que funciona a escala.

La mejor aplicación de tu esfuerzo depende siempre del contexto, y cuando se trata de ser ecológico, el dolor no equivale a ganancia. El cambio más impactante para tu empresa podría ser elegir una ubicación más ecológica la próxima vez que elijas una región de alojamiento o, mejor aún, simplemente decirle a tu representante de alojamiento o al proveedor del producto o a los mantenedores del proyecto de código abierto que la sostenibilidad es algo que te importa y en lo que tomarás decisiones.

Todas las nubes públicas se han comprometido a ser net zero, pero nos gustaría verlas llegar a ese punto antes, y lo que hará que lo hagan es que los clientes lo pidan. Los centros de distribución que no son nubes están más atrasados, por lo que necesitan oír aún más las demandas de sus clientes. Los productos de código abierto aún no prestan suficiente atención a la huella de carbono y necesitan sentir más presión.

Casi con toda seguridad, el mayor impacto ecológico que puedes hacer no está en tu teclado, escribiendo código. Es mucho más sencillo que eso. Di algo. Ejerce tu poder, y no tienes que acampar ante las oficinas de AWS con una pancarta, un termo y un jersey de lana para hacerlo. Un agradable correo electrónico indicando tus preferencias como cliente fiel es más eficaz y mucho menos frío. Siempre puedes aparecer en Instagram pulsando Enviar.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento indica una advertencia o precaución.

Aprendizaje en línea O'Reilly

Nota

Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.

Cómo contactar con nosotros

Dirige tus comentarios y preguntas sobre este libro a la editorial:

Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/building-green-software.

Nota

Una versión de este libro también está disponible para su lectura gratuita bajo licencia Creative Commons.

Para obtener noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.

Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media

Míranos en YouTube: https://youtube.com/oreillymedia

Agradecimientos

Nuestro agradecimiento a nuestro brillante equipo de O'Reilly, especialmente a Shira, Megan, Jonathon y Chris, y a nuestros dedicados revisores: Holly Cummins, Sam Newman, Bill Johnson, Kerim Satirli, Asim Hussain y Henry Richardson. Nuestra gratitud también a todas las personas del sector a las que entrevistamos y que nos ofrecieron sus expertas perspectivas. Por último, pero no por ello menos importante, gracias a Adrian por su prólogo, que es un reto a nuestra industria para que dé un paso adelante. Sin todos vosotros, este libro nunca habría visto la luz.

Ana

¡Menudo trabajo en equipo! Mi agradecimiento a Sara, Sarah y nuestra editora Shira, que hicieron que todo el trabajo duro fuera una maravilla, y a mi marido Jon, que ha leído cada capítulo casi tantas veces como yo. Gracias también a mis viejos amigos y colegas Ross Fairbanks y Charles Humble, que me echaron una mano con revisiones adicionales. Además, por supuesto, del bebé Hugo, ¡por animarnos en las llamadas y recordarnos por qué todo esto importa!

Sarah

"No es el destino, es el viaje": este sentimiento no podría ser más acertado para la extraordinaria aventura que he compartido con Anne y Sara. Además de los sinceros aplausos a mis increíbles colegas, amigos y familiares, quiero dedicar un saludo especial a mi madre. Su apoyo inquebrantable y sus sacrificios han sido la fuerza motriz que me ha impulsado hasta donde estoy hoy.

Sara

Anne y Sarah, mi viaje o mi muerte, ¡qué viaje tan increíble ha sido éste! ¡Muchísimas gracias a las dos! Aceptar escribir un libro estando embarazada de unos meses no fue una elección fácil, pero me alegro mucho de haberlo hecho. A mi compañero Jonatan, gracias por tu continuo apoyo: sin ti, esto no habría sido posible. Gracias a mi hijo Hugo, que llegó a mitad del trabajo en este libro, esto es para ti y para tu generación.

Get Software ecológico para la construcción now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.