Self-hosting o auto alojamiento 🢅8

Self Hosting o auto alojamiento, es la práctica de alojar distintos servicios y programas de forma privada y en hardware controlado por nosotros. La idea del self-hosting es tener un control casi total sobre nuestros datos y no depender de un servicio otorgado por un tercero.

Los servicios los podemos alojar en servidores que estén en la nube pero sean privados, por ejemplo un VPS que contratamos y lo usamos nosotros solos (o lo compartimos con familia / amigos) o en servidores alojados en nuestra propia casa.

Un “servidor” no hace falta que sea un equipo enterprise, si no que todo lo contrario puede ser una computadora vieja que tenemos sin uso, puede ser una notebook y hasta un celular, la única diferencia entre los recién nombrados es la capacidad de servicios que vamos a poder alojar en cada uno. El tener tu propio servidor, comúnmente en tu casa, donde puedas alojar distintos servicios y programas por tu cuenta sin tener que depender de terceros nos permite avanzar muchos casilleros hacia la soberanía digital.

Manifesto

El {{manifesto}} al que estoy adherido explica bastante bien el por que de hacer esto.

Filosofia

La filosofia del self hosting a veces es dificil de seguir o al menos en mi caso, hay veces que toca varios puntos totalmente diferentes, voy a tratar de bajarlo a palabras.

Creo que autoalojar tus servicios tiene muchisimas mas ventajas que utilizar servicios de terceros. No solo el conocimiento que se genera, por que hay que ser sincero todo sistema que levantemos nos va a traer problemas que casi siempre se van a poder solucionar de forma rápida y simple, pero también hay que tener en cuenta que es probable que las cosas no funcionen en situaciones donde las necesitábamos y vamos a tener que estar nosotros ahí para resolverlo. Por esto y por otras cosas, como los caminos felices donde levantamos un servicio y sale andando en 10 minutos es que autoalojar tiene ese sentido de enseñarnos a manejar varios aspectos.. desde sistemas operativos, estructura de datos, sistemas de archivo hasta networking y como funcionan los distintos protocolos que existen dentro del mundo de tecnología.

Si nos iniciamos en este mundo con ganas de aprender, creo que no hay ningún problema que nos pueda afectar. Pero tenemos que estar dispuestos a rompernos un poco la cabeza. De nuevo, hay muchas cosas y ejemplos de cosas ya funcionales que podemos copiar y pegar y que funcionen.. y eso nos va a resolver un montón de cosas, pero muchas otras va a depender de que metamos mano y nos metamos en el barro para arreglar algo.

El segundo punto podría ser la privacidad, no depender de servicios de terceros (donde empresas usureras de datos son los dueños) gratuitos donde estamos pagando con nuestro datos y tiempo, es un recontra punto a favor, poder tener control sobre nuestros datos es una ventaja que hoy en día se esta haciendo cada vez mas gris, ya nadie le da la importancia que tiene que tener. Es necesario saber y entender como funciona el capitalismo de datos y por que los servicios “gratuitos” los estamos pagando con nuestros datos y metadatos. Es necesario ser disidente de las nuevas plataformas.

Autoalojar servicios puede hacer que todos los datos y metadatos que generamos cuando utilizamos alguna aplicación / servicio, queden de nuestro lado. Y que nosotros tengamos el poder de decidir que hacer con esos datos, si queremos compartirlos con alguien externo o no. Si queremos que existan para siempre o si queremos que sean efímeros. Creo que si le damos peso a los dos puntos que marque hasta ahora, el de mayor peso (para mi) es este. Por que si bien es algo en lo que casi no vamos a ver una diferencia, la diferencia va a estar y nos beneficia 100% a nosotros y no a una empresa que no conocemos que hace con nuestros datos.

Hay un punto que tal vez va medio en contra que es el tema del tiempo de dedicación que necesitamos meterle a esto. Si bien es algo que creo que tiene doble peso, por un lado bueno y por otro malo, es algo que no podemos no nombrar. Se necesita conocimiento, tanto para hacer como para arreglar, y el conocimiento se adquiere metiendole tiempo, tiempo para leer documentación, tiempo para experimentar, tiempo para probar, tiempo para configurar de una forma que no funciona reiniciar y volver a probar, tiempo para actualizar y mantener nuestro sistema seguro. Lo malo de esto, es que el tiempo es justo uno de nuestro recurso mas escaso, se nos acaba rápido y tenemos que saber donde lo ponemos para sentir esa sensación de que estamos haciendo lo “correcto” (sea lo que sea correcto para cada uno) y lo bueno de esto es que el tiempo que le asignemos a esto nos va a dar conocimiento, nos va a dar nuevas herramientas que nos van a permitir aprender cosas nuevas. En mi caso me dedico a la programación y todo el tiempo invertido en levantar servicios y servidores me sirvió para darle mas valor a el conocimiento de “saber programar”. No me quiero meter en tema laboral, pero claramente hay un montón de areas que están muy relacionadas con lo que podemos hacer autoalojando servicios.

Ventajas

  • Primero que nada ser dueño de tus propios datos. No tener que andar pagando servicios que son “gratuitos” con los metadatos que generamos por usarlos.
  • Segundo aprender. Entender como un servicio funciona y poder actuar en consecuencia a eso.
  • DYOR (Do your own research). Investigar, probar, romper, arreglar, entender como funcionan distintos servicios.
  • No depender de servicios externos, poder seguir funcionando cuando nos quedamos sin internet y hasta cuándo se corta la luz en caso de que tengamos baterías.
  • Muchas veces levantar un servicio, consiste en levantar varias herramientas que trabajan en conjunto, una base de datos, un servidor web, un caché. Todo eso es experiencia que vamos a ir ganando a medida que vayamos interactuando mas y mas.
  • Probar distintas alternativas de un mismo tipo de servicio sin tener que crearte una cuentas para cada uno.

Dentro de las ventajas explico que no depender de servicios externos es algo que suma mucho en mi caso, pero también va de la mano con no tener que depender de servicios externos y poder elegir que servicio correr y cuando correrlo. Que pasa si un servicio que corre otra persona deja de existir? Debería afectarnos? Peor aún sería que ademas de que deje de correr, el código para ese servicio desaparezca.. como hacemos para no tener esos problemas? Creo que logrando implementar nuestros propios servicios en nuestra propia infraestructura es un gran paso para poder esquivar esos casos.

Soberanía Digital

La soberanía digital es la capacidad de tener control sobre nuestro propio destino digital. Se refiere principalmente a los datos, al hardware y al software. Hoy en día creo que existen muchas mas herramientas para poder llevar esto a cabo de una forma “fácil”. Las computadoras y hardware en general son cada ves mas accesible para todas las personas, hay países que cuentan con una política de tecnología bastante avanzada, donde las personas con bajos o escasos recursos pueden tener acceso a la tecnología y no quedar fuera de ella.

Creo que una de las actividades que mas soporta esta capacidad es el Self Hosting o auto alojamiento.

El Self Hosting es la actividad de tener y administrar tu propio servidor. Tal vez la palabra servidor es un poco compleja de entender o tiene una notación media alejada, pero un servidor puede ser simplemente una computadora común y corriente, no tiene que tener ninguna prestación adicional. El tener tu propio servidor, comúnmente en tu casa, donde puedas alojar distintos servicios y programas por tu cuenta sin tener que depender de terceros nos permite avanzar muchos casilleros hacia la soberanía digital.