[R-es] recomendación de librerías para mapas en Shiny

Proyecto R-UCA r-uca en uca.es
Mie Oct 1 10:40:27 CEST 2014


Buenas:

He estado haciendo algunas pruebas. A partir de las pruebas y de lo que 
dice en la web interpreto que en la versión gratuita lo que ocurre es 
que cada aplicación lanza un único proceso para todos los usuarios que 
utilicen la aplicación.

Por ejemplo, en mi servidor tengo instaladas varias aplicaciones, si 
varios usuarios se conectan a la aplicación sudoku hay un único proceso 
R que resuelve, de forma independiente, los sudokus de todos. Lo cual 
quiere decir que los sudokus se van resolviendo por turnos. Mientras el 
número de usuarios no sea muy grande y el tiempo dedicado a cada uno de 
ellos tampoco lo sea, no habrá problemas. Si tenemos muchos usuarios en 
una misma aplicación y cada usuario requiere mucho tiempo de cálculo 
tendrán que esperar.

Si un usuario se conecta a otra aplicación, digamos caminata_aleatoria, 
se lanza un proceso de R independiente y no tiene que esperar a que se 
resuelvan los sudokus para ver su caminata. Siempre teniendo en cuenta 
que si la carga total de todos los procesos llega a ser grande todos 
estarían compitiendo entre sí por los mismos recursos de CPU.

¿Qué hago si necesito 500 usuarios en una aplicación?

Caso a: Dispongo de un único servidor que aguanta razonablemente digamos 
100 usuarios por cada aplicación. Pues puedo poner 5 copias de la 
aplicación y reparto los usuarios, de esa forma consigo 5 procesos de R 
en vez de 1.

Caso b: Dispongo de más de un servidor (mi caso) configuro un proxy 
inverso y reparto la carga entre los servidores. Esto es más sencillo de 
lo que parece, en las versiones modernas de apache basta con instalar y 
habilitar algunos módulos e introducir 8 líneas de configuración en los 
ficheros de apache.

También sería viable una combinación de las opciones a y b de forma que 
el reparto de usuarios se haría de forma automática entre las diferentes 
copias de la aplicación dentro del mismo servidor.

Saludos.



El 29/09/14 a las #4, Javier Martínez-López escribió:
> Gracias por la información! La duda que me queda es que en la web de
> Shiny server (http://www.rstudio.com/products/shiny/shiny-server/)
> explican que la versión gratuita sólo puede correr un único proceso de
> R por aplicación (Single R process per application), lo que entiendo
> que significa que no pueden ejecutarla dos usuarios simultáneamente y
> por eso pensaba que no sería útil como aplicación web pero por lo que
> veo las vuestra sí lo hacen, no?
>
> Un saludo,
>
> Javier
>
> 2014-09-29 11:17 GMT+02:00 Proyecto R-UCA <r-uca en uca.es>:
>> Hola:
>>
>> En la versión gratuita no existe límites en el número de usuarios y tampoco
>> existe límites en el número de desarrolladores.
>>
>> Con la versión gratuita para publicar una aplicación debes subirla al
>> servidor, es decir, es necesario acceso a nivel de sistema al servidor y
>> allí se ejecuta con los permisos que tenga el usuario que ejecuta el
>> servidor shiny. Esto supone un riesgo potencial de seguridad si no confías
>> en los desarrolladores pues, hasta donde yo sé, tampoco se limitan las
>> funciones que pueden usarse con R.
>>
>> La versión Pro permite añade una interfaz web que permite la subida de las
>> aplicaciones y la gestión de las mismas evitando que los usuarios necesiten
>> acceso al servidor.
>>
>> Bajo mi punto de vista, si el conjunto de desarrolladores es de confianza es
>> suficiente con la versión gratuita.
>>
>> En la firma pongo un enlace a algunos ejemplos de aplicaciones hechas con
>> shiny que hemos publicado, aunque algunas están todavía en desarrollo.
>>
>> Saludos.
>>
>>
>> El 29/09/14 a las #4, Miguel Fiandor Gutiérrez escribió:
>>>
>>> Gracias por el consejo de RMaps y RCharts, desde luego son librerías a
>>> las que les quiero echar la mano.
>>>
>>> SObre limitaciones, no veo comprensibles ninguna de las dos, en
>>> usuarios, limitarlo a 1 no tiene ningún sentido siendo un framework para
>>> web apps. Y menos cuando shinyapps.io/dashboard
>>> <http://shinyapps.io/dashboard> te deja subir tu shiny app gratis, es
>>> decir, te dejan publicarla en internet gratis (=host gratuito). Claro
>>> sin compromisos por su parte supongo, y dejan constancia de que es
>>> gratis porque aún no han fijado un plan de precios.
>>>
>>> Sobre la limitacion de desarrolladores, solo lo comprendo si te refieres
>>> a la limitación de la propia librería de Shiny, es decir, que
>>> funcionalidades trae Shiny consigo. Porque lo que es programar una app
>>> en Shiny no tienen ningún límite de gente trabajando en ello, y es
>>> imposible ponérselo. Por ejemplo subes tu código a github, bitbucket,
>>> etc.. y ¿qué límite tiene eso?. No sé, a lo mejor no te he entendido bien.
>>>
>>
>> ---------------------
>> Proyecto R-UCA
>> Página del proyecto: http://knuth.uca.es/R
>> Libro libre "Estadística básica con R y R-Commander":
>> http://knuth.uca.es/ebrcmdr
>> Aplicaciones con shiny: http://knuth.uca.es/shiny/
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es

-- 

---------------------
Proyecto R-UCA
Página del proyecto: http://knuth.uca.es/R
Libro libre "Estadística básica con R y R-Commander": 
http://knuth.uca.es/ebrcmdr
Aplicaciones con shiny: http://knuth.uca.es/shiny/



Más información sobre la lista de distribución R-help-es