La descentralización de la red & Sandstorm.io


#1

Alguno de vosotros me dió a conocer el proyecto https://sandstorm.io/ hace algún tiempo y lo retomo porque está avanzando despacio pero parece que sólidamente en la dirección correcta.

Puede sonar grandilocuente lo de la descentralización pero si el Open Source juega un papel fundamental en esto, y así lo creo, los de Sandstorm están llevando poco a poco el concepto de aplicaciones de los móviles al del servidor personal.

La instalación de aplicaciones es muy muy fluida y simple para alguien novel como un servidor. Apenas requiere curva de adaptación. Muy parecido a lo que hacemos en el móvil: a) entrar a tienda; b) descargar; c) usar. La tarifa que cobran parece asequible (Aunque en España con la cultura de lo gratuito que hemos adquirido puede ser otro cantar) y no sería mucha barrera de entrada si consiguen tener aplicaciones realmente relevantes y atraer aún más desarrollos.

Se echan de menos unas cuantas aplicaciones y servicios pero todo apunta a que están trabajando en ello.

Os invito a echar un vistazo y jugar con ello. No os llevará mucho tiempo. En servicios como este, de hosting enriquecido en el fondo, podría estar la clave del éxito de otros como Pump.io o tecnologías que podrían dar aún más juego como ya hace XMPP etc., porque para mí el problema al final es el de siempre: que muchas cosas - como Linux - no llegan a los usuarios finales de manera simple.

A ver qué os parece


Servidor correo propio
#2

Uf, no conocía el proyecto y así, de entrada, es bastante amplio como para echarle un vistazo. Sí que veo que dejan muy claros los conceptos de instalación en servidor propio: crear una instancia en DigitalOcean y probarlo es un buen proyecto de fin de semana.

Y además veo que tienen una gran variedad de aplicaciones. Qué interesante. Es más, tienen todas las que tengo yo instaladas en mis servidores (mediawiki, roundcube, tt-rss, …)

Voy a mirarlo con detenimiento y comentaré después.


#3

Estaré expectante @VictorMoral a ver qué te parece. Pero si no te quieres liar recuerda que tienen una demo (serguro que lo has visto pero bueno, por si acaso…)


#4

Ya, pero es que liarme es la mejor forma que conozco de aprender :slight_smile:


#5

¿ Ha pasado ya un mes ? Y yo con el servidor virtual por ahí rodando. Así me ha llegado la factura este mes de DigitalOcean. :slight_smile:

Tengo que recopilar notas pero por ahora la única complicación que he encontrado sobre una instalación limpia de Debian es que el servidor de correo está sin configurar para enviar mensajes. Tiempos aquellos en los que bastaba con conectar el SMTP a Internet; ahora hay que jurar por tus niños que eres de los buenos (SPF, DKIM, …) y ni aún así.

Espero tener tiempo este fin de semana para completarlo.


#6

Llevo usando Sandstorm.io desde hace casi un año, me presto a responder preguntas/dudas de quien quiera.

La clave para comprender Sandstorm es la ‘granularidad’ con la que divide las aplicaciones en segmentos funcionales. Un buen simil para ciertas aplicaciones (como Ethercal, Ethernote, Framadate) es pensar en que cada instancia que creas es un documento. Estos documentos se llaman ‘grains’.

Digamos que vas a meter un servidor de CalDav (calendario), la granularidad con la que seguro va a operar es a nivel de UN (1) calendario. Es decir, crearias una instancia separada para cada calendario. Cada instancia se ejecuta en un entorno aislado (sandboxed) y la seguridad/autentificación corre a cargo de Sandstorm. Si hablamos de un servidor de GIT, por ejemplo, cada instancia podria ser un repositorio, etc… Luego tiene un sistema para poder compartir estos documentos/webapps facilmente y estan trabajando en inter-operatibilidad para que una webapp pueda llamar a otras (Imaginaos un MediaWiki abriendo un diagrama en Draw,io, que es otra webapp de Sandstrom.io).

