Servidor Privado Virtual (VPS) de bajo costo para proyectos de IoT

5
126

¿Qué es eso de un VPS? Cuando se habla de un servidor web la mayoría de las personas que conocen un poquito sobre este tema piensan que se trata de un servicio muy caro, prohibitivo para la mayoría de las personas. De hecho, en muchos casos lo es. Para tener este sitio disponible en Internet tengo que pagar una suma de dinero cada mes, equivalente al pago del 50% de mi factura de Internet/Cable/Telefonía. No les diré cuanto es, pero ya algunos de ustedes se imaginarán. Este es un gasto extra que tengo todos los meses, pero que trato de aprovechar al máximo, para que se convierta en una inversión.

Dentro de las múltiples posibilidades que se tienen a la hora de adquirir un servidor web están los hosting compartidos, los VPS y los server dedicados. Yo empecé alquilando un hosting compartido, y luego de algunos años pude cambiarme a un VPS. Sin embargo, para sacar el mejor provecho a estos servicios, conviene alquilarlos por largos periodos de tiempo. Yo acabo de renovar mi VPS por los próximos 3 años, lo cual me da un precio más cómodo pero a la vez representa un problema, pues me toca invertir una importante suma de dinero cada 3 años. Es una factura por 36 meses… piensa en ello.

Pero, ¿qué es eso de web hosting, hosting compartido, VPS y server dedicado?. Procedo a explicarte:

  • Web hosting: Cuando adquieres un servicio de Web Hosting se te asigna espacio en disco dentro de una computadora conectada a Internet de banda ancha y encendida de manera permanente que se ubica en alguna parte del mundo, como Los Estados Unidos, Suecia, India o algo así. Puede ser en cualquier lugar, todo dependerá de la empresa. En esta carpeta tu colocas los archivos que tu quieras y se te permite acceder a ellos a través de HTTP, ya sea a través de una IP (poco convencional) o a través de un dominio, que es lo más común.
    Con el servicio de hosting es necesario tener un dominio web, de forma tal que cuando una persona entra a Internet y escribe «www.tudominio.com», esa persona establece una conexión remota a tu web server y podrá ver los archivos que tu tengas en tu servidor. Normalmente estos archivos se colocan en formato HTML, con su respectivo PHP, CSS, JavaScript o cualquier lenguaje de programación web, de forma tal que las personas que acceden a tu dominio puedan visualizar una interfaz gráfica (página web) en vez de archivos guardados en una carpeta.
    Así es como funciona Internet y la enorme mayoría de páginas web: archivos guardados en una carpeta en una computadora en alguna parte del mundo, en un formato tal que cuando accedes a esos archivos desde un navegador web, podrás visualizar una interfaz gráfica en la forma de una página web.
    Aparte de HTTP, el usuario puede utilizar otros protocolos para establecer comunicación con el servidor web, tales como FTP y SSH (también SFTP).
  • Hosting compartido: Cuando adquieres un web server con hosting compartido, se te asigna una «carpeta» dentro de una computadora, que es el propio web server. En esta computadora habrá otras carpetas asignadas a otros usuarios, a las cuales no podrás tener acceso pues la información de cada usuario se mantiene privada y aislada del resto de los clientes. Es común que las empresas ofrezcan este tipo de servicios acompañados de «espacio en disco infinito», «ancho de banda infinito», «recursos de computación infinitos». Esto es más una estrategia de marketing que una realidad.
    Este tipo de servicio tiene la ventaja de ser más barato que las otras opciones (hay planes desde 2 o 3 dólares mensuales en adelante), pero a su vez conlleva desventajas tales como que tu información almacenada en el servidor se vea afectada por las actividades de otros usuarios. Va a ser muy difícil que otro cliente pueda ver tus archivos, pero sus actividades pueden afectar el desempeño del propio web server. Si algunos de los clientes es atacado por un hacker, un DoS o si su servidor se infecta con algún malware, esto definitivamente afectará el desempeño del servidor y afectará al resto de los clientes.
    Otra desventaja es la imposibilidad de instalar software a petición del usuario y la incapacidad de correr programas hechos por el usuario. Se trata de un servicio que es económico, pero limitado en cuanto a recursos y maniobras disponibles al usuario.
  • Virtual Private Server (VPS): Un VPS es otro tipo de hosting compartido, pero que a la vez no es compartido. Un VPS es, básicamente, una máquina virtual siendo ejecutada en un servidor web. Esta máquina virtual le da al usuario la capacidad de tener el equivalente a una computadora para sí solo, donde el único cliente eres tú. En un mismo servidor puede haber varias máquinas virtuales al mismo tiempo, pero cada usuario tendrá el equivalente a una computadora para sí mismo, con recursos asignados de procesadores, memoria RAM, disco duro y ancho de banda. Los usuarios podrán instalar programas y correr aplicaciones en el servidor web. Imagina tener un programa corriendo en una computadora en alguna parte del mundo que ejecute una tarea periódica sin que tengas que estar pendiente de la ejecución del programa.
    Este tipo de servicio es más caro que el hosting compartido, pero te da una amplia flexibilidad sobre tu servidor. Por ahora es la opción que yo utilizo y me siento cómodo con ella.
  • Server dedicado: Un server dedicado es eso, un server para ti solito. Tener un server dedicado representa alquilar una computadora que estará siempre encendida, siempre conectada a Internet, en la que el único usuario serás tu. En el VPS hay varias máquinas virtuales corriendo en una computadora, pero con un server dedicado el único cliente en la computadora eres tú. Tiene las mismas ventajas que un VPS, pero es más potente en cuanto a recursos y se trata de un servicio más exclusivo. De todos este es el más caro, normalmente partiendo de 75 dólares por mes hacia arriba. Imagínate pagar 36 meses por adelantado de un servidor de 75 dólares mensuales… Este tipo de servicios es utilizado por empresas con cierto volumen de clientes y por páginas web grandes con alta exigencia de recursos.

