Lo bueno de desplegar en tu propio servidor (self-host)


Hoy en día lo más común es utilizar todo tipo de servicios para desarrollar y desplegar tu aplicación, pero ¿por qué no lo despliegas en tu propio servidor? #self-host

Desde siempre me ha gustado desarrollar las diferentes partes de mis side-projects y no depender de servicios externos. Esto tiene un lado positivo y un lado negativo:

El lado positivo es que al principio, por desconocimiento, aparecen dudas y temas que al no saber nada parecen difíciles. Y sí, algunos nichos realmente son complejos de entender y requieren estudio, pero finalmente cuando lo entiendes y lo consigues es una gran satisfacción el haberlo hecho, y el haber disfrutado del proceso. Además, de esta forma, no dependes de suscripciones ni de terceros.

El lado negativo es el tiempo que inviertes en desarrollar es un coste de oportunidad. Es decir, el tiempo que implementas esos servicios es tiempo que no dedicas a lo que realmente es importante para tu negocio. Además, ante cualquier necesidad tienes que parar el desarrollo de tu app para avanzar con el desarrollo de este servicio primero.

Con esto no te invito a reinventar la rueda ya que hay excepciones como el almacenamiento de objetos tipo Amazon S3, envío de mails y gestión de correo, analítica web... que posiblemente sea más cómodo, fácil y rápido contratar un servicio, pero no siempre es necesario y esto es lo bonito.

Tener el conocimiento y la experiencia para decidir, ante cada situación, qué es lo mejor. Y habrá veces que te equivocarás y tendrás que refactorizar, borrar o tirar código a la basura. Por ejemplo este blog como contaba en otro post es la versión 4: he pasado por generadores de estáticos como Hugo, React, Next.js, sobreingeniería... hasta ahora que uso Astro y una app custom para notas hecha con next.js que me gustaría publicar en algún momento. Y al principio era frustrante pero ahora con el tiempo me alegra haberlo hecho porque he aprendido muchas cosas sólo con el blog, mucho más con los diferentes side-projects que he lanzado al mercado o mi experiencia trabajando en consultoría o en empresas de producto.

Hace tiempo implementé mi propio gestor de tráfico web, algo así como google analytics de forma que la privacidad fuese lo primero para mi blog. Me gustó implementar las bases ya que aprendí mucho de cómo funcionaba todo esto pero no encontré nada relevante como para continuarlo, por lo que decidí probar umami, que es lo mismo pero mucho más trabajado y open source. Porque a veces también es bueno probar herramientas que hacen otras personas, y por qué no, contribuir si hay algo que se puede mejorar.

Como conclusión, reinventar la rueda te ayuda a entender cómo funcionan las cosas, adquieres conocimiento y experiencia que en el futuro te ayudará a tomar mejores decisiones y quién sabe si en algún momento encuentras algún nicho que la gente esté dispuesta a pagar por ello.