Debido a la filosofía y modo de funcionamiento hay applicaciones mas aptas y menos aptas para usar Sandstorm aunque la realidad es que todas se pueden alojar en Sandstorm.io teniendo la misma facilidad de on-click-instance-creation aunque no usen la misma autorizacion/filosofia.

Vaya chapa… jajajaja, se nota que me interesa el tema :slight_smile:


#7

Muy buena explicación. Y buen sistema para el usuario final porque el pollo de las identificaciones globales en un sistema suele ser complicado de integrar.

Me surgen algunas dudas:

  • ¿ Dispone de actualizador de las aplicaciones individuales o editan versiones completas ?
  • ¿ Las copias de seguridad están contempladas ? ¿ Y la exportación de datos de cada aplicación ?

Muy agradecido :slight_smile:


#8

Las aplicaciones se actuallizan con un click y no estan ligadas a una instalacion determinada. Aunque esto no sería un problema ya el servidor en si esta siempre actualizado automaticamente. Supongo que no tienen actualización automática por rompe la compatibilidad con los datos que ya pudieras tener almacenados.

Todo ‘grain’ (instancia de la aplicacion) tiene un boton de guardar como backup que te permite descargar un zip con todos sus datos. Con este fichero puedes restaurar ese estado de esa aplicacion desde la pantalla principal de Sandstorm.io. En cuanto a aplicaciones se puede hacer algo parecido (toda app es un fichero SPK) pero su exportación no esta disponible en el interfaz web. La importación si que esta presente en una opción del tipo [crear instancia de app a partir de un SPK].

Hay muchas cosas que hacen Sandstorm.io un projecto a vigilar de cerca. El ‘lead engineer’ es el Googler que creó Protobuf, un famoso protocolo binario de intercambio de datos y ha basado Sandstorm en un nuevo protocolo llamado Cap’n proto. Este protocolo encapsula HTTP/HTTPS de tal manera que las aplicaciones no escuchan un puerto y utilizan un ‘pipe/canal’ de datos no tipado, sino que usan capnproto para recuperar las peticiones tipadas. Las implicaciones de seguridad y de control de esta decisión son inmensas. Las aplicaciones, por defecto, no tienen acceso directo a la red. De esta manera los agujeros de seguridad de una webapp alojada en Sandstorm no son problemáticos…

Hay una Meetup hoy por la tarde (una BBQ en Palo Alto) donde estarán los creadores y tal a la que voy a asistir. No se si hay alguien del foro que vive en Silicon Valley, pero si es así este es el enlace: http://www.meetup.com/Sandstorm-SF-Bay-Area/events/225890352/


#9

Como usuario profano me pierdo con tanta explicación pero da gusto leerla paradójicamente @xamar Gracias!

Por cierto, que ya contarás sobre el MeetUp. Por mi parte me escribí con Kenton y otra persona de tu equipo y los encontré muy amables. Les sugerí varias apps ;-D. También les sugerí que le dieran un aspecto a la interfaz más parecido al de los iconos de los Smartphones y me dijeron que justamente lo tenían en proyecto (ya está incorporado). Muy permeables al feedback la verdad.

Esperamos ansiosos tus impresiones de todas formas @VictorMoral ictorMoral ;-D

Por otra parte, aprovecho para informar de que parece que este tipo de proyectos va cobrando fuerza. Aquí tenemos otro que se anima a hacer un SAAS mediante aplicaciones open source: https://portal.cloud/ aunque un poco caro para el usuario final y sin poner a disposición el entorno


#10

Algo así me imaginaba para mantener la coherencia del servicio.

Y esto ya resuelve mis dudas; está bastante bien como sistema pero quiero verlo más de cerca :slight_smile:

Y en esto se nota que lo han usado ellos también. No me extraña que se quiten de un plumazo la problemática que supone darles tanta manga.

Muchas gracias por las respuestas. Hacía tiempo que tenía una idea en mente parecida y me alegra ver que alguien le ha dado vida.

Voy a probar a instalármelo yo para ver si puedo emplearlo en la instalación de una amiga.