Aclaradas estas dudas podemos concluir que el costo de un servidor web depende del tipo de servicio que se te brinde, cada uno de los cuales tiene sus ventajas y desventajas.

La importancia de un VPS en los proyectos de IoT

Cuando se trabaja en proyecto bajo el concepto de Internet of Things (IoT) resulta muy conveniente contar con un servidor web al cual se puedan enviar datos para su almacenamiento. En un servidor web podemos contar con una base de datos tipo MySQL en la cual se pueden guardar cientos de miles de registros de manera ordenada. Para la gestión de la información es posible utilizar lenguajes de programación del lado del servidor, tales como PHP o NodeJS, entre otros.

Todo buen proyecto de IoT puede requerir del uso de un servidor par alcanzar ciertos objetivos, o bien, para optimizar procedimientos. Las bases de datos y los scripts en PHP se pueden correr en un servidor compartido, pero si se desea utilizar NodeJS, Python, Java u otra plataforma muy posiblemente será necesario un VPS o un server dedicado. Igual si deseamos tener un programa corriendo en el servidor que se encargue de, por ejemplo, extraer información de algún dispositivo de hardware o enviar datos a algún nodo.

Si se trata de un proyecto con financiamiento la contratación de un VPS no debe ser un problema. Pero, si lo que eres es un entusiasta que está aprendiendo sobre IoT, si eres alguien que hace cosas de este tipo como pasatiempo o simple y llanamente no tienes presupuesto para un VPS, te invito a que conozcas la plataforma Clouding.io.

Esta empresa te brinda la posibilidad de contar con tu propio VPS de bajos recursos y, por extensión, bajo costo. Para un proyecto pequeño no serán necesarios varios GB de RAM o varios núcleos. Con que tengas un pequeño espacio en la nube y puedas ejecutar un par de scripts de bajo consumo será suficiente para la mayoría de los proyectos pequeños en los que trabaja la gente.

Yo, por ejemplo, he aceptado una promoción de 5 euros que me ha brindado esta empresa para crearme un VPS pequeñito con el que he hecho algunas pruebas con IoT. Este servidor cuenta con 5 GB de espacio en disco (SSD), 1 GB de RAM y 0.5 núcleos virtuales (si… medio núcleo), recursos que son más que suficientes para manejar un par de scripts y una base de datos. Le he instalado el sistema operativo Ubuntu, aunque pude haber usado Debian o también CentOS. Todo esto, pagando 3 euros mensuales, lo cual no me parece nada mal.

VPS creado en la plataforma Clouding.io

En este servidor se permite el uso de email, hay backups, acceso remoto por medio de SSH, entre otros servicios esenciales disponibles en cualquier VPS. A la hora de crear tu VPS te dan la oportunidad de elegir los recursos que quieres que tenga. Por supuesto que, entre más recursos tengas, más costoso será. Yo seleccioné el mínimo en recursos para saber cuanto sería el VPS más económico de todos, siendo este de 3 euros al mes.

vps
Ventana de creación de VPS

Una vez creado el VPS te dan una IP y las credenciales para acceder a través de SSH a tu servidor. Yo he hecho la prueba de conexión y he instalado Java para asegurarme de que en realidad puedo hacer las cosas que se pueden hacer con un VPS.

vps
Ventana de SSH (izquierda), junto a navegador SFTP (derecha). Se ha instalado Java desde la consola y sin problemas

Hice una instalación de Java funcionó perfectamente. Esto significa que ahora puedo crear programas en Java en mi computadora e instalarlos en el VPS para que sean ejecutados en la nube. Imagínense todo lo que representa dicha posibilidad. Sin duda este servicio ofrece un VPS genuino con una distro de Ubuntu listo para ser utilizado en cualquier proyecto.

Espero que esta información sea de utilidad para ustedes. Personalmente recomiendo este servicio pues yo, que utilizo un VPS como hosting para este sitio web les puedo decir que me tomó varios años alcanzar la solvencia económica para costear un VPS para mi proyecto. Quizás en un principio no era necesario un VPS como el que tengo ahora y en ese entonces el servicio de Clouding.io habria sido una solución perfecta para muchas de mis necesidades. De hecho, posiblemente con ellos estaría pagando menos de lo que pago ahora por mi hosting actual.

Cualquier comentario me lo hacen llegar a través de la caja de comentarios.

5 Comentarios

  1. Bro, olvide decirte que para que le añadas más seguridad a tu proyecto puedes utilizar un certificado SSL gratuito de Let’s Encript y renovarlo automáticamente con el robot CERBOT cada 90 días, así la información viajará cifrada por internet.

    • Muchas gracias por la observación. En efecto, lo que compartes al parecer es una mejor opción. Parece como si cada vez que uno encuentra una opción económica para estas cosas aparece alguien recomendando una que es mejor y más económica

Dejar respuesta

Please enter your comment!
Please enter your name here