Como construir nuevos sistemas coexistiendo con sistemas legados

API Economy

Como construir nuevos sistemas coexistiendo con sistemas legados
07/07/2021

¿Cómo hacer que lo viejo y lo nuevo funcionen juntos?

Los viejos sistemas de TI no son necesariamente algo malo. Abordarlos en la era actual de Internet no significa derribar todo, pero sí significa aplicar un poco de pensamiento al proceso antes de comenzar. Romper el problema, y luego el trabajo, en pedazos más pequeños es la mejor manera de comenzar.

Cuando se trabaja con tecnología, es raro que se pueda construir algo totalmente nuevo sin tener que pensar en sistemas o servicios que ya existen.

Es mucho más común tener uno o más sistemas existentes que apoyen el funcionamiento del negocio, desde hojas de cálculo o bases de datos complejas hasta grandes sistemas de back-office.

Cuando te dispones a desarrollar nuevos servicios digitales, a menudo tienes que pensar en cómo alimentar datos u obtener información de estos sistemas existentes.

Pero estos a menudo tienen características que lo hacen difícil. Tal vez hayan crecido y se hayan expandido más allá de su propósito original. O son lentos y costosos de cambiar. Pueden ser difíciles de escalar o estar vinculados con tareas de misión crítica que limitan su disponibilidad.

Por otro lado, sus nuevos servicios digitales deben responder al cambio para que pueda satisfacer las necesidades de los usuarios. Tienes que moverte rápido y probar cosas nuevas. Sus servicios deben escalar para satisfacer la demanda y deben estar disponibles a todas horas.

Estas son dos culturas muy diferentes, tanto técnica como operativamente. ¿Cómo haces que lo viejo y lo nuevo funcionen juntos?

Hay muchas maneras de conectar sistemas entre sí, desde sincronizar datos entre antiguos y nuevos, hasta desarrollar API para permitir que la información de uno actualice al otro. Ese es el tipo de cosas que los tecnólogos a menudo llaman una “integración”. Pero, ¿por dónde empiezas?

Es tentador tratar de resolver el problema de una sola vez con una solución, particularmente si el sistema existente es difícil o costoso de cambiar. Pero hacer esto viene con su propio conjunto de problemas.

A menudo, los sistemas existentes han crecido y se han vuelto más complejos con el tiempo. Diseñar e implementar una sola integración monolítica para todo llevará mucho tiempo, y su nuevo servicio digital no funcionará hasta que todo esté hecho.

Es probable que no sepa todo lo que su nuevo servicio digital necesitará desde el primer día, por lo que va a hacer conjeturas que podrían no ser correctas y requerirán cambios más adelante. Cuanto más grande y compleja sea la integración, más tiempo tardará en cambiar más tarde.

La alternativa es iniciar integraciones pequeñas y diseñar basadas en las necesidades del usuario, exactamente de la misma manera que desarrollaría el nuevo servicio digital.

Desarrollar integraciones basadas en las necesidades del usuario significa:

  • Empezar poco a poco y pensar cuál es el tipo de integración adecuado para cada problema
  • Empezar más rápido: no necesitas modelar todo el universo de una sola vez, solo los bits que necesitas
  • Dar la oportunidad de pensar si la cosa existente tiene sentido, tal vez necesite ser modificada o cambiada
  • Averiguar dónde podría necesitar poner más esfuerzo y gastarlo en los lugares correctos
  • Aislar cada parte de su integración, lo que facilita la iteración, la mejora y la escala a medida que cambian las necesidades

La modernización de aplicaciones es parte de nuestro servicio de Arquitectura Digital

Para más información contáctanos a [email protected]

https://www.prodigio.tech/2019/03/11/como-advertir-una-mala-arquitectura-ti/