Convirtámonos en los arquitectos de un mundo más limpio y verde
La nube tiene un
Al cambiar el consumo de electricidad a momentos y lugares donde la electricidad es más limpia, la programación puede mitigar el cambio climático y garantizar un futuro más limpio y seguro para nosotros y las generaciones futuras. Esto es Carbon Aware Computing, y tiene el potencial de hacer que el desarrollo de software sea una fuerza crítica para mitigar el cambio climático al ayudarnos a elegir y optimizar la energía libre de carbono con un código consciente del clima.
No hay muchos ejemplos de computación consciente del carbono, razón por la cual eventos como __ Carbon Hack 22 __ son significativos para generar nuevas ideas y acelerar la innovación en la programación de software para crear aplicaciones que sean conscientes del clima y sensibles a la energía. .
Green Software Foundation __ analiza la conciencia de __carbono como la idea de hacer más cuando más energía proviene de fuentes “limpias” bajas en carbono y hacer menos cuando más energía proviene de fuentes “sucias” con alto contenido de carbono. Como desarrolladores, podemos hacerlo midiendo y respondiendo a la intensidad de carbono de la electricidad (gCO2/kWh), lo que puede ayudar a crear código para reducir la cantidad de emisiones de carbono generadas a través del software.
En términos generales, hay 3 enfoques:
2. Time Shifting: ejecutar nuestro software en un momento más limpio; cuando la energía limpia está siendo generada por el viento, el agua o la energía solar.
Crear aplicaciones conscientes del carbono es un desafío, a pesar de varias fuentes de datos, en parte porque algunas de estas fuentes son difíciles de navegar. los
Si tú visitas
Podemos conectarlo a API como
Time Shifting: ¿A qué hora es mejor ejecutar mi software?
Cuando cambie el tiempo, puede usar el punto final de /emissions/bylocations/best API, proporcionándole la ubicación que le interesa en el campo de ubicación . Actualmente, los nombres de las ubicaciones se asignan a los nombres de las regiones de Azure. También debe proporcionar la ventana de tiempo durante la cual puede mover el trabajo. La hora de inicio debe ingresarse en el campo de hora y el final de la misma en el campo hasta la hora. Las fechas proporcionadas deben estar en el formato ISO 8601.
Puede solicitar datos directamente de la API a través de una solicitud de Curl de la siguiente manera:
curl -X 'GET' \ 'https://carbon-aware-api.azurewebsites.net/emissions/bylocations/best?location=uksouth&time=2022-10-08T00%3A00%2B01%3A00&toTime=2022-10-08T23%3A59%2B01%3A00' \ -H 'accept: application/json'
O incluso simplemente una solicitud HTTP GET normal en el navegador .
Como salida, recibirá una matriz de objetos JSON, con el nombre de la región de WattTime para la ubicación, la hora de los datos, la calificación de intensidad de carbono y la duración durante la cual estos datos son válidos (WattTime proporciona datos en intervalos de 5 minutos). Estos datos serán las calificaciones de carbono más bajas para la ubicación solicitada. Esta consulta analiza los datos de una sola ventana de 24 horas, por lo que para obtener un resultado preciso, es posible que desee solicitar datos para varios días (por ejemplo, mirando el punto final /emissions/bylocations ) y verificar si no es uno. tiempo de caída en la intensidad de carbono!
[ { "location": "UK", "time": "2022-10-08T00:45:00+00:00", "rating": 351.98767912, "duration": "00:05:00" }, { "location": "UK", "time": "2022-10-08T00:40:00+00:00", "rating": 351.98767912, "duration": "00:05:00" }, { "location": "UK", "time": "2022-10-08T00:35:00+00:00", "rating": 351.98767912, "duration": "00:05:00" } ]
Al cambiar de ubicación, puede usar el mismo punto final que antes ( /emissions/bylocations/best ), pero para este momento, proporcione varias ubicaciones que le interesen y una sola hora durante la cual está buscando. La siguiente consulta de ejemplo tiene varias ubicaciones proporcionadas, teniendo en cuenta uksouth, eastus y francecentral . Puede proporcionarle una ventana de tiempo (similar al cambio de tiempo) o un punto de tiempo único en su lugar, completando los campos time y toTime .
Puede solicitar datos directamente de la API a través de una solicitud de Curl de la siguiente manera:
curl -X 'GET' \ 'https://carbon-aware-api.azurewebsites.net/emissions/bylocations/best?location=uksouth&location=eastus&location=francecentral&time=2022-10-08T09%3A00%2B01%3A00' \ -H 'accept: application/json'
O incluso simplemente una solicitud HTTP GET normal en el navegador .
Como salida, recibirá el mismo formato de respuesta, con ubicaciones que tienen la intensidad de carbono más baja, junto con el tiempo para esa lectura, el valor real de la intensidad de carbono y la duración de validez de estos datos.
[ { "location": "FR", "time": "2022-10-08T08:00:00+00:00", "rating": 242.21832558, "duration": "00:05:00" } ]
Conformación de la demanda: ¿Cómo ajusto el comportamiento del usuario?
Para implementar la configuración de la demanda, use una combinación de las consultas anteriores y otras para determinar la mejor manera de ajustar el comportamiento de su aplicación.
Imagínese si todavía llevara a cabo esos trabajos de capacitación de aprendizaje automático que consumen energía... pero solo cuando la red eléctrica que los alimenta funcionaba con energías renovables. Imagínese si su lavadora solo funcionara en el momento en que su red local funcionaba completamente con energía eólica. Imagine que desea ejecutar su tubería de CI simultáneamente todos los días, pero se asegura de que solo se ejecute en una zona de disponibilidad (país) que actualmente funciona con energía verde. En todos estos casos, seguiría consumiendo tanta energía como antes, pero generaría muchas menos emisiones de gases de efecto invernadero.
Ya sea que esté sondeando la API de Carbon Aware, ejecutándola en un contenedor local o como una herramienta de línea de comandos (CLI), puede usar los patrones de desarrollo basado en eventos para conectar eventos en su aplicación con activadores en la red eléctrica. Su propia red local o una más verde y distante.
Según sus casos de uso, puede permitir que todo un dispositivo, un trabajo informático o una aplicación funcionen exclusivamente con energía renovable, ya sea solo cuando la red local es verde o solo desde zonas que actualmente funcionan con energía verde.
En lugar de ser mecánicos que mantienen en marcha el motor de las emisiones digitales, seamos los ingenieros que ayuden a reducir la velocidad y quizás incluso contribuyan a la reconstrucción.
La computación consciente del carbono es la próxima frontera de la ingeniería de software sostenible. Algunos de los responsables de la toma de decisiones más influyentes en la industria están interesados en reducir las emisiones de carbono del software y demostrarlo al prestar sus recursos y contribuir con importantes premios en metálico a
Ahora también es trabajo de los ingenieros de software crear soluciones que hagan menos daño tanto a las personas como al planeta. La computación consciente del carbono es la forma en que las generaciones actuales y futuras de ingenieros de software pueden ayudar a lograr este objetivo.
Escrito por Asim Hussain, director ejecutivo y presidente de Green Software Foundation