4 aspectos clave a la hora de desarrollar aplicaciones de misión crítica
¿Qué son las aplicaciones de misión crítica? Son aplicaciones de suma importancia y alto impacto cuyo desempeño es, por supuesto, crítico.
Una aplicación que es la columna vertebral del sistema de vacunación de un país en una pandemia; una aplicación que procesará cientos de miles de transacciones comerciales, o una a través de la cual se realizarán ventas; o una aplicación que gestiona el paso de barcos por un canal, como el Canal de Panamá, son solo algunos ejemplos. Si estas aplicaciones no funcionan, las consecuencias pueden ser muy graves para las organizaciones, las empresas, las personas o la sociedad.
Whitepaper: Todo lo que necesita saber sobre los sistemas de misión crítica
Ante el reto de desarrollar una aplicación de misión crítica, tendremos que abordar aspectos técnicos y conceptuales que son esenciales. Sin embargo, creo que estos 4 aspectos son la base del futuro éxito de esta aplicación:
1 – Equipo y roles
¿Qué equipo tendré y qué roles deberán cumplirse para construir este tipo de solución?
Para desarrollar una aplicación de misión crítica necesitaremos incluir estos perfiles: analistas de negocio, UX (diseño de interacción, diseño visual y diseño de la propia arquitectura), escritores, desarrolladores, expertos en seguridad y testers.
Un equipo diverso y claramente definido es esencial para construir una aplicación robusta de misión crítica.
2 – Procesos y automatización
¿Qué procesos constructivos involucrados deben ser automatizados? ¿Qué tan eficientes van a ser estos procesos?
Aquí entra en juego la interacción entre roles: SecDevOps y/o DesignOps. Se toman algunas decisiones, como: ¿Se utilizarán microservicios? ¿Qué tipo de base de datos? ¿Qué tipo de servicios estarán expuestos? ¿Qué proveedor de nube se utilizará? Y así.
3 – Comprender la historia de fondo de la necesidad de la aplicación
¿Qué historias sobre las necesidades nos llevan a construir el sistema de misión crítica?
En el ejemplo del sistema de vacunación, nos preguntamos qué necesitaríamos darle al usuario. Una historia fue: “No queremos que los usuarios pasen horas interactuando con el sistema para obtener una cita para una vacuna.”
Del mundo de los usuarios surgen historias que hay que llevar al mundo de las soluciones (y no al revés).
Los usuarios proporcionarán historias que serán clave para construir un sistema de misión crítica.
4 – Gestión de datos e información
Lo más probable es que una aplicación de misión crítica involucre un sistema » intensivo de datos «, con una gestión intensiva de datos.
Los factores relevantes son cómo se maneja la información, cómo se accede a ella, cómo se almacena y cómo se muestra, así como la calidad de los datos y quién es su propietario.
El modelado de datos es crucial aquí. Puede que esté usando los mejores proveedores de datos y una arquitectura notable, pero si no hago un buen modelado de datos, mi sistema de misión crítica tiene muchas posibilidades de fallar.
En resumen: tener un buen equipo, entender las historias de los usuarios, modelar los datos y modelar los procesos son, en mi opinión, las preguntas y consideraciones más relevantes que se deben hacer. Además, deberían venir mucho antes de que pensemos qué arquitectura vamos a usar, si vamos a usar una arquitectura de micro servicios, o una arquitectura macro o monolítica, o si vamos a hacer que el sistema sea escalable. O no.
Para profundizar en estos y otros aspectos importantes, como la velocidad de ejecución y la escalabilidad, las API, los patrones de arquitectura y otras consideraciones técnicas que permiten la implementación en un tiempo récord, puede ver el siguiente video.