Código serverless con estado propio y consistente
Crea y ejecuta servicios de chat, sistemas multijugador y aplicaciones colaborativas que mantienen a los usuarios sincronizados en todo el mundo, sin message brokers ni state stores que gestionar.
Apps serverless de larga duración
Los durable objects se ejecutan durante el tiempo necesario. Pueden procesar en segundo plano y atender grandes volúmenes de solicitudes simultáneas.
Todos los usuarios en sincronía
Todo durable object funciona como servidor y cliente WebSocket. Transmite el estado a todos los clientes conectados en pocas líneas de código.
Escala a millones según lo necesites
Dale a cada unidad de trabajo de tu aplicación un durable object ligero y aislado. Ejecuta millones de ellos, sin planificar capacidad.
Un coordinador para cada estado compartido
Toda llamada a un durable object llega a su única instancia activa, dondequiera que esté entre los más de 100 data centers. Una escritura condicional garantiza un solo dueño, aun con fallas de red. Tú escribes la clase. Azion gestiona la ubicación, el enrutamiento y el failover.
Casos de uso
El camino más corto hacia apps stateful en tiempo real
Las solicitudes de cualquier lugar llegan al mismo durable object, y una sola instancia coordina a todos los clientes que comparten su estado. Hace fan-in y fan-out por WebSocket, y el SQLite integrado guarda estado, eventos e historial junto a tu código.
"Nuestra asociación con Azion transformó nuestras operaciones. Redujimos costos y mejoramos el rendimiento, recuperando más de 200 horas mensuales para enfocarnos en desarrollo estratégico."
Mateus Leonardi
CTO en HeroSpark
Todas las primitivas de desarrollo que necesitas
Preguntas Frecuentes
¿Qué es Durable Objects?
Durable Objects es cómputo serverless con estado propio y consistente en Azion Web Platform. Cada objeto es una sola instancia de tu código, identificada por un nombre único, con estado en memoria, almacenamiento SQL transaccional, soporte para WebSocket y alarmas. Toda solicitud a ese objeto llega a la misma instancia, lo que convierte al objeto en el punto de coordinación de todo lo que comparten muchos usuarios o servicios.
¿Cómo mantiene Durable Objects el estado consistente?
Tres garantías trabajan juntas. Solo una instancia de cada durable object se ejecuta a la vez, protegida por un registro de propiedad en almacenamiento durable. Esa instancia procesa un evento a la vez, así que las solicitudes simultáneas nunca se intercalan. Y cada escritura es una transacción ACID en la base de datos SQLite del propio objeto, confirmada en almacenamiento durable antes de enviar la respuesta.
¿Qué diferencia hay entre Durable Objects y Functions?
Functions procesa cada solicitud de forma independiente y no guarda nada entre ejecuciones. Un durable object conserva su estado entre solicitudes, mantiene conexiones WebSocket abiertas, ejecuta alarmas y atiende desde una sola instancia a todos los clientes que usan el mismo objeto. Usa Functions para lógica en el momento de la solicitud y Durable Objects cuando muchos clientes necesitan compartir y actualizar el mismo estado.
¿Cuándo usar Durable Objects en lugar de KV Store o SQL Database?
KV Store es eventualmente consistente y conserva la última escritura cuando dos escrituras llegan a la misma clave, lo que sirve para configuración y datos de sesión leídos en alto volumen. SQL Database sirve para datos relacionales que consulta toda la aplicación. Usa Durable Objects cuando una entidad, como una sala, un carrito o una cuenta, necesita actualizaciones en orden y una única fuente de verdad.
¿Cómo funcionan los WebSockets en Durable Objects?
Un objeto acepta conexiones WebSocket directamente y puede enviar mensajes a todas ellas. Cuando no llegan mensajes, el objeto hiberna mientras las conexiones siguen abiertas y despierta cuando llega el siguiente mensaje, así que las conexiones inactivas no mantienen el objeto en ejecución.
¿Cómo funcionan las alarmas?
Un objeto define una alarma para un momento futuro, y la plataforma despierta ese objeto cuando llega la hora, incluso si hibernó. En casos raros de falla, una alarma puede dispararse más de una vez, así que escribe handlers que puedan repetirse con seguridad.
¿Puedo crear AI agents con Durable Objects?
Sí. Dale a cada agent o conversación su propio durable object y guarda el historial en el almacenamiento SQL del objeto, para que cada interacción lea y escriba el mismo estado.
¿Cómo se compara Durable Objects de Azion con otras plataformas?
Azion sigue el mismo modelo de Durable Objects: una instancia por objeto, eventos procesados en orden, almacenamiento transaccional, WebSockets y alarmas. Cada objeto guarda sus datos en su propia base de datos SQLite, con los cambios guardados en almacenamiento durable fuera de la máquina que lo ejecuta. La API es compatible, así que el código de Durable Objects que ya tienes se ejecuta en Azion.
¿Cómo migrar código de Durable Objects existente a Azion?
El modelo de programación es el mismo: una clase, un nombre, almacenamiento, WebSockets y alarmas. La API es compatible, así que tus clases se ejecutan en Azion sin reescribirlas. Solo reemplaza los bindings actuales por la configuración de Azion.
Crea una vez.Ejecuta en todas partes.
Consigue una ruta más rápida al lanzamiento, menor latencia y menos sobrecarga de infraestructura.