How to Escape “The Legacy Trap”?
\"The Legacy Trap\" is the term that describes the situation in which existing software code becomes outdated and problematic to maintain.
¿Qué significa aplicaciones de misión crítica? Son aplicaciones de suma importancia y de alto impacto cuyo correcto funcionamiento es -valga la redundancia- crítico.
Una aplicación de la cual depende
el correcto funcionamiento del sistema de vacunación de todo un país en una pandemia
; una aplicación en donde van a pasar cientos de miles de transacciones de negocio; o una donde se van a hacer ventas a través de ella, o por la que se gestiona el paso de un barco por un canal, como puede llegar a ser el
Canal de Panamá
; son algunos pocos ejemplos para ilustrar el concepto de que son aplicaciones que si no funcionan, sus consecuencias pueden llegar a ser muy nefastas, tanto para una organización, como para un negocio, individuo o sociedad.
Whitepaper:
Todo lo que debes saber sobre Sistemas de Misión Crítica
Al momento de vernos con el desafío de desarrollar una aplicación de Misión Crítica, deberemos resolver varios aspectos esenciales, técnicos y conceptuales; sin embargo, considero que estos 4 aspectos son la base del futuro éxito de esa aplicación:
Con qué equipo voy a contar y qué roles voy a tener que tener que involucrar en la construcción de este tipo de soluciones.
Si vamos a hacer algo de misión crítica, vamos a necesitar involucrar estos perfiles: analista del negocio, UX (diseño de interacciones, diseños visuales y el diseño de la propia arquitectura), writers, desarrolladores, expertos en seguridad tester.
Un equipo diverso y definido es esencial para construir una robusta aplicación de misión crítica.
¿Cuáles son esos procesos en la construcción que vamos a estar trabajando que tienen que ser automatizados? ¿Cómo va a ser la eficiencia de estos procesos?
Aquí intervienen las interacciones de roles: SecDevOps y/o DesignOps, y se toman algunas decisiones tales como: ¿Se usará micro servicios? ¿Qué tipo de base de datos? ¿Qué tipo de servicios vas a exponer? ¿Qué proveedor de cloud?, etc.
¿Cuáles son las historias que tengo que resolver que nos están llevando a la construcción del sistema de misión crítica?
En el ejemplo del
sistema de vacunas
nos preguntamos qué íbamos a necesitar darle al usuario. Una historia fue: “
No queremos que los usuarios estén horas interactuando con el sistema para conseguir turno para la vacuna
”.
Desde el mundo de los usuarios aparecen historias que luego hay que llevarlas al mundo de las soluciones (y no al revés).
Los usuarios nos van a contar historias que van a ser clave para la construcción de un sistema de misión crítica.
Es muy probable que una aplicación de Misión Crítica conlleve un sistema “data intensive
”, con manejo de datos intensivo.
Es relevante el manejo de la información, cómo la accedo, cómo la guardo, cómo la muestro, cuál es la calidad de los datos, quiénes son los dueños de esos datos.
Aquí el modelado de datos
es central. Puedo estar usando los mejores proveedores de datos, una arquitectura notable, pero si no hago un buen modelado de los datos, mi sistema de misión crítica tiene alta probabilidad de fallar.
En definitiva
: contar con un buen equipo, comprender las historias de los usuarios, modelar los datos y modelar los procesos; son, desde mi punto de vista, las cosas más relevantes que nos tenemos que preguntar y que tenemos que considerar, mucho antes de pensar en qué arquitectura voy a estar utilizando, o si voy a estar utilizando una arquitectura de micro servicios, o si voy a estar utilizando una arquitectura de macro o monolítica, o si voy a hacer mi sistema escalable o no.
Para seguir profundizando en estos y otros aspectos importantes, como los son la velocidad de ejecución y la escalabilidad, APIs, patrones de arquitectura, y otras consideraciones técnicas que nos permitan hacer un despliegue en un tiempo récord, les invito a ver el siguiente video.
Deja una respuesta