Desarrollo y prueba de software web Back-End basado en arquitectura de microservicios cumpliendo con los lineamientos de Devops para un sistema de gestión de servicios de telecomunicaciones para personas naturales (2019)
RESUMEN: Un cliente interno de Accenture, dedicado a proveer servicios de telecomunicaciones, desarrolló en la fase inicial de la implementación del software back-end de un canal digital web de adquisición de servicios de telecomunicaciones, el cual tiene como funcionalidad principal exponer los diferentes servicios que este ofrece a sus clientes, bajo una arquitectura monolítica en el lado del servidor. Esto indica que el software en dicho canal digital es una única unidad lógica desplegable con su respectiva base de datos encargada de realizar todas las funcionalidades del canal. Al inicio para el cliente contar con el software del canal basado en arquitectura monolítica no presentaba ningún problema para él, pero con el transcurrir de los años, debido al aumento de la necesidad de adquirir servicios de telecomunicaciones a través de canales digitales, exigió al cliente a ofrecer cada vez mas funcionalidades en el canal digital en cuestión en lapsos de tiempo cortos, esto dejó como consecuencia para el software en el lado del servidor del canal la necesidad de tener un alto acoplamiento y crecer tanto en funcionalidad como en su correspondiente base de datos. Las exigencias en conjunto a las consecuencias que estas dejaron mencionadas en el anterior párrafo implicaron que cada vez que el cliente solicitaba la inclusión de una nueva funcionalidad al canal tuviera que esperar mas tiempo de lo exigido por el negocio implementarla por parte del equipo de desarrollo del canal, esto conllevó a nivel de negocio para el cliente dar ventajas comerciales con respecto a sus competidores y al mismo tiempo perder reputación y dinero. Por otro lado, también implicó tener un software difícil de mantener y de corregir errores, además de disminución en el ritmo de desarrollo. De acuerdo con lo anterior, la arquitectura monolítica y acoplada con la que contaba el software del canal del cliente ha dejado de cumplir con las exigencias de este, es por esto por lo que se separaron las funcionalidades del canal, en tres componentes: gestión de clientes, gestión de servicios y adquisición de servicios, basados en la arquitectura de microservicios. Esto le dio al cliente con respecto al software del canal, un sistema no monolítico, escalable horizontalmente, de bajo acoplamiento, implementación y realización de cambios sobre este de forma rápida y sencilla, estables, en pocas palabras un software fácil de mantener y de modificar para el equipo de soporte y desarrollo de software del canal en cuestión del cliente, satisfaciendo de esta manera las necesidades de este.