
Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.



Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.
Tobias Koppers del equipo de Vercel TurboPack discute la implementación del almacenamiento en caché persistente para el desarrollo de aplicaciones web a largo plazo, previendo un crecimiento significativo en el tamaño de las aplicaciones durante la próxima década.
Mi nombre es Tobias Koppers y trabajo para Vercel en el equipo de TurboPack. Y quiero hablarles sobre la historia del almacenamiento en caché persistente que implementamos para TurboPack. Así que cuando comenzamos a trabajar en TurboPack, queríamos construir algo para los próximos 10 años. Así que primero reflexionamos sobre los últimos 10 años de desarrollo web, y notamos que las aplicaciones web han crecido mucho. Hace 10 años, algunas personas incluso usaban texto de script normal y ni siquiera usaban un bundler en el desarrollo web, o usaban Grunt o Gulp para concatenar cosas. Así que ahora extrapolamos eso para los próximos 10 años. Veremos que las aplicaciones web serán enormes en tamaño, y eso será un problema.
El papel de la IA en la escritura de código, la visión de TurboPack para construcciones instantáneas, los desafíos en el control de la construcción y el cambio hacia el rendimiento incremental con almacenamiento en caché para construcciones más rápidas.
Y creamos esto básicamente hace dos años, y ahora si miras esto retrospectivamente, tiene mucho más sentido. Porque ahora ves que la IA está escribiendo todo el código, y puedes esperar que la IA escriba mucho más código en los próximos 10 años. Así que tiene sentido. Pero también teníamos este objetivo de construcciones instantáneas para TurboPack. Teníamos esta visión de que nadie debería esperar nunca a que una construcción termine. Básicamente deberías enviar tu código, e instantáneamente puedes compartir directamente ese código en la vista previa de implementación o la construcción terminada con tus compañeros de trabajo. O incluso la IA envía código y quiere compartirlo directamente contigo en una especie de ciclo de retroalimentación.
Así que esto está un poco en contraste entre sí, y hay incluso más problemas con eso. Ni siquiera podemos controlar todo el proceso de construcción. Queremos permitir plugins personalizados, transformaciones personalizadas, como los cargadores de webpack, o ni siquiera podemos controlar el código del usuario y todas las bibliotecas NPM que nos lanzan. Así que con todo eso, todavía podemos usar Rust para escribir código nativo, solo paralelismo para usar otros núcleos, pero eso no nos ayudará con todos estos problemas. Porque si hay algo lento en un plugin personalizado o en un cargador de webpack o en cualquier cosa que no tenemos control, eso romperá nuestro objetivo de construcciones instantáneas.
Así que necesitamos repensar eso, y necesitamos un enfoque diferente. Si tenemos que aceptar que algo de la construcción es lento, ¿cómo podríamos aún lograr nuestro objetivo de construcción instantánea? Así que nuestro enfoque fue que queríamos cambiar el enfoque. En lugar de centrarnos en el rendimiento bruto de la construcción, queríamos centrarnos en el rendimiento de la construcción incremental. Así que tal vez tengamos que aceptar que algunas cosas son lentas en la construcción inicial, pero podemos al menos asegurarnos de que nunca las volvamos a ejecutar. Básicamente lo hacemos más rápido que todas las otras construcciones, todas las construcciones incrementales. Y de hecho, en la práctica, casi todas las construcciones pueden tener un caché. En el desarrollo local y el servidor de desarrollo o algo, puedes tener un disco accesible, podemos almacenar cosas allí, podemos almacenar en caché cosas. E incluso en construcciones CI, casi todos los buenos proveedores de CI tienen la capacidad, la infraestructura para proporcionarte algunas capacidades de almacenamiento en caché.
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Comments