fbpx

Hospedaje en la nube, ¿es lo que necesito?

Cada vez mas nos familiarizamos con el termino “En la nube”, incluso decimos “Tengo mi nube personal” refiriéndonos al espacio en algún lugar donde no se donde pero que accedo a través de internet, o simplemente, “está en internet”.

Pero decir “En la nube” y “En internet” no es necesariamente lo mismo. En ambos casos se trata de un conjunto de software y hardware que prestan un servicio para poder devolverte los archivos que de alguna forma pusiste “ahí”, pero la diferencia radica en la infraestructura de este conjunto de hardware y Software.

En la nube se refiere a un servicio donde nuestra interfaz es software, un panel de control y creamos “micro-servicios”, donde están estos micro-servicios y sobre que equipo o equipos corre.. pues no lo sabemos a ciencia cierta, el computo en la nube es distribuido, es decir, hay un montón de maquinas conectadas entre si y en alguna de ellas ha de correr nuestro servicio, pero no siempre será en ese equipo. La ventaja que tiene esto es que los recursos permitidos para nuestro micro-servicio están de cierta forma garantizados ante la cantidad de capacidad de procesamiento de esta granja de servidores.

En cuestión del almacenamiento la cosa es similar. El almacenamiento es distribuido y casi siempre redundante, esto significa que hay multiples copias de tus archivos y estos se encuentran distribuidos en uno o mas datacenters. Las bases de datos tienen un comportamiento mas o menos similar.  Otra ventaja es que el espacio es limitado por software, por lo que dependiendo de nuestro presupuesto este puede escalar casi al infinito.

Entonces, si el hospedaje en la nube me permite escalar en procesamiento, me permite escalar en almacenamiento, tiene redundancia para el almacenamiento, para la base de datos y la capacidad de procesamiento esta garantizada, que impide que todo mundo migre a “la nube” ?

La gran diferencia, como ya decía, es la integración entre hardware y software, al ser todo por un panel de control uno pierde total control del hardware, porque técnicamente nunca interactuas con el hardware.

También tu aplicación debe estar desarrollada con el API de la nube en mente. Así que usar diferentes servicios en la nube como Amazon o Google significa que tu app debe cumplir con mas requisitos.

Entonces, ¿Cuándo me conviene hospedar en la nube?, básicamente si tu app:

  • Es un conjunto de micro servicios, cada uno relativamente independiente del otro
  • Necesitas escalar, es decir, tener la capacidad de responder a una cantidad de usuarios que requerirá mucho almacenamiento o mucho CPU como para tenerlo en un solo equipo.
  • En sus requerimientos no importa el hardware sino el software (esto va mas del lado de los devs y los sysadmins)

Y en que momento me conviene tener mi propio servidor (aunque sea un VPS):

  • Tu servicio cabe perfectamente en un servidor
  • O tienes sysadmins chidos que saben lo que hacen y pueden crear un cluster de servidores
  • Necesitas tener control total del software y hardware
  • No ocupas cantidades insanas de almacenamiento
  • Tu base de usuarios la puede manejar uno o varios servidores.