Elaboración de prototipos en la nube

Por Aníbal Gonda, Director de Desarrollo de Negocios de GeneXus Internacional

Hoy en día, la nube se ha convertido en un escenario que nos permite hacer muchas y diferentes cosas, gracias a la tecnología disponible. Comenzamos tímidamente con los correos electrónicos, y hemos ido sumando más y más servicios, de tal forma que actualmente podemos usar la nube para casi todo.
Precisamente, uno de los procesos más interesantes que hoy podemos hacer con la nube es prototipar aplicaciones. Aquellos que llevamos unos años en el desarrollo de aplicaciones, sabemos que a mediados de los noventa, prototipar aplicaciones web era algo realmente engorroso, ya que la necesidad de recursos era muy grande, entre servidores html, servidores de base de datos, red, etc.
Entrando al nuevo siglo, la tecnología que ha ido apareciendo nos ayuda cada vez más a que podamos contar con todos los servicios locales en nuestra máquina, lo que hace que la prototipación se acelere mucho. El punto es que lo que logramos probar localmente, no se corresponde fielmente a lo que luego vamos a instalar en muchos de los casos.
Hay que tener muy claro que durante el desarrollo de cualquier aplicación de software se tiene que realizar muchas pruebas, pues el ambiente de producción no es el mismo en el que los usuarios instalarán el software. Así que hay que hacer pruebas, tanto en ese ambiente de producción local primero, como en los ambientes de producción, antes de liberar el desarrollo.
¿Qué pasa si pensamos en Smart Devices? La situación es más o menos la misma, ya que si bien podemos realizar los test y pruebas en forma local con emuladores de los distintos dispositivos, estos no reflejan por completo cuál será la funcionalidad real en cada sistema operativo móvil, ni cómo será la experiencia del usuario.
Hoy podemos aprovechar que muchas empresas proveen el servicio de poder alojar aplicaciones en la nube, en servidores con idénticas características a los que utilizaremos en producción, y los mismos manejadores de base de datos, para generar un ambiente 100% idéntico al que tendremos en producción, y llevar a él nuestras aplicaciones a pruebas más exhaustivas con el fin de evitar así las engorrosas pruebas de ‘ambiente’ cuando vamos a llevarlas a producción.
Por otra parte, tener la aplicación en la nube nos brinda movilidad, y la posibilidad de incluir en el proceso de prototipación a usuarios remotos, al no tener la aplicación en nuestra máquina o un servidor local, con un acceso muy limitado. De esta forma, logramos una mayor interacción con el usuario final.
En el caso de los Smart Devices, esta alternativa facilita aún más la prototipación, porque con la nube podemos realizar todas las pruebas en los dispositivos reales. Hoy, la gran cantidad de dispositivos móviles que existen en el mercado, con distintas características y sistemas operativos, hacen que esto sea extremadamente útil para que las aplicaciones cumplan al 100% con la funcionalidad y con las características propias de cada dispositivo, mejorando de manera importante la experiencia del usuario. 
Entre las empresas más populares que proveen servicios corporativos de alojamiento en la nube están Amazon Elastic Compute Cloud (Amazon EC2) o Microsoft Windows Azzure. Con este tipo de servicios, tenemos disponible todo lo que necesitamos para poder realizar las pruebas: servidor web y servidor de base de datos, en función del servicio y configuración que deseamos y contratemos.
Asimismo, ante la diversidad de dispositivos que encontramos en el mercado, siempre podemos encontrar un usuario tester en un amigo que acaba de comprar su Smart Device de última generación que no disponemos en nuestro laboratorio, o en uno que tiene aquél tan antiguo que nos habíamos olvidado que existía, pero que aún es válido en el mercado.
Una vez que se tiene el espacio en la nube, lo único que se debe de hacer es subir la aplicación a ella. Eso sí, no se debe olvidar al contratar el servicio que el espacio en el servidor que se contrate debe contar con seguridad sobre los objetos y base de datos, de forma que nadie que no esté autorizado por nosotros pueda acceder a nuestros datos y aplicaciones.
Esta es una forma sencilla y de bajo costo para realizar prototipos 100% efectivos de nuestra aplicaciones.
Posted in Sin categoría