Consejos para desarrollar aplicaciones de misión crítica
Tener en cuenta estas cinco consideraciones le ayudará a tener un mejor enfoque al desarrollar sus aplicaciones de misión crítica.
Llamamos aplicaciones de misión crítica a aquellas aplicaciones que tienen un impacto muy importante en el funcionamiento de la organización o negocio y cuya falla traería efectos terribles. Un ejemplo evidente es el del correo electrónico, un elemento vital en la comunicación corporativa, cuya caída parece convertir todo en un caos. En el caso de las aplicaciones de nivel operativo puede ser aún peor, pues puede quedar detenida la actividad principal de la organización, con todas las consecuencias que esto implica para el negocio.
En el pasado, el manejo de este tipo de aplicaciones se reducía fundamentalmente a usuarios de una red local, totalmente controlada. Generalmente, las mismas residían en costosos servidores, que las grandes corporaciones podían soportar. Hoy en día esta situación ha cambiado, casi todas las organizaciones tienen aplicaciones de misión crítica, independientemente de su tamaño. Otro cambio interesante es que estas aplicaciones no están instaladas en redes locales, sino en la nube.
Por eso es importante tener en cuenta algunos puntos esenciales al momento de pensar en el desarrollo de aplicaciones de misión crítica:
-
Plataforma tecnológica: Es importante considerar dónde se va a ejecutar nuestra aplicación, si en un servidor nuestro o de terceros, sobre qué sistema operativo, con cuáles bases de datos necesita relacionarse y qué lenguaje es el que nos conviene. Este primer punto tiene un abanico muy amplio, ya cada opción nos lleva a tomar decisiones que dictarán los resultados futuros de la aplicación.
-
Flexibilidad: Debemos tener en claro que, a nivel tecnológico –usando palabras de Heráclito– lo único constante es el cambio. Por ello, debemos considerar que la decisión que tomemos en este momento respecto a la plataforma, bases de datos, sistema operativo y demás debe poder acompasarse a los cambios de tecnología que el mercado nos impone.
-
Escalabilidad: La alta disponibilidad es fundamental para una aplicación de misión crítica, ya que no podemos permitirnos malos tiempos de respuesta, o peor aún, tiempos en los cuales la aplicación no funcione. En este punto en particular, las posibilidades que brinda el hardware son muy amplias, ya que en el pasado las aplicaciones residían en un servidor y las alternativas para incrementar su potencia conllevaban siempre un cambio de servidor. Pero hoy se tiene una mayor flexibilidad y potencia aumentando procesadores en un mismo servidor, con la posibilidad de tener redundancia para mejorar y garantizar el desempeño y funcionamiento de las aplicaciones.
-
Seguridad: Con todos estos cambios en las TI, la seguridad se ha vuelto cada vez más importante, ya que dejamos de tener una red local totalmente controlada para estar expuestos al uso de internet, lo que hace que nuestras aplicaciones sean vulnerables a hackeos, pérdida de datos o robo de información. Nuestra aplicación debe de responder y respetar los más altos estándares de seguridad que existan en el mercado y mantenerse actualizada en forma permanente, ya que todos los días se están descubriendo vulnerabilidades de los sistemas.
-
Pruebas (Testing): Muy relacionado con los puntos anteriores, las pruebas de la aplicación son fundamentales en estos días que corren, ya que podemos detectar errores en etapas tempranas de desarrollo, lo mismo que vulnerabilidades o problemas de desempeño. Hoy el testing es una disciplina en sí misma en el departamento de informática, tal como lo son la seguridad y el desarrollo y administración de aplicaciones.
Acerca del autor: Aníbal Gonda es evangelista técnico de GeneXus Internacional.