Durable Objects - Todo En Todas Partes Todo De Una Vez Por No Mucho Dinero

Rate this content
Bookmark

Los Durable Objects de Cloudflare son un nuevo entorno de ejecución de JavaScript que facilita la construcción de servidores backend con estado, a demanda y en el borde, tan fácil y barato como las funciones sin servidor.

Al colocar el cálculo y el estado, los Durable Objects reducen la complejidad a gran escala y te permiten concentrarte en la construcción de tu producto.

En esta charla rápida, codificaremos en vivo un backend en tiempo real desde cero, mostraremos cómo funcionan los Durable Objects y exploraremos cómo puedes aplicar esta herramienta versátil a una amplia gama de problemas de ingeniería cotidianos.

FAQ

Los Durable Objects son una tecnología desarrollada por Cloudflare. Permiten construir aplicaciones colaborativas como salas de chat y juegos, ofreciendo un paradigma de programación versátil con objetos de estado duradero y direccionables de manera única.

Los Durable Objects permiten mantener el estado en aplicaciones en tiempo real, facilitando la creación de aplicaciones colaborativas al mantener los datos consistentes y accesibles en múltiples sesiones y usuarios simultáneamente.

Los Durable Objects están limitados a 128 MB de RAM y cada valor de almacenamiento no puede exceder los 128 kilobytes. Estas limitaciones pueden requerir ajustes en la estructura de datos para aplicaciones con grandes necesidades de memoria o datos.

La facturación de los Durable Objects se basa en tres componentes principales: el cómputo utilizado, el almacenamiento ocupado y la memoria utilizada por el objeto mientras está en ejecución. Ofrecen un modelo de coste eficiente, especialmente para aplicaciones que no requieren constante procesamiento activo.

Durable Objects son ideales para aplicaciones que requieren mantener un estado consistente en tiempo real, como juegos multijugador, aplicaciones de chat, pizarras colaborativas, y cualquier sistema que beneficie de la sincronización de estado en tiempo real entre usuarios.

La autorización y seguridad en los Durable Objects se manejan a nivel de endpoint HTTP. Se puede integrar con sistemas de autenticación existentes o personalizados, permitiendo un control de acceso seguro y eficiente.

Jani Eväkallio
Jani Eväkallio
31 min
08 Dec, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Durable Objects es un paradigma de programación versátil de Cloudflare que permite entornos de servidor con estado y direccionables de manera única. Simplifica el desarrollo de características, permite actualizaciones en tiempo real a través de conexiones WebSocket y proporciona un almacenamiento clave-valor incorporado para almacenamiento a largo plazo. Se puede utilizar para crear aplicaciones colaborativas, gestionar el almacenamiento de datos de manera eficiente y explorar el cálculo y los datos co-ubicados en el borde. Otras empresas como Azure también ofrecen tecnologías similares. KV de Deno y Flame de fly.io son productos innovadores que eliminan la necesidad de aprovisionar bases de datos y clústeres de Kubernetes.

1. Introducción a Durable Objects

Short description:

Vamos a empezar. Gracias, Kevin, por esta maravillosa introducción. Hoy no vamos a hacer diapositivas. Vamos a hacer codificación en vivo. Así que hoy quiero hablarles de algo llamado Durable Objects, que es un mal nombre para algo realmente genial. ¿Puedo ver un show de manos? ¿Quién aquí antes de venir a esta charla ha oído hablar de lo que son los Durable Objects? Tenemos unas 10 manos. Y mantén la mano levantada si realmente has ejecutado Durable Objects en producción.

Vamos a empezar. Gracias, Kevin, por esta maravillosa introducción. Es un trabajo ingrato ser un MC. ¿Podemos tener un aplauso para Kevin y los MCs también? Sí. Me encanta ser parte de estas conferencias. He sido parte de casi todos los React Debriefing en el pasado. Y es mi primera vez hablando. Y no hablo muy a menudo porque odio hacer diapositivas. Así que hoy no vamos a hacer diapositivas. Vamos a hacer codificación en vivo. Pero porque cometí el error de nombrar esta charla todo, en todas partes, todo a la vez. Pensé que podría haber algunos aficionados al cine allí. Así que puse una diapositiva al principio sólo para que la gente no se enoje conmigo por no, ya sabes, poner las diapositivas. Así que esta es la diapositiva. Es una animación de keynote. Mírala. Es hermosa. Ahí. Wow. Mira eso. Wow. Bien. Así que hoy quiero hablarles de algo llamado Durable Objects, que es un mal nombre para algo realmente genial. Así que este año, como todos los años al final del año, reflexiono sobre lo que he estado trabajando de manera diferente este año. ¿Cuáles son algunas de las nuevas herramientas y prácticas que han mejorado, ya sabes, mi capacidad para hacer mi trabajo como ingeniero. Y Durable Objects es uno de esos descubrimientos de este año que realmente quiero compartir con ustedes. ¿Puedo ver un show de manos? ¿Quién aquí antes de venir a esta charla ha oído hablar de lo que son los Durable Objects? Bien. Tenemos unas 10 manos. Y mantén la mano levantada si realmente has ejecutado Durable Objects en

2. Introducción a los Durable Objects de Cloudflare

Short description:

Bien. Entonces, como dos o tres personas. Genial. Esto es exactamente lo que esperaba. Durable Objects es una tecnología de una empresa llamada Cloudflare. Es una empresa de tecnología realmente genial, pero no son realmente buenos explicando a la gente cómo usarla o vendiéndola o algo así. Así que pensé que en lugar de intentar explicártelo, simplemente te voy a mostrar cómo funciona. Cloudflare es una de las mayores empresas de infraestructura de Internet, conocida por sus servicios de CDN, caché, proxy y defensa contra bots. Tienen una plataforma de desarrollo llamada Workers, donde puedes ejecutar código sin servidor. Los trabajadores de Cloudflare se ejecutan en cada una de sus 300 ubicaciones de servidores, lo que hace que los servicios sean extremadamente rápidos. Durable Objects es un paradigma de programación versátil, que pronto te demostraré.

