Parte de la web se muda a Cloudflare: los procesos del móvil se cierran
Hasta ahora, cada visita a este sitio pasaba por un móvil Android. El móvil levantaba el servidor, PHP montaba la página y un túnel la sacaba a internet. Funcionaba, y me gustaba: la web entera cabía en un teléfono. El problema es que un móvil no está pensado para eso, y al final se nota.
Qué ha cambiado
El sitio ya no lo sirve el móvil. Las páginas se escriben una vez, cuando publico algo, y se reparten desde la red de Cloudflare, que guarda los archivos y los entrega a quien entra. No hay ninguna máquina encendida esperando visitas y no hay base de datos: los artículos son archivos de texto, uno por artículo, y el registro de cambios es otro archivo.
Los juegos se quedan donde estaban. El tres en raya, el bingo y el moto necesitan memoria de verdad —quién juega, qué números han salido, qué partida sigue abierta— y eso no se puede dejar hecho de antemano. Así que la web se ha partido en dos: lo que se puede escribir una vez, a Cloudflare; lo que hay que calcular en el momento, al móvil.
Por qué: los procesos se cierran
Android no es un servidor. Está pensado para que las aplicaciones no se queden consumiendo batería y memoria por detrás, y Termux, que es lo que uso para tener un Linux dentro del móvil, sufre eso continuamente. Los procesos se acaban cerrando: unas veces los mata el propio sistema, otras la capa que el fabricante pone encima de Android, y otras se van con un reinicio que no he pedido.
He peleado con eso y he hecho los deberes. Le he dado permiso para que no le aplique el ahorro de batería, le he dicho al sistema que no cierre sus procesos de fondo y he montado el arranque automático para que todo vuelva solo al encender. Además tengo un vigilante que levanta los servicios en cuanto se caen, y funciona: si mato el servidor a mano, vuelve solo en unos segundos.
Ayuda, pero no lo garantiza. El problema son las veces que no vuelve, o que se cae todo a la vez y el vigilante se va con ello: ahí no queda nadie que arranque nada y hay que entrar a mano. Y no hay forma de asegurar que un proceso siga vivo, solo de hacerlo más probable.
Cuando el servidor se cae, la web no responde. El túnel se queda sin origen y Cloudflare contesta con un error suyo, el 1033, que además tiene mala pinta: parece que la web está rota cuando lo que pasa es que el móvil no está. Lo he visto unas cuantas veces: el túnel se reinicia solo y, durante medio minuto, el sitio devolvía ese error. Medio minuto no es nada, pero es la señal de que estaba dependiendo de algo que no puedo controlar.
Qué se gana
- El dominio ya no depende de que el móvil esté despierto. Si el móvil se apaga, la web sigue en pie.
- Va más rápido: son archivos repartidos por la red de Cloudflare, no una máquina en casa contestando por un túnel.
- Hay menos que mantener: ni base de datos, ni PHP, ni servicios que reiniciar. Publicar es escribir un archivo y subirlo.
- Pesa menos. La portada ha pasado de 16 KB a 13 KB solo por dejar el CSS más apretado.
- Y sigue sin cookies, sin rastreo y sin anuncios.
Qué se pierde
- La gracia de decir que la web vive en un móvil. Ahora es verdad a medias: una parte vive en el móvil y la otra en la red de Cloudflare.
- Los juegos siguen colgando de ese móvil. Si está caído, no hay quien juegue. Para eso he puesto una página que lo dice en condiciones, con su «conectando», en vez de enseñar el error de Cloudflare, pero el juego sigue sin estar.
- Hay una dependencia nueva. Cloudflare es gratis para un sitio como este —el plan gratuito da 100.000 peticiones al día— y no cobra por el tráfico, pero antes no dependía de nadie y ahora dependo de ellos.
Lo que queda por delante
Los juegos son el único motivo por el que merece la pena tener el móvil encendido, así que es lo siguiente que quiero mirar. Hay tres caminos y ninguno me convence del todo: una máquina pequeña que esté siempre encendida sin gastar como un servidor, un plan de pago muy básico que me deje tener procesos de verdad, o terminar de pasar los juegos a algo que no necesite ninguna máquina detrás.
Mientras tanto, esto es lo que hay: la web ya no se queda sin responder porque el móvil tenga un mal día, y los juegos sí. Un paso de cada vez.
Si quieres ver cómo está montado ahora, está contado en Sitio web ecológico.