Diario de Valladolid

Qué son y dónde desarrollar aplicaciones en la nube

-

-

Publicado por
Redacción de Valladolid
Valladolid

Creado:

Actualizado:

Actualmente coexisten muchas tecnologías que nos permiten crear y desarrollar aplicaciones de distinta índole para alojarse en la nube, pero no todas las plataformas, proveedores, lenguajes y frameworks son compatibles, por lo que exploraremos brevemente qué tienen para ofrecer cada una.

Cuando hablamos de aplicaciones nos referimos a casi cualquier tipo de programa que realice cálculos u operaciones a partir de una entrada del usuario y cuyo resultado será devuelto a este mismo. En este sentido una aplicación puede ser:

  • Una web app o aplicación web:

Se trata de un programa de computadora que ejecuta sus cálculos en un servidor. Puede tener una interfaz que se visualiza y ejecuta en el cliente a través del navegador. Un ejemplo claro de este tipo de aplicación es el webmail o cliente de correo electrónico.

  • Un app nativa para dispositivos móviles (Android, iOS):

Un dispositivo móvil es un pequeño ordenador que ejecuta aplicaciones de un modo similar al de los computadores de escritorio. En este caso podemos tener aplicaciones que ejecutan completamente sus cálculos y operaciones en el propio dispositivo (ej.: procesador de texto, edición fotográfica, juegos, etc.) o que se traten exclusivamente de una interfaz gráfica para la interacción con el usuario, y que los cálculos se ejecuten en un servidor remoto (generalmente se conectan a bases de datos), por lo que requieren necesariamente de una conexión activa a internet. Como este artículo trata sobre la nube, descartamos la primera opción.

  • Sitios web dinámicos y complejos:

Conocidos como CMS por sus siglas en inglés de Content Management System , o Sistema de Administración de Contenidos, son completos sistemas que se visualizan sobre el navegador web brindando completas soluciones modulares y en general de código abierto. La diferencia entre este tipo de aplicaciones y las web apps no está del todo clara y definida, pero en general, estas aplicaciones requieren necesariamente de una interfaz gráfica, mientras que en las web apps no es obligatorio.

Puedes acceder a cientos de aplicaciones web, CMS y demás que se encuentran empaquetadas para su utilización inmediata en el catálogo Bitnami .

Con la denominación: “en la nube” nos referimos a cualquier servidor no local o remoto, por lo que el envío de datos en ambas direcciones se realiza a través de internet.

Habiendo aclarado estos aspectos, podemos decir que las aplicaciones son instancias computacionales de interacción bidireccional entre el usuario y el ordenador.

Una característica que destaca a las aplicaciones en la nube de las locales es la presencia de un nombre de dominio de internet fiable , que permite acceder al servidor y por lo tanto a la aplicación desde cualquier parte del mundo a través de internet. Si bien no es un requisito obligatorio (puesto que la dirección IP ya es suficiente para alcanzar un servidor), es una herramienta fundamental por la facilidad de memorizar y la apariencia de profesionalidad que brinda. Mientras que una dirección IP puede cambiar si nos mudamos de servidor, el dominio se puede mantener invariante para evitar problemas de acceso.

Para alojar estas aplicaciones podemos encontrar diferentes tipos de plataformas y servicios, los cuales pueden ser ciertamente difícil de distinguir porque básicamente son ordenadores remotos que ejecutan aplicaciones, pero de distintas formas de facturación, precios y potencias computacionales. Exploraremos las más conocidas:

#1: Hosting o alojamiento web compartido:

Se denomina así a un servicio informático remoto de “servidor web” (Apache o Nginx) que cuenta con un espacio de almacenamiento para contener los archivos a ejecutar, conexiones con bases de datos y otros servicios. Ejecutan HTML, PHP y algunos ASP.NET. Se administran a través de un panel de control integrado (cPanel o Plesk)

#2: Hosting VPS o Servidor Privado Virtual:

Se trata de una especie de “máquina virtual” que se ejecuta en un servidor físico real. Esta es una instancia completa de servidor con sus recursos, sistema operativo y aplicaciones, de las cuales tienes control absoluto y puedes expandir tu plan (escalar) para acceder a mejores recursos.

Se utilizan para tener mayor versatilidad sobre lo que está ejecutando, pudiendo obtener mejores recursos y potencia de cómputo. Mientras que en el caso anterior solo se limita a sitios web estáticos, dinámicos y web apps sencillas.

#3: Kubernetes:

Es una tecnología relativamente nueva, de código abierto y desarrollado por Google, pero donada a la Cloud Native Computing Foundation . Aparece como una forma más automatizada de crear, implementar y escalar contenedores de aplicaciones. De esta forma se puede gestionar más eficientemente los recursos de hardware según la demanda y necesidad.

#4: Cloud services o servicios de computación en la nube:

Son servicios genéricos para brindar soluciones modulares según cada necesidad específica de la web. Brindan servicios como:

  • Almacenamiento en la nube.
  • Ejecución de aplicaciones.
  • Servidor de bases de datos relacionales y no relacionales.
  • Desarrollo de aplicaciones, implementación, codificación y monitorización.
  • Análisis de datos.
  • Datos masivos o big data.
  • Cadena de bloques o blockchain.
  • Servidor de videojuegos.
  • Internet de las cosas (IoT)
  • Servidor de correo electrónico.
  • Muchas otras más.

Esta forma de administrar los recursos y soluciones es mucho más eficiente que disponer de un servidor propio o dedicado, puesto que podemos acceder a una facturación por uso y así evitar costos innecesarios de infraestructura y pagos por tiempos no utilizados.

Proveedores de estos servicios son muchos, pero se destacan tres gigantes que compiten por la supremacía de los servicios en la nube: Google Cloud Platform , Amazon Web Services y Microsoft Azure . Cada una con sus ventajas y desventajas, pero que sin duda proveen servicios de excelente calidad y capacidad de cómputo.

#5: Servidor dedicado:

Es simplemente un ordenador del cual tienes absoluto control a través de una conexión remota. Todos los recursos son dedicados para ti y puedes instalar y modificar lo que quieras. La ventaja frente a un servidor propio es que no tienes que ocuparte del mantenimiento de este, puesto que eso lo realiza el centro de datos o datacenter . Además, no tienes que asumir los costos iniciales de adquirir los equipos ni los costos de instalación técnica.

No es muy utilizado debido a los costos elevados frente a los nuevos servicios descritos en el punto anterior, los cuales son mucho más eficientes y por lo tanto más accesibles económicamente.

Estas son algunas de las opciones conocidas que puedes acceder para alojar y desarrollar tus aplicaciones más allá del aspecto de la programación. Debes tener en cuenta que no son las únicas y que existen soluciones intermedias y proveedores de servicios en la nube con otras ventajas. Estas siempre dependen del tipo de proyecto y objetivos puntuales para los que desarrollar una aplicación, por lo que una buena idea es siempre el mejor punto de partida.

tracking