Software architecture

¿Aún es necesaria la arquitectura de software?

Con el auge la infraestructura Cloud, los microservicios, frameworks y arquitecturas de referencia para cada posible dominio y requisito de calidad, uno puede llegar a pensar que el conocimiento sobre arquitectura software ya no es necesario. La necesidad de la arquitectura de software, como disciplina, se pone en cuestión.

A fin de cuentas, todo lo que hoy en día un arquitecto de software necesita hacer es seleccionar entre el conjunto de herramientas y alternativas del mercado, instanciarlas y configurarlas y ya tenemos una arquitectura.

No creo que sea cierto. Puedo estar condicionado, porque soy arquitecto de software, pero creo que la arquitectura de software sigue siendo tan relevante hoy como podía serlo hace 20 años. Intentaré argumentarlo.

En primer lugar, el ritmo al que crecen los nuevos requisitos es cada vez más acelerado. Ha sido así por muchos años y continúa siéndolo. Hoy en día los arquitectos nos encontramos con un flujo imparable y cada vez mayor de requisitos funcionales y bugs que arreglar derivados de las necesidades del negocio y de la competitividad. Si los arquitectos no prestan atención a la modularidad del sistema, éste se convierte rápidamente en algo difícil de modificar, mantener y depurar, llendo todo eso en perjuicio del negocio.

En segundo lugar el nivel de abstracción de los sistemas sigue incrementándose y en consecuencia cada vez se requiere que los sistemas sean más complejos. La arquitectura va de controlar la complejidad, y no parece que ésto vaya a dejar de ser necesario por ahora.

Tercero: El crecimiento meteórico que caracteriza al mundo de los sistemas de información implica que, sin diseños de arquitectura adecuados se hace imposible comprender por completo un sistema de información en el mundo real.

Cuarto: A pesar de disponer de herramientas que automatizan muchas de las tareas que antes se realizaban de forma manual, sigue siendo necesario comprender los requisitos y atributos de calidad de los sistemas, así como los que emergen al combinar unos sistemas con otros. Muchos de estos atributos (rendimiento, seguridad, disponibilidad, confiabilidad…) son susceptibles de sufrir el problema del “eslabón más débil” y estos eslabones débiles puede que sólo aparezcan cuando usamos sistemas compuestos. Sin una guía para evitar estos problemas, la composición de sistemas es muy propensa a tener fallos. La disciplina que ofrece esta guía es la arquitectura de software.

Dadas todas estas consideraciones, mi conclusión es que definitivamente sí, la arquitectura de software es tan o más relevante en este momento de lo que ha venido siendo hasta ahora.

Comparte

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *