Detalle de la noticia

Vulnerabilidad

Cómo portar un proyecto de Azure a Cloudflare: Cómo lo hicimos con Weave.js de Inditex Tech Open Source

Fuente: El Lado del Mal Publicado: 04/11/2026 · 05:44 UTC
Compartir:
Vulnerabilidad Cómo portar un proyecto de Azure a Cloudflare: Cómo lo hicimos con Weave.js de Inditex Tech Open Source
Imagen: El Lado del Mal

Cuan­do In­di­tex Tech Open Sour­ce , co­no­ci­da por su cul­tu­ra téc­ni­ca, ex­ce­len­cia y co­mu­ni­dad sacó esta pro­pues­ta sa­bía­mos que te­nía­mos que co­la­bo­rar y apor­tar nues­tro gra­ni­to de arena a la co­mu­ni­dad. Da gusto ver a una em­pre­sa es­pa­ño­la apos­tar por la tec­no­lo­gía, el ta­len­to y la in­no­va­ción, y ha­cer­lo con un pro­pó­si­to que va más allá de lo que cons­tru­ye: tam­bién com­par­te ese tra­ba­jo para que otros po­da­mos apren­der, ex­pe­ri­men­tar y lle­var­lo un paso más allá. Fi­gu­ra 1: Cómo por­tar un pro­yec­to de Azure a Cloud­fla­re. Cómo lo hi­ci­mos con Weave.js de In­di­tex Tech Open Sour­ce Esa forma de en­ten­der la tec­no­lo­gía en­ca­ja de lleno con el ADN de Cloud­fla­re . No­so­tros tam­bién cree­mos que com­par­tir lo que apren­de­mos y con­tar abier­ta­men­te cómo cons­trui­mos nues­tra tec­no­lo­gía es parte del tra­ba­jo. De ahí nues­tro blog de Cloud­fla­re , donde en­tra­mos hasta la co­ci­na de lo que ha­ce­mos, nues­tra apues­ta por la trans­pa­ren­cia y un tier gra­tui­to am­plio y ac­ce­si­ble para todos los de­sa­rro­lla­do­res del mundo. Así que de­ci­di­mos lle­var esa afi­ni­dad al te­rreno que más nos gusta: cons­truir. Y ahí apa­re­ció un reto a la al­tu­ra, Weave.js , una he­rra­mien­ta para crear apli­ca­cio­nes de co­la­bo­ra­ción en tiem­po real, como pi­za­rras co­la­bo­ra­ti­vas y edi­to­res de dia­gra­mas. Nues­tra forma de con­tri­buir sería ex­plo­rar cómo lle­var­la a Cloud­fla­re y com­par­tir con la co­mu­ni­dad lo que apren­dié­ra­mos por el ca­mino. Fi­gu­ra 2: In­di­text Tech Open Sour­ce Wea­vejs Al mirar todas las pie­zas el bac­kend , el al­ma­ce­na­mien­to, la sin­cro­ni­za­ción, la au­ten­ti­ca­ción y la IA , nues­tra pri­me­ra pre­gun­ta téc­ni­ca fue in­evi­ta­ble: «¿Cuán­to tar­da­ría en hacer fun­cio­nar todo esto en Wor­kers?». Nadie nos lo pidió. Lo hi­ci­mos por­que nos picó el gu­sa­ni­llo y por­que (se­re­mos sin­ce­ros) en Cloud­fla­re todos somos buil­ders : nos gusta cons­truir, pro­bar ideas y hacer ship­ping , no de­jar­las en una pre­sen­ta­ción. Y aquí te­nía­mos un nuevo reto para poner todo eso en prác­ti­ca. }:) Lo in­tere­san­te era com­pro­bar cuán­to po­día­mos sim­pli­fi­car el des­plie­gue y la ope­ra­ción al tener todas las pie­zas en una misma pla­ta­for­ma: Wor­kers para la ló­gi­ca, D1 para los datos, Queues para las ta­reas en se­gun­do plano y Ac­cess para la au­ten­ti­ca­ción. Menos in­fra­es­truc­tu­ra que ad­mi­nis­trar y más tiem­po para el pro­duc­to. Y ahí en­tra­ban la «magia» de los Du­ra­ble Ob­jects para coor­di­nar las salas en tiem­po real, R2 para al­ma­ce­nar con­te­ni­do sin car­gos por trans­fe­ren­cia de sa­li­da y Wor­kers AI para in­te­grar in­fe­ren­cia de baja la­ten­cia sin ges­tio­nar ser­vi­do­res de mo­de­los. Fi­gu­ra 3: El reto de mi­grar Wea­ver.js a Cloud­fla­re No se tra­ta­ba solo de ha­cer­lo fun­cio­nar, sino de ex­plo­rar lo que per­mi­te hoy la pla­ta­for­ma: re­du­cir com­ple­ji­dad, ajus­tar buena parte del coste al uso real y lle­var las ideas antes a pro­duc­ción. Todo con una apli­ca­ción de ver­dad, no un «hola, mundo» , y des­cu­brien­do por el ca­mino qué en­ca­ja­ba, qué había que adap­tar y dónde es­ta­ban los lí­mi­tes. Lo que os voy a con­tar hoy es esa aven­tu­ra. Y os ade­lan­to que fue más di­ver­ti­da ¡y ac­ci­den­ta­da! de lo que es­pe­ra­ba. El punto de par­ti­da: el repo de In­di­tex tal cual Lo pri­me­ro que hice fue clo­nar los dos re­po­si­to­rios pú­bli­cos ( wea­vejs-bac­kend y wea­vejs-fron­tend ) y leer el có­di­go de arri­ba a abajo. La ar­qui­tec­tu­ra ori­gi­nal de Weave.js era la que po­dríais ima­gi­nar para una apli­ca­ción Node.js mo­der­na y bien hecha: Fi­gu­ra 4: Dia­gra­ma de ar­qui­tec­tu­ra de Weave.js Bac­kend : Ex­press.js co­rrien­do en un ser­vi­dor Node. Al­ma­ce­na­mien­to: Azure Blob Sto­ra­ge para guar­dar el es­ta­do de las salas (do­cu­men­tos Yjs en bi­na­rio) y los as­sets (imá­ge­nes, ví­deos). Base de datos: Post­greSQL para todo lo demás como salas, pá­gi­nas, hilos de co­men­ta­rios, chats o ta­reas de ex­por­ta­ción. Cola de tra­ba­jos: pg-boss, una li­bre­ría que usa Post­greSQL como bac­kend de colas para ges­tio­nar los tra­ba­jos asín­cro­nos (ge­ne­ra­ción de imá­ge­nes con IA, ex­por­ta­cio­nes a PDF, etc.).