Por qué la sostenibilidad de las aplicaciones es más que una elección de lenguaje de programación

Esta semana, Forrester presentó el concepto de sostenibilidad de aplicaciones y señaló que, si bien los lenguajes menos abstractos pueden tener costos de energía más bajos, existen otras consideraciones en el desarrollo y la implementación sostenibles. Ya sea que su equipo esté iniciando una iniciativa de desarrollo sustentable o si desea analizar críticamente a los proveedores que afirman la sustentabilidad de las aplicaciones, todos deben pensar más allá del lenguaje. A medida que las organizaciones consideran el impacto ambiental de sus aplicaciones, estos son los factores a considerar:

Lenguaje de programación

Como hemos discutido, los lenguajes de bajo nivel son más eficientes por sí solos, pero mientras calcula la eficiencia del lenguaje de programación, asegúrese de incluir el consumo de energía del compilador, el enlazador y el generador de código de bytes.

Resolución de problemas y algoritmos.

Es difícil encontrar una solución optimizada a un problema y codificar a través de un algoritmo ineficiente: puedo sumar 1 + 1 para obtener 2, o puedo sumar primero 4, luego restar 7, luego sumar 3… y también obtener 2. Se necesita computadora experiencia científica para pensar en soluciones optimizadas y escribir algoritmos eficientes con codificación efectiva. Tenga en cuenta que hoy en día menos desarrolladores tienen experiencia en lenguajes de nivel inferior, por lo que insistir en lenguajes de nivel inferior limitará su grupo de desarrolladores experimentados. Como resultado, puede terminar con algunos desarrolladores menos experimentados que explotan el uso de energía de otras maneras.

Prueba de eficiencia

Las pruebas son fundamentales para el proceso de desarrollo de aplicaciones. Si las pruebas son ineficientes o están mal diseñadas, también aumentarán el uso de energía, especialmente a medida que construimos más pruebas automatizadas, ya que Agile y DevOps han fomentado una automatización despiadada. Pasar de la automatización despiadada a la automatización inteligente aprovechando la IA y el ML para determinar cuándo automatizar una prueba o ejecutar una prueba automatizada podría ser un gran ahorro de energía.

Diseño de aplicaciones

Un nivel superior a la codificación, un diseño deficiente también puede resultar en un mayor consumo de energía. Un diseño incorrecto podría implicar que se ejecute más código: una interfaz de usuario que llame a servicios compartidos continuamente, que esté disponible a través de la red y en una máquina remota, consumiría mucha menos energía si estuviera ubicada. Asegúrese de que sus desarrolladores tengan buenas habilidades de diseño de sistemas, pero también piense en las capacidades de diseño de los arquitectos de productos que también deben considerar la sostenibilidad.

Despliegue de aplicaciones

Todo lo que se implementa en producción consume espacio y puede requerir rutinas de equilibrio de carga o virtualización para intercambiar archivos binarios dentro y fuera. Pero el proceso de implementación de aplicaciones también podría tener procesos de alto consumo de energía. Los ingenieros de DevOps tienen un papel clave en la provisión de canalizaciones optimizadas y efectivas para la entrega de código.

Protección de aplicaciones

Una vez implementadas, las organizaciones deben monitorear el rendimiento de las aplicaciones y protegerlas de ataques a través de una combinación de infraestructura y herramientas de seguridad (piense en firewalls de aplicaciones web, administración de bots, herramientas de seguridad en tiempo de ejecución y herramientas de observación). Todos estos están asociados con la aplicación y consumen energía, así que agréguelos al total. Para las herramientas que protegen varias aplicaciones, divida el consumo de energía entre las aplicaciones protegidas.

Uso de datos

Las aplicaciones producen y utilizan una gran cantidad de datos. Procesar y almacenar esos datos puede volverse costoso e ineficiente. Dado que se espera que el almacenamiento de datos represente el 14 % de las emisiones globales de carbono para 2040, es hora de echar un vistazo a los datos de las aplicaciones y preguntarnos si los necesitamos todos. Tal vez las aplicaciones ignoren por completo algunos datos recopilados, o tal vez podamos reducir algunos períodos de retención. Bonificación: deshacerse de los datos innecesarios también puede ayudar a las empresas a contar una mejor historia de privacidad.

Desconfíe de cualquier organización que apunte a la elección del idioma como el único indicador de su compromiso con la sostenibilidad y pregúntele cómo abordan los otros factores. Además, pregunte acerca de la medición: ¿Cuál es el costo marginal de energía para cada nuevo usuario de la aplicación? Las métricas son difíciles de conseguir en este momento, pero a medida que el movimiento de sustentabilidad de las aplicaciones cobra fuerza, solicite a las organizaciones de vanguardia que compartan sus métricas y fórmulas de sustentabilidad.

Esta publicación de blog es parte de la serie del Día de la Tierra 2022 de Forrester. Para obtener más información de Forrester sobre sustentabilidad, consulte el conjunto completo de Forrester’s acción climática blogs

Esta publicación fue escrita por la analista principal Sandy Carielli y apareció originalmente aquí.

Deja un comentario