Crear una nube en tu casa

19 julio, 2018

El concepto de Nube o Cloud Computing ha tenido un éxito tremendo: ha pasado de ser un término de marketing para vender servicios de computación remota a estar en boca de todos nuestros conocidos -incluso los más legos tecnológicamente- que no tienen ningún reparo en usar la Nube para hacer sus copias de seguridad, guardar sus datos personales o utilizar la multitud de servicios que nos puede proporcionar.

Usada correctamente, la Nube permite a los usuarios utilizar aplicaciones (redes sociales, inteligencia artificial, aplicaciones en alta disponibilidad o almacenamiento masivo de datos) que no podríamos ejecutar nunca en nuestra infraestructura doméstica por falta de recursos, ya sea informáticos o humanos.

Pero, aplicada sin criterio, la Nube limita nuestra libertad y pone en peligro nuestros datos: puede ocurrir que un servicio que fuese gratuito pase a ser de pago, que nuestros datos sean revelados o utilizados, o que un servicio sea eliminado por no ser ya rentable para el proveedor.

Es especialmente sangrante la moda de ejecutar arbitrariamente servicios en la Nube que podrían ser ejecutados localmente sin problema. En este caso, la Nube no aporta ninguna ventaja, solo inconvenientes como: lentitud de respuesta, dependencia del proveedor, dependencia de la conexión a Internet y pérdida de privacidad.

En algunos casos, incluso, se ligan unos dispositivos físicos a un servicio en la Nube, que se proporciona bien de forma gratuita, bien mediante el pago de una cuota mensual. De esta manera, estos dispositivos quedarán siempre bajo el control del proveedor y aunque los hayamos pagado, no podremos usarlos cuándo y cómo queramos.

Por esa razón, al proponer mi Trabajo de Fin de Grado de Ingeniería Informática pensé que sería interesante investigar alternativas viables a los servicios en la Nube con la idea de aplicarlas a los servicios que podamos necesitar en nuestros hogares o en redes colaborativas como Guifi.net. Esto equivaldría a poner una nube en nuestra casa.

La solución ha sido un conjunto de componentes de software, hardware y tecnologías abiertas (Raspberry, Cloudy, Docker, Swarm, Node-Red, Mosquitto, keepalived, syncthing), que juntos conforman una microCloud, una infraestructura que podemos ejecutar de manera local, con la mayoría de las ventajas de la Nube, pero sin sus grandes inconvenientes.

Esta microCloud abierta tiene las siguientes características:

  • Ofrece alta disponibilidad a cualquier servicio Docker que ejecutemos.
  • Es escalable, permitiéndonos añadir más nodos, internos o externos, para ajustar los recursos de la microCloud a nuestras necesidades.
  • Gracias a la tecnología de Docker Swarm, permite ejecutar sistemas distribuidos complejos de servicios preconfigurados desde un único fichero de configuración.
  • Nos proporciona pleno control sobre nuestros servicios.
  • Nos proporciona pleno control sobre nuestros datos.
  • Es de bajo coste, con 3 nodos iniciales y menos de 50 Euros por nodo de computación.

En el transcurso de mi trabajo, he creado un sistema en el que no solo la microCloud reemplaza con éxito un servicio de hogar inteligente en la Nube proporcionado por el fabricante, sino que también permite ejecutar localmente aplicaciones avanzadas tales como análisis y monitorización de datos o una infraestructura FaaS con OpenFaas. Podréis encontrar este trabajo de fin de carrera, llamado “Diseño e implementación de una microCloud abierta para IoT” en el repositorio O2 de la UOC.

 

Elías Rael es un profesional de la informática que se ha dedicado a su hobby desde hace más de 30 años y que ha decidido adaptar su Ingeniería Técnica de Informática de Sistemas por la Universidad de Alicante a Grado de Ingeniería Informática en la UOC, 22 años después. Sus intereses actuales son los sistemas distribuidos y open source.

(Visited 113 times, 1 visits today)
Autor / Autora
Comentarios
Deja un comentario