Astillero familiar
Un astillero, tres idiomas, un pipeline
Un constructor de barcos tradicional necesitaba una web que sobreviviera a quien la hiciera. El resultado cuesta unos pocos euros al mes y no ha necesitado atención desde entonces.
La situación
Un astillero familiar —cinco generaciones construyendo y restaurando embarcaciones de madera— tenía una web que había dejado de ser mantenible. El dominio devolvió una página de error durante meses sin que nadie se diera cuenta. Nadie sabía con certeza quién podía publicar un cambio, y el hosting era heredado más que elegido.
Necesitaban tres cosas: una web en tres idiomas, un sitio fiable donde alojarla, y un montaje que no volviera a pudrirse en silencio.
Qué se construyó
Una web estática —páginas generadas de antemano en lugar de montadas en cada visita— servida desde almacenamiento de objetos detrás de un CDN, con un certificado TLS que se renueva solo y el DNS gestionado al lado. Todo definido en Terraform, en un repositorio que está en manos del dueño.
Publicar funciona así: se hace merge de un cambio y un pipeline construye el sitio, lo publica y limpia la caché. Los cambios propuestos tienen antes su propio enlace de previsualización, así que lo que está a punto de salir se puede mirar antes de que salga. La autenticación contra la cuenta de cloud usa credenciales de vida corta emitidas por ejecución: no hay claves de acceso permanentes que se puedan filtrar.
Los tres idiomas se manejan de forma nativa, con el contenido traducido y las cadenas de interfaz una al lado de la otra.
Un problema que merece quedar por escrito
El dominio raíz devolvía 403 Access Denied mientras que la versión con www
funcionaba.
La causa era un detalle que pilla a mucha gente: el CDN apuntaba a la dirección de API del
bucket de almacenamiento en vez de a su dirección de sitio web. Esos dos endpoints se
comportan distinto —solo el de sitio web respeta las reglas de redirección—, así que la
redirección del dominio a secas hacia www se estaba ignorando en silencio, y los
visitantes se llevaban un error de permisos.
Reapuntar el CDN al endpoint de sitio web lo arregló. Está escrito, junto con el trade-off que implica, para no tener que diagnosticarlo una segunda vez.
Cómo acabó
El coste de funcionamiento son unos pocos euros al mes. No hay servidor que parchear ni gestor de contenidos que mantener actualizado. Los certificados se renuevan sin que nadie tenga que acordarse. Todo se puede reconstruir desde el repositorio si algún día hace falta.
Ese mismo montaje es el que escala a un grupo con varias marcas: la infraestructura es un módulo reutilizable, así que el siguiente sitio es un fichero de configuración en vez de un proyecto nuevo.
Detalles del cliente omitidos a propósito. Encantado de repasar los detalles técnicos en una llamada.