Migrando nuestro software como garantía de éxito

En un entorno empresarial cambiante, azotado por la pandemia, y donde se ha disparado el consumo del negocio online, muchas son las empresas que ante los problemas sistémicos subyacentes en sus aplicaciones core de negocio, han puesto sus esperanzas en las nuevas formas de arquitectura y plataformas Cloud actuales.

De entre todas ellas, la que destaca por encima de todas es la arquitectura de microservicios. Está en la mente de muchos responsables de IT migrar sus mastodónticas aplicaciones monolíticas On-Premise a microservicios en Cloud. Aunque muchos responsables se embarcan en esta aventura siguiendo las modas y la corriente, lo cierto es que realmente en muchos casos esta migración si que aporta cosas positivas, y no es una simple moda. Difícilmente una aplicación monolítica va a ser mejor opción en sistemas IT grandes, complejos, con desarrollos constantes y/o con altas cargas de trabajo que impacten en el rendimiento.

Desde Kiteris, conscientes de este hecho, hemos apostado por tener a las personas mas preparadas en las nuevas tecnologías y arquitecturas que requieren con urgencia nuestros clientes. Para preparar a nuestros desarrolladores en este tipo de proyectos hemos decidido migrar nuestras aplicaciones de gestión internas, empezando por Pandora que es nuestra herramienta de seguimiento y gestión interna.

¿Qué tiene Pandora?

Pandora es nuestra aplicación que engloba todo el conocimiento de nuestros empleados más allá de la típica aplicación para incurrir las horas. Recoge los conocimientos, cursos, niveles, equipos, experiencia, CV y si, también recoge los horarios, vacaciones y las consabidas imputaciones de horas.

¿Qué tecnologías, diseños y arquitectura presenta?

Hemos ido migrando Pandora a microservicios a través del Patrón Strangler. Siendo Pandora una antigua aplicación ASP.NET MVC, se realizo el desarrollo del proxy de dicho patrón mediante la creación de un API Gateway. Esto nos permitió realizar cambios en Back de Pandora sin que el Front se viese afectado, y a su vez, migrar el Front a una SPA sin verse afectado al acoplamiento con el back que antiguamente poseía.

¿Qué nos motivó a migrar?

En Kiteris no queremos ser herrero con cuchillo de palo. Cuando nosotros, tras un estudio en detalle de la solución de un cliente, recomendamos migrar a microservicios, lo hacemos con honestidad. Migrar a microservicios implica un esfuerzo inicial. Es cierto que el coste inicial se amortiza rápidamente cuando se realizan evolutivos sobre la nueva arquitectura, y también se maximiza el rendimiento con el escalado horizontal de microservicios en Cloud, pero también somos conscientes que requiere de un esfuerzo inicial y no podríamos pedir ese esfuerzo a nuestros clientes si nosotros mismos no estuviésemos dispuestos a hacerlo.

Decidimos migrar la antigua aplicación monolítica On-Premise por dos motivos; el primero, porque nos dimos cuenta que la deuda tecnológica, como en el caso de las aplicaciones de nuestros clientes, estaba creciendo. Cada vez resultaba más costoso arreglar incidencias o realizar nuevos desarrollos sobre nuestra antigua aplicación monolítica. Y, por otro lado, porque decidimos que sería la plataforma ideal que permitiría formar y asignar con garantías a cualquiera de nuestros desarrolladores en proyectos de migración o mantenimiento, para este tipo de desarrollos.

Por cierto, toda la migración la hemos realizado siguiendo metodologías ágiles basadas en Scrum, incluyendo una daily meeting de asistencia voluntaria cada mañana, por ejemplo. Así también practicamos las formas ágiles de trabajo.

¿Y cuando esté todo migrado?

Pandora como todas las aplicaciones core, tiene una importancia estratégica para la empresa. Siendo como somos una empresa con vocación de innovación, no podemos contentarnos con las arquitecturas establecidas en la actualidad. También debemos investigar las nuevas tendencias, analizarlas y descubrir si les aportara valor a nuestros clientes y de ser así, en que escenarios son adecuadas. Está en nuestro roadmap futuro el estudiar, entre otras cosas, la inclusión de microfrontends como nueva arquitectura en la parte cliente Front.

Garantía de éxito

Cualquier desarrollador que presentamos a un proyecto con arquitecturas avanzadas, ha realizado desarrollos y mantenimientos en Pandora, supervisado por los expertos con más experiencia en las tecnologías implicadas. Hasta nuestro desarrollador más junior está preparado para encarar con éxito el desarrollo en aplicaciones con microservicios y Cloud con mucha mayor solvencia que otros con más años de experiencia. Conceptos como API Gateway, Serverless, SPA, CQRS o Cache Aside son interiorizados por nuestros desarrolladores de forma que para ellos resulta tan natural trabajar con este tipo de tecnologías y patrones como lo es trabajar con simples aplicaciones monolíticas MVC o cliente servidor.

Porque esté en nuestro ADN: la vocación por el servicio.

Carlos Aisa Autor
CTO | Chief Architect