en producción. Bien. Entonces, como dos o tres personas. Genial. Esto es exactamente lo que esperaba. Y no te preocupes, esto no es tu culpa. Es culpa de Cloudflare. Así que primero, un pequeño preámbulo. Durable Objects es una tecnología de una empresa llamada Cloudflare. Yo no trabajo para Cloudflare. Solo soy un fan entusiasta. No me pagan por ello. Ni siquiera revisaron mis diapositivas, así que todo podría estar incorrecto. Pero por otro lado, puedo decir lo que quiera sobre Cloudflare. Y lo que pasa con Cloudflare es que es una empresa de tecnología realmente genial, que tiene una tecnología realmente genial, y no son realmente buenos explicando a la gente cómo usarla o vendiéndola o algo así. Así que pensé que en lugar de intentar explicártelo, simplemente te voy a mostrar cómo funciona. Bien, así que esto es Cloudflare. Si no has oído hablar de esta empresa, es una de las mayores empresas de infraestructura de Internet. Puede que los conozcas como un proveedor de CDN, como un proveedor de caché, proveedor de proxy, defensa contra bots, cosas así. Pero más que eso, tienen una plataforma de desarrollo perfectamente maravillosa llamada Workers, donde puedes ejecutar código serverless, al igual que Lambda. Pero a diferencia de Lambda que generalmente se ejecuta en una sola ubicación o zona de disponibilidad, dependiendo de cómo lo configures, los trabajadores de Cloudflare se ejecutan en cada una de sus 300 ubicaciones de servidores que tienen alrededor del mundo. Y automáticamente en su red, básicamente solo dirigen tu solicitud al más cercano. Así que esto significa que gracias a que estas cosas están cerca, generalmente estos servicios son extremadamente rápidos. Pero si vamos a este sitio web de la plataforma de desarrollo, detrás de aquí, debajo de estos Workers, hay una sección llamada durable objects. Y aquí, si vamos, podemos descubrir qué son los durable objects y qué hacen. Y recuerda, yo no trabajo para Cloudflare. Y nos dicen que podemos construir aplicaciones colaborativas, como salas de chat, juegos, pizarras. Esto es realmente genial. Me encanta jugar juegos, como construir juegos y salas de chat y pizarras. Pero en realidad, la mayoría de nosotros no tenemos la oportunidad de construir este tipo de software en el día a día. Y esto es, creo, la mayor subestimación de lo que son los durable objects, es que ellos

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Depuración Web Moderna
JSNation 2023JSNation 2023
29 min
Depuración Web Moderna
Top Content
Pocos desarrolladores disfrutan depurando, y la depuración puede ser compleja para las aplicaciones web modernas debido a los múltiples marcos, lenguajes y bibliotecas utilizados. Pero, las herramientas de desarrollo han avanzado mucho en facilitar el proceso. En esta charla, Jecelyn profundizará en el estado moderno de la depuración, las mejoras en DevTools y cómo puedes usarlas para depurar tus aplicaciones de manera confiable.
El Futuro de las Herramientas de Rendimiento
JSNation 2022JSNation 2022
21 min
El Futuro de las Herramientas de Rendimiento
Top Content
Nuestra comprensión del rendimiento y la experiencia del usuario ha evolucionado mucho a lo largo de los años. Las herramientas de desarrollo web necesitan evolucionar de manera similar para asegurarse de que sean centradas en el usuario, accionables y contextuales donde se refiere a las experiencias modernas. En esta charla, Addy te guiará a través de cómo Chrome y otros han estado pensando en este problema y qué actualizaciones han estado haciendo a las herramientas de rendimiento para reducir la fricción para construir grandes experiencias en la web.
pnpm: un gestor de paquetes rápido y eficiente para JavaScript
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
pnpm: un gestor de paquetes rápido y eficiente para JavaScript
Aprenderás sobre uno de los gestores de paquetes más populares para JavaScript y sus ventajas sobre npm y Yarn.Una breve historia de los gestores de paquetes de JavaScriptLa estructura aislada de node_modules creada por pnpmQué hace que pnpm sea tan rápidoQué hace que pnpm sea eficiente en el uso del espacio en discoSoporte para monoreposGestión de versiones de Node.js con pnpm
Más allá de las listas virtuales: Cómo renderizar 100K elementos con 100s de actualizaciones/seg en React
React Advanced Conference 2021React Advanced Conference 2021
27 min
Más allá de las listas virtuales: Cómo renderizar 100K elementos con 100s de actualizaciones/seg en React
Top Content
Generalmente hay una buena comprensión de cómo renderizar grandes conjuntos de datos (digamos, 100K elementos) usando listas virtuales, ...si permanecen en gran medida estáticos. ¿Pero qué pasa si se están agregando o actualizando nuevas entradas a un ritmo de cientos por segundo? ¿Y si el usuario debería poder filtrarlos y ordenarlos libremente? ¿Cómo podemos mantenernos receptivos en tales escenarios? En esta charla discutimos cómo Flipper introdujo transformaciones FSRW inspiradas en map-reduce para manejar tales escenarios con gracia. Al aplicar las técnicas introducidas en esta charla, las tasas de cuadros de Flipper aumentaron al menos 10 veces y esperamos abrir el código de este enfoque pronto.
Aplicaciones web de alta velocidad: más allá de lo básico
JSNation 2022JSNation 2022
30 min
Aplicaciones web de alta velocidad: más allá de lo básico
Saber cómo ejecutar pruebas de rendimiento en tu aplicación web de manera adecuada es una cosa, y aprovechar esas métricas de manera efectiva es otra. Y ambos aspectos son cruciales para el éxito general de tus esfuerzos de optimización de rendimiento. Sin embargo, a veces puede ser todo un desafío, ya que implica tener un entendimiento preciso de todos los detalles tanto de los datos de rendimiento como de las herramientas de rendimiento. Esta charla arrojará luz sobre cómo superar este desafío y te guiará a través de los obstáculos y trucos del oficio de Chrome DevTools, brindándote una hoja de ruta completa para el análisis y optimización de rendimiento.
Depuración con Chrome DevTools
JSNation Live 2021JSNation Live 2021
11 min
Depuración con Chrome DevTools
Jecelyn compartirá algunos consejos y trucos para ayudarte a depurar tu aplicación web de manera efectiva con Chrome DevTools.

Workshops on related topic

React, TypeScript y TDD
React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.