¿Qué son las aplicaciones en la nube qué diferencia hay respecto a una aplicación tradicional?

Para que entiendas rápidamente que es una aplicación en la nube primero te voy a decir cuál es su principal diferencia. Una aplicación (programa) en la nube se ejecuta en un servidor al cual tienes acceso vía internet. Es decir, ese programa está “instalado” en otro ordenador diferente al tuyo. En comparación con un programa tradicional que está instalado en tu ordenador.

Casi en cualquier situación una aplicación en la nube tiene muchas más capacidades que una aplicación tradicional. Sin embargo, todavía hay casos en los que no sería aconsejable decantarse por ellas. Estos son todos aquellos en los que necesites una respuesta casi instantánea para que puedas usarlo fluidamente. Estoy hablando de programas de diseño gráfico, industrial, edición de video y audio, etc.

Para el resto de los casos que representan el 90 % de los escenarios en los que sería necesario realizar un programa las aplicaciones en la nube han supuesto una revolución y aunque suena paradójico para utilizar un programa super potente en tu ordenador ya no es necesario que tu ordenador sea super potente. De hecho, desde tu ordenador puedes lanzar operaciones que necesitan una potencia equivalente a los usados por la NASA y estar haciéndolo directamente desde tu móvil. Esto lo hacemos casi todos los días. El buscador de Google es un ejemplo de aplicación web(en la nube) que requiere de una potencia descomunal para poder funcional pero que puede ser usada desde el dispositivo más básico.

Esto es debido a que como hemos dicho inicialmente el programa realmente se está ejecutando en uno o varios servidores, dispositivos externos al tuyo. Los cuales pueden ser tan potente como quieras.

La magia ha llegado a la informática

Las aplicaciones en la nube han abierto un nuevo mundo de posibilidades y han supuesto un cambio radical de las reglas del juego. No somos conscientes, a pesar de estar interactuando con esta tecnología todos los días, del potencial para las empresas y para nuestra sociedad de este tipo de arquitecturas.

Las aplicaciones en la nube son una cosa tan bizarra como comprar un coche de 60 cv en España, pagar una cuota mensual, y que al pisar el acelerador corra como un coche de 200 cv debido a que estás haciendo uso de un motor de 200 cv que está en un almacén de estados unidos.

Si esto te parece imposible, es lo que ocurre cuando entras en YouTube y eres un usuario premium. Sin embargo, no eres consciente de ello.

 Accesibilidad

hacer uso de ellas en cualquier parte del mundo, en cualquier momento, desde cualquier dispositivo e incluso desde cualquier sistema operativo.

Esto hace unos años era impensable. Hasta este momento si queríamos ofrecer o comercializar un programa para diferentes dispositivos y plataformas debíamos de programarlo individualmente para cada una de ellas. Esto suponía una gran inversión económica no solo al programarlo sino también para mantener actualizado todo este enramado.

Centralización

Como hemos dicho las aplicaciones en la nube están instaladas en servidores externo al equipo del cliente. Esto tiene varias ventajas. Primero el cliente no tiene que instalar ningún programa y por tanto tampoco tendrá que preocuparse de instalar las actualizaciones dado que tan pronto como estén instalas en los servidores estarán disponibles para el cliente.

Esto también tiene la ventaja simplificar el mantenimiento dado que al no estar instaladas en los equipos de los clientes no tenemos que preocuparnos de mantener una infraestructura física que este en sus oficinas, ajena a nuestro control.

Otro punto a favor es que es mucho más difícil por no decir prácticamente imposible piratear software dado que nadie salvo la empresa que ha programado la solución tiene el programa ya que no hay que instalarlo en los equipos del cliente y por ello no hay que facilitar una copia al cliente para que pueda usarlo. La validación se reduce a usuario y contraseña.

Más intuitivas y atractivas

Las herramientas que tienen los programadores para hacer interfaces gráficas atractivas y entendibles son mucho más numerosas y versátiles que las existentes en otros lenguajes de programación. Es por esto por lo que los programas en la nube tienden a ser más fáciles de usar.

Menor coste de desarrollo

Otro de los puntos clave es que hay muchos “frameworks” y “librerías” hechas para desarrollar aplicaciones en la nube. Esto quiere decir que muchas de la funcionalidad que queramos que tenga nuestra aplicación ya están preprogramadas y por tanto el tiempo necesario para desarrollar una aplicación es mucho menor. Como comprenderás esto se traduce en menor coste.

Alta disponibilidad y alto rendimiento

Las aplicaciones en la nube ya nacen para estar alojadas en servidores (infraestructura externa al cliente y centralizada) y por tanto es mucho más fácil escalarlas y pasarlas a modelos de alta disponibilidad y alto rendimiento. Esto lo que quiere decir es que normalmente un programa funciona en un ordenador, si este es potente va rápido si este es limitado irá mucho más despacio. Las aplicaciones en la nube pueden desarrollarse para utilizar muchos servidores simultáneamente para aprovechar la potencia de todos ellos para dar servicio. Por ello la potencia con la que puede contar una aplicación en la nube es prácticamente ilimitada. Todo será cuestión de como escalarla y si contamos con el capital necesario para hacerlo y mantenerlo.

Estas aplicaciones pueden estar desplegadas en varios servidorespara obtener más potencia (alto rendimiento) y/o para que en caso de que unos de los servidores fallen, poder seguir dando servicio porque hay otro servidor en la retaguardia esperando para entrar cuando algún otro falla.

Por tanto, las aplicaciones en la nube son muchísimos más fiables dado que puede programarse una política de tolerancia de fallo (de la propia infraestructura) que nos permita seguir dando servicio, aunque haya máquinas o partes del sistema que hayan dejado de funcionar.

Uno de los ejemplos más llamativos es por ejemplo que el propio sistema puede detectar cuando se está quedando sin recursos y contratar automática más servidores y desplegar y configurar la aplicación en esos servidores y todo eso en caliente sin interrupciones ¿No te lo crees? Busca un poco de información sobre Kubernetes, Docker y Amazon AWS.

Máquinas sociales

Con este término amigable hago referencia al hecho de que pueden comunicarse con los servidores de otras empresas  para conseguir automatizar procesos enteros y todo esto de una forma sencilla. Una manera fácil de entenderlo es imaginándote una tienda online, si no hacemos nada la tienda online genera la venta y el cobro al cliente, pero seguramente utilicemos un programa interno para gestionar la facturación y contabilidad. En este caso deberemos meter a mano los datos de los pedidos al programa de facturación.

Si las dos plataformas están en la nube sería infinitamente más sencillo hacer que cuando se genere un pedido en la tienda automáticamente entre al programa de facturación. Y así nos ahorrar mucho tiempo en tareas administrativas que no aportan valor.

👉👉 Apúntate a mi lista de correo electrónico para que no te pierdas ni un solo truco.

No necesitas invertir en infraestructura

Otra ventaja es que no necesitas invertir en infraestructura. Con un programa tradicional necesitas un ordenador potente y esto supone un mayor gasto.

Los planes de la nube suelen ser cuotas mensuales. Esto nos permite empezar con un plan básico e ir escalándolo progresivamente conforme vayamos necesitando más potencia. No es lo mismo gastar 2.000 € de golpe frente a uno cuota de 30 €/mes por ejemplo y teniendo en cuenta que no te tienes que preocupar de averías y además con una garantía del 99,99 % de disponibilidad.

También supone un ahorro en infraestructura de red. Imagínate que tu aplicación necesita de varios servidores para funcionar. Estos servidores hay que cablearlo y comprar y configurar los equipos de red para que estos puedan dar servicio.

Cuando contratamos servidores o VPS en internet estos ya están comunicados internamente en la infraestructura de la empresa suministradora. Por tanto, no tienes que invertir ni dinero en infraestructura de red ni tampoco tiempo para configurarlo y mantenerlo.

Conclusión

Aplicaciones en la nube es:

  • Soluciones que pueden ser usadas en cualquier parte del mundo.
  • Funcionan en cualquier sistema operativo.
  • Pueden mantenerse y gestionarse de manera centralizada.
  • El cliente no tiene que preocuparse de actualizar su software.
  • El sistema es capaz de trabajar con bases de datos de diferentes tecnologías simultáneamente o incluso migrar de una tecnología a otra sin tener que reprogramar todo el programa.
  • El sistema es capaz de trabajar siendo una completa abstracción siendo un sistema de sistemas. Esto quiero decir que el sistema programado lo que hace es comunicarse con otros sistemas ofreciendo un panel desde el cual manejar conjuntamente cada sistema individual.
  • El sistema puede trabajar con modelos de alta disponibilidad y alto rendimiento.
  • La infraestructura de estos sistemas es más barata y paradójicamente más fiable que los programas con modelos anticuados.
  • Estos sistemas permiten tener sistemas de redundancia y poder transicional en caliente. Es decir, nuestro sistema puede estar en varios servidores y cuando uno se cae, deja de funcionar, otro entra a reemplazarlo para poder seguir dando servicio en menos de 1 segundo. Para el cliente todo sigue funcionando con normalidad.
  • Recuperar el sistema o la copia de seguridad de una base de datos es más fácil.
  • El sistema es capaz de escalarse automáticamente. Es decir, si tenemos mucho tráfico y el sistema se está saturando el sistema puede contratar de forma automática más servidores, desplegar la aplicación en los servidores contratados y hacer el balanceo de carga todo esto en caliente y sin interrupciones para el cliente.
  • El sistema puede trabajar simultáneamente con diferentes tecnologías e incluso con diferentes lenguajes de programación e incluso con servidores de diferente sistema operativo. Es decir, es completamente adaptable tanto en funciones como en entorno.
  • Está preparado de forma nativa para comunicarse con otras soluciones.

¿Quieres desarrollar una aplicación en la nube?

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *