Estudios de paisaje, cartografía (R y QGIS), diseño ambiental 3D (Blender) y análisis de datos geográficos en R

Contact Info
Ferrol, Santiago de Compostela, Galicia, Spain, The World

+00(34) not yet...

Privacy

Follow ModlEarth

Configuración óptima de VMware para Shiny Server. Mini PC con Ubuntu server en casa.

Configuración óptima de VMware para Shiny Server. Mini PC con Ubuntu server en casa.

Este artículo proporciona un análisis detallado y una serie de experimentos, sobre cómo configurar VMware para un servidor Shiny utilizando un mini ordenador, Beelink Mini S12 en este caso. El objetivo principal es establecer un servidor eficiente y rentable para realizar experimentos y pruebas para desplegar en él pequeñas herramientas de análisis de datos. También se incluyen detalles sobre cómo optimizar la configuración para aprovechar al máximo los recursos disponibles.

¿Quieres montar tu propio servidor, bueno, bonito y barato? ¿Quieres que además este te sirva como R Studio accesible desde cualquier lugar y que además de permita desplegar Shiny apps? Este es tu post.

Introducción

Este vídeo es una muestra experimental de cómo el mini pc Beelink Mini S12 puede ser utilizado como servidor linux en casa. En este caso, el mini pc viene con Windows 11 pro y ya eso es un plus, sobre todo por la posibilidad de acceder a él a través del escritorio remoto (acceder desde Ubuntu 22.04 al remoto de Windows es ultra fácil con Remmina). La clave está en la configuración correcta de la máquina virtual y después en la asignación de recursos por parte de Windows.

El resultado es una herramienta totalmente funcional y que puede servirnos para reducir costes, en caso de que tengamos alguna máquina experimental en alguno de los servicios en la nube.

Configuración y Experimentos

El B-Link Mini S12 viene con Windows 11 Pro preinstalado, una característica útil que permite acceder a él como escritorio remoto. Esto significa que se puede acceder y trabajar en el ordenador desde otro dispositivo, lo que facilita la realización de pruebas y experimentos sin tener que estar físicamente presente. Las especificaciones fundamentales son que contiene 16 GB de ram, 500 gb de disco y un procesador Intel N100

La instalación de un servidor Linux en este mini PC se realiza utilizando una máquina virtual. Aunque la configuración inicial puede ser un desafío, especialmente cuando se trata de asignar los recursos de manera eficiente, los resultados finales son bastante impresionantes. Sin embargo, es importante tener en cuenta que el uso de una máquina virtual dentro de Windows 11 puede consumir una cantidad significativa de recursos.

No entraremos en detalle en la configuración propiamente del servidor: instalación, apertura de puertos, configuración ssh, configuración para https, configuración del router, configuración de windows…Todo esto y más se irá publicando según vaya teniendo tiempo. Mientras tanto, podéis bucear en esta serie de tutoriales que considero muy interesantes para llegar hasta aquí:

Tutorial fundamental:

Otros tutoriales:

Optimización de recursos

Una nota interesante es que a veces, de manera contraintuitiva, agregar más núcleos a las máquinas virtuales puede reducir el rendimiento, especialmente en las máquinas con pocos recursos. Esto se debe a que cada núcleo adicional consume más potencia, lo que puede llevar a la disminución del rendimiento. Por lo tanto, optimizar la asignación de recursos es crucial para mantener un rendimiento estable.

R y Shiny server trabajar con un solo núcleo. Es cierto que a través de estas herramientas se puedes programar procesos en paralelo, pero eso es otra guerra. Por lo tanto, asignar más de un procesador en la máquina no necesariamente puede conllevar a una mejora de rendimiento. Además, la configuración utilizada de shiny server no es multiusuario. En otras palabras, aunque dos personas se conecten en pc’s diferentes a la aplicación, hará los procesos solicitados uno a uno (con posibles desastrosas consecuencias). La configuración de shiny-server para multiusuario es mucho más compleja además de costar dinerito. Aquí dejo el enlace para ir tirando en Shiny Server Pro.

Otro aspecto poco tratado en el vídeo que encontraréis al final pero que tiene importancia es el aspecto económico. Muchos pensarán que en realidad, el coste de los servidores en la nube es tan bajo que no merece ni la pena complicarse la vida abriendo puertos y consumiendo energía en casa. Mi balance es el siguiente:

  • El servidor estaba originalmente configurado en Digital Ocean. Considero este como uno de los sitios más fáciles y baratos para experimentar con servicios en la nube.
  • La máquina más barata sale por unos 12 € al mes: 25 gb de disco, 1 gb de ram y 1 núcleo. Yo la tenía con 2 gb de ram, así que unos 15€/mes. Por lo tanto, 1 año de trabajo = 15 * 12 = 180 €
  • He monitorizado el consumo del mini pc en reposo y en actividad con este dispositivo de tapo. La máquina en reposo, sin actividad fuerte en el servidor shiny, consumo uno 8W. Cuando le das caña con prioridad alta de proceso (cuando el procesador N100 está al 100%) se sube a uno 20-22 W. Siendo realista, la herramienta actualmente abierta (ver entrada de blog) no está siendo consultada constantemente, ojalá. Pero para ser justos imaginemos que lo está la mitad del tiempo. Pongamos pues una media de consumo de 15 W (o 0.015 kW). Actualmente, con nuestro contrato de Naturgy la electricidad nos sale a unos 0.165 €/kWh. ¿Cuanto cuesta por tanto tener el bicho encendido siempre? —> 0.015 kW * 0.165 €/kWh *24 h * 365 días = +-21 € / año (insisto, muy por encima).
  • Hay que tener en cuenta que el mini pc me costó 200 € (aunque ahora está por 300, yo creo que volverá a bajar).

Con estos datos por lo tanto que cada uno saque sus conclusiones. Si vas a hacer unas pruebas y tienes claro que vas a escalar rápido, yo iría directamente a por una máquina de DO, cueste lo que cueste. Si vas a utilizar el pc para más cosas (echar una que otra partida, configurar un servidor PLEX, tener el pc como media center, home assistant, etc), compraría el pc y experimentaría en él. En un año (que espero esta chinatada dure al menos 3) lo tenéis casi amortizado.

El resumen del vídeo es el siguiente:

  • Configura los núcleos que quieras porque da igual para este uso en shiny server. No obstante recomiendo 1 procesador y 4 núcleos.
  • Ram: asignar 8 gb. Windows se hace cargo de lo demás sin problema. Eso sí, si vais a trabajar en el pc a la vez, desactivar VMware.
  • Desactivar la virtualización de Intel VM…
  • Asignar prioridad alta o por encima de lo normal en el gestor de tareas de windows 11 (esto sí marca la diferencia).

Enlace al vídeo:

Conclusiones

En resumen, la configuración de VMware para un servidor Shiny utilizando un mini PC como el Beelink Mini S12 puede ser un método rentable y eficiente para experimentar y realizar pruebas tecnológicas. Aunque la configuración inicial puede requerir un esfuerzo considerable, los beneficios en términos de ahorro de costos y flexibilidad son significativos.

La optimización de los recursos es clave para garantizar el funcionamiento óptimo del servidor. A pesar de los desafíos iniciales, con la configuración correcta y una gestión eficiente de los recursos, es posible crear un servidor eficiente y rentable.

En el futuro, se planea realizar más pruebas y comparativas de este procesador con otros procesadores y procesos tanto en Linux, Windows y máquinas virtuales. Por lo tanto, estad atentos para más experimentos y descubrimientos en este apasionante mundo de la experimentación multiplataforma.

Espero que hayas apreciado el esfuerzo en todo esto. Podrías apoyarme de muchas formas: contratándome, contactándome o símplemente compartiéndolo.


También podrían interesarte las siguientes entradas del blog...