Reimagine Frontend in the Serverless Era

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Esta charla explora las implicaciones arquitectónicas para el desarrollo frontend en aplicaciones serverless. Examinaré cómo la naturaleza sin estado y bajo demanda de los backends serverless requiere que los desarrolladores frontend adopten nuevos patrones y estrategias. Discutiremos cómo las decisiones arquitectónicas en torno a la gestión de estado distribuido, las técnicas de manejo de conexiones para mitigar los arranques en frío, el diseño de mejores experiencias de carga, la implementación de límites de error robustos y la adaptación de la lógica de autenticación impactan la arquitectura frontend en entornos serverless. La presentación incluye demostraciones en vivo de implementaciones del mundo real, como un panel de control SSE en tiempo real, autenticación JWT y generación de imágenes serverless. Únete a mí para descubrir cómo la arquitectura frontend debe evolucionar para complementar los backends serverless modernos.

This talk has been presented at React Summit 2025, check out the latest edition of this React Conference.

Evangelia Mitsopoulou
Evangelia Mitsopoulou
8 min
17 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Evangelia, fundadora tecnológica de Fioromat Academy, discute el impacto de las tecnologías serverless en los frontends, enfatizando un cambio hacia backends ligeros y sin estado divididos en unidades más pequeñas y la creciente importancia de los API gateways y las funciones serverless. La discusión también destaca la importancia de las actualizaciones optimistas de estado, las estrategias de caché para reducir las llamadas a la API, el manejo resiliente de conexiones con reintentos para llamadas HTTP fallidas, el manejo granular de errores a nivel de componente y la interfaz de usuario de reserva personalizada por componente. En general, la charla enfatiza las arquitecturas frontend en evolución y la necesidad de adaptarse a los cambios en las estructuras de datos y tecnologías.

1. Analyzing Impacts of Serverless Technologies

Short description:

Evangelia, fundadora tecnológica de Fioromat Academy, discute el impacto de las tecnologías serverless en los frontends. Serverless no significa sin servidor o backend; se trata de un backend ligero y sin estado dividido en unidades más pequeñas. La arquitectura involucra gateways de API y funciones serverless gestionadas por proveedores de la nube. El frontend ahora mantiene más estado.

Hola a todos. Soy Evangelia. Soy la fundadora tecnológica y creadora de Fioromat Academy, una academia de mejora de habilidades para ingenieros de frontend. Hoy, hablaremos sobre cómo las tecnologías serverless están impactando los frontends. La chispa inicial para esta charla provino de mi antiguo empleador, Elastic, donde hubo muchos desarrollos para el nivel inferior de la arquitectura en el índice de búsqueda y la transformación del backend.

Sin embargo, ¿qué significa esto para nosotros, el frontend, la capa de consumo? Estas son algunas palabras sobre mí, mis hitos más recientes. He estado casi 20 años en la industria tecnológica. Bien. ¿Qué es serverless? ¿Significa que no hay servidor? No realmente. Es una palabra engañosa.

¿Significa que no hay backend? En realidad, el backend está cambiando. Se está volviendo más ligero. Se está convirtiendo en un backend sin estado. Esto es lo que significa. En pocas palabras, significa que el backend se divide en unidades efímeras y sin estado, pero ya no las gestionamos.

Veamos rápidamente cómo opera la arquitectura serverless para luego entender los impactos en el frontend. Seguimos siendo los clientes, los creadores, los constructores de la aplicación. Pero esta vez, nuestro código habla con un gateway de API, pero no es el mismo API como solía ser en las arquitecturas tradicionales. El gateway de API actúa como un enrutador hacia las funciones serverless más pequeñas, no hacia grandes endpoints que devuelven enormes archivos JSON como solían hacer. Se asegura de que lo haga de manera segura y escalable. Así que las funciones serverless y el código de esta arquitectura son unidades de negocio más pequeñas sin ningún estado que nosotros, los clientes, aún escribimos y poseemos, pero el proveedor de la nube se encarga de alojar y escalar las claves.

Sin embargo, les pagamos según el uso, solo cuando las usamos. Eso significa que si se vuelven inactivas por un tiempo, toma un tiempo reiniciarlas. Por eso terminamos en situaciones de arranque en frío, similar a cómo funciona el motor de un coche. Y lo último es la capa persistente, la base de datos. Todavía diseñamos el modelo de datos y las consultas para la aplicación. Sin embargo, el proveedor de la nube se encarga de gestionarlo y escalarlo. Muy bien. ¿Qué significa esto para nosotros en el frontend? El estado se está trasladando al frontend y a las capas de la base de datos, en realidad. Poseemos más estado, en realidad.

2. Optimistic State Updates and Caching Strategies

Short description:

Iniciando actualizaciones de estado de manera optimista para retroalimentación instantánea de la UI. Las estrategias de caché en el frontend se vuelven críticas; ahora el almacenamiento en caché en el almacenamiento local reduce las llamadas a la API. El manejo de conexiones necesita ser resiliente; los reintentos son esenciales para las llamadas HTTP fallidas para asegurar la visualización del usuario.

¿Qué significa esto? A veces tomamos la iniciativa de actualizar el estado en el navegador antes de esperar la confirmación final del backend. Estas son las actualizaciones optimistas. ¿Cuándo solemos actualizar el estado de manera optimista? Cuando queremos retroalimentación instantánea de la UI, como cuando hacemos likes, comentarios, iniciamos un mensaje, y puedes ver en el código aquí que establecemos el estado antes del try. Y si falla, podemos revertir en cualquier momento en el catch.

Otro impacto en la arquitectura frontend es que las estrategias de caché se vuelven críticas. Hasta ahora tenemos caché en los gestores de estado global, pero ahora es realmente crítico. Es importante, además de la memoria que hemos almacenado en caché hasta ahora en Redux y otras tecnologías. En esta arquitectura, lo almacenamos en caché en el almacenamiento local. De esta manera, reducimos las llamadas HTTP a la API porque, como vimos antes, podríamos encontrarnos con situaciones de arranque en frío, lo que significa que el backend podría retrasarse en responder al caché. Todavía almacenamos en caché los datos, pero no queremos asegurarnos de que se vuelvan obsoletos y desactualizados.

Por eso estamos usando hoy en día herramientas inteligentes como Tanks.Query y SWR que nos ayudan a configurar de manera inteligente cada cuánto queremos que los datos de caché sean revalidados. Y mientras esta revalidación tiene lugar, queremos mostrar al usuario aún los datos antiguos. Queremos asegurarnos generalmente en toda la arquitectura de que el usuario no perciba ninguna perturbación de la arquitectura subyacente. También podemos precargar los datos, por ejemplo, al pasar el ratón sobre los enlaces de navegación. Estas tecnologías nos permitieron hacer esto con una configuración bastante simple.

3. Data Stale Time and Error Handling

Short description:

Especificar el tiempo de actualización de datos obsoletos. La resiliencia en el manejo de conexiones es crucial; reintentos para llamadas HTTP fallidas con visualización al usuario. Frontend granular con funciones serverless; estados de carga ajustados para tiempos de carga rápidos. Errores críticos; manejo de errores granular a nivel de componente. UI de respaldo personalizada por componente para mantener la usabilidad de la aplicación. Mantente actualizado para un nuevo curso de estructuras de datos. Gracias a todos.

Podemos especificar por cuánto tiempo el tiempo de inactividad de los datos puede volverse inactivo y luego actualizarse. Una tercera implicación es que el manejo de conexiones, que es la llamada HTTP, la llamada real que hacemos, se vuelve y debería volverse resiliente. Hay una mayor probabilidad en esta arquitectura de que la llamada HTTP falle debido a solicitudes de red, debido al arranque en frío que mencionamos anteriormente. Es por eso que tenemos la opción de reintentar las llamadas a la API. Gracias a esa consulta, por ejemplo, nos permite definir el número de reintentos así como el retraso entre los reintentos. Y si algo falla después de los reintentos, aún podemos visualizar al usuario lo que sucederá si falla. Así que siempre recuerda visualizar al usuario lo que está sucediendo.

Estos reintentos son adecuados principalmente solo para llamadas GET y debemos evitar hacer reintentos en mutaciones. Vimos anteriormente que ahora no tenemos una ruta de API masiva, sino que tenemos funciones serverless más pequeñas. Eso significa que nuestro frontend, nuestros componentes de UI son más pequeños y están hablando de manera granular con las respectivas funciones serverless. Eso significa que cada componente puede fallar o cargarse en un momento diferente. Es por eso que los estados de carga se vuelven más granulares en esta arquitectura. Tenemos diferentes estados de carga para un componente de dashboard o para un componente de item. Sin embargo, no siempre deberíamos mostrar un spinner porque a veces tenemos estos umbrales de tres milisegundos por debajo de los cuales es un tiempo de carga exitoso.

Así que podemos especificar de manera granular cuándo mostramos cargadores, por ejemplo, solo después de que pase el tiempo de espera y podemos obtener actualizaciones silenciosamente y mantener la UI receptiva. Por último, los errores se vuelven bastante críticos en esta arquitectura porque en cualquier momento cualquier componente puede fallar. Por lo tanto, necesita ser manejado por separado e individualmente. Tenemos errores más frecuentes e impredecibles en estas arquitecturas. Es por eso que, comparado con las arquitecturas tradicionales, usamos un manejo de errores granular no solo a nivel de raíz y nivel de características, sino también a nivel de componente. Mostramos una UI de respaldo dirigida para aislar fallos y mantener la aplicación utilizable.

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

No sabes cómo hacer SSR
DevOps.js Conf 2024DevOps.js Conf 2024
23 min
No sabes cómo hacer SSR
The Talk covers the speaker's personal journey into server-side rendering (SSR) and the evolution of web development frameworks. It explores the use of jQuery for animations in SSR, the challenges faced in integrating React with Umbraco, and the creation of a custom SSR framework. The Talk also discusses the benefits of Next.js and the use of serverless artifacts for deployment. Finally, it highlights the features of Astro, including its function per route capability.
AWS Lambda bajo el capó
Node Congress 2023Node Congress 2023
22 min
AWS Lambda bajo el capó
Top Content
In this Talk, key characteristics of AWS Lambda functions are covered, including service architecture, composition, and optimization of Node.js code. The two operational models of Lambda, asynchronous and synchronous invocation, are explained, highlighting the scalability and availability of the service. The features of Lambda functions, such as retries and event source mapping, are discussed, along with the micro VM lifecycle and the three stages of a Lambda function. Code optimization techniques, including reducing bundle size and using caching options, are explained, and tools like webpack and Lambda Power Tuning are recommended for optimization. Overall, Lambda is a powerful service for handling scalability and traffic spikes while enabling developers to focus on business logic.
Arquitecturas Avanzadas de GraphQL: Event Sourcing y CQRS sin servidor
React Summit 2023React Summit 2023
28 min
Arquitecturas Avanzadas de GraphQL: Event Sourcing y CQRS sin servidor
GraphQL is a strongly typed, version-free query language that allows you to ask for specific data and get it in JSON format. It simplifies data retrieval and modification by allowing the server to handle all necessary operations. Serverless architectures, such as AWS Lambda, are scalable, cost-effective, and good for event-driven applications. Event sourcing and CQRS are techniques that ensure consistency and separate reading and writing parts of an application. Building a GraphQL API with commands and queries can be achieved using AWS AppSync and DynamoDB. This approach offers low latency, scalability, and supports multiple languages. Challenges include application complexity, data modeling, and tracing, but starting with simplicity and making something work first can lead to success.
Construyendo Dapps con React
React Advanced 2021React Advanced 2021
30 min
Construyendo Dapps con React
The Talk discusses building decentralized applications (DApps) with React and explores the benefits of smart contract technology. It highlights the characteristics and infrastructure of Web 3 applications, including decentralized indexing, off-chain data storage, and decentralized file storage. The Talk also covers identity in Web 3, with a focus on self-sovereign identity and the use of blockchain for identity verification. The process of building a DApp with React and Hard Hat is explained, along with deploying contracts and interacting with them. Overall, the Talk provides insights into the world of DApps and the technologies involved.
Serverless para Frontends
DevOps.js Conf 2022DevOps.js Conf 2022
8 min
Serverless para Frontends
Premium
Welcome to my session on Serverless for Front-ends. Serverless functions eliminate the need for a runtime and handle orchestration for you. Microfrontends require a runtime and orchestration, but side-less UIs provide a runtime-free solution. In the demo, a new team adds functionality to an application and publishes it easily. Building and deploying applications is quick and easy with micro apps and PowerCLI, offering true loose coupling and instant availability without a runtime.
Serverless en Producción, Lecciones desde las Trincheras
Node Congress 2022Node Congress 2022
34 min
Serverless en Producción, Lecciones desde las Trincheras
This Talk provides valuable insights for those considering serverless in 2022, with a focus on troubleshooting and observability using Lumigo. It emphasizes the use of multiple AWS accounts and Org Formation for better control and scalability. Security considerations include securely loading secrets at runtime and implementing zero-trust networking. Optimizing Lambda performance is discussed, along with updates on serverless frameworks and the role of Terraform. The Talk also compares Honeycomb and Lumigo for observability in serverless applications.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Construyendo Aplicaciones Serverless en AWS con TypeScript
Node Congress 2021Node Congress 2021
245 min
Construyendo Aplicaciones Serverless en AWS con TypeScript
Workshop
Slobodan Stojanović
Slobodan Stojanović
Este masterclass te enseña los conceptos básicos del desarrollo de aplicaciones serverless con TypeScript. Comenzaremos con una función Lambda simple, configuraremos el proyecto y la infraestructura como código (AWS CDK) y aprenderemos cómo organizar, probar y depurar una aplicación serverless más compleja.
Tabla de contenidos:        - Cómo configurar un proyecto serverless con TypeScript y CDK        - Cómo escribir una función Lambda testeable con arquitectura hexagonal        - Cómo conectar una función a una tabla DynamoDB        - Cómo crear una API serverless        - Cómo depurar y probar una función serverless        - Cómo organizar y hacer crecer una aplicación serverless


Materiales mencionados en el masterclass:
https://excalidraw.com/#room=57b84e0df9bdb7ea5675,HYgVepLIpfxrK4EQNclQ9w
Blog de DynamoDB de Alex DeBrie: https://www.dynamodbguide.com/
Excelente libro para DynamoDB: https://www.dynamodbbook.com/
https://slobodan.me/workshops/nodecongress/prerequisites.html
Masterclass de Serverless para Desarrolladores de React
React Summit 2022React Summit 2022
107 min
Masterclass de Serverless para Desarrolladores de React
Workshop
Tejas Kumar
Tejas Kumar
Introducción a serverlessAntecedentes: Docker, Contenedores y KubernetesActividad: Construir una aplicación con Docker y desplegarla en un proveedor de nubeAnálisis: ¿Qué es bueno/malo de este enfoque?Por qué se necesita/mejora ServerlessActividad: Construir la misma aplicación con serverlessAnálisis: ¿Qué es bueno/malo de este enfoque?
Construyendo un backend serverless nativo de GraphQL con Fauna
GraphQL Galaxy 2021GraphQL Galaxy 2021
143 min
Construyendo un backend serverless nativo de GraphQL con Fauna
Workshop
Rob Sutter
Shadid Haque
2 authors
¡Bienvenido a Fauna! Este masterclass ayuda a los desarrolladores de GraphQL a construir aplicaciones de alto rendimiento con Fauna que se escalan a cualquier tamaño de base de usuarios. Comienzas con lo básico, utilizando solo el playground de GraphQL en el panel de Fauna, luego construyes una aplicación completa de pila completa con Next.js, agregando funcionalidad a medida que avanzas.

En la primera sección, Comenzando con Fauna, aprendes cómo Fauna crea automáticamente consultas, mutaciones y otros recursos basados en tu esquema de GraphQL. Aprendes cómo realizar tareas comunes con GraphQL, cómo usar el lenguaje de consulta de Fauna (FQL) para realizar tareas más avanzadas.

En la segunda sección, Construyendo con Fauna, aprendes cómo Fauna crea automáticamente consultas, mutaciones y otros recursos basados en tu esquema de GraphQL. Aprendes cómo realizar tareas comunes con GraphQL, cómo usar el lenguaje de consulta de Fauna (FQL) para realizar tareas más avanzadas.
Escalando Bases de Datos para Aplicaciones Globales sin Servidor
Node Congress 2022Node Congress 2022
83 min
Escalando Bases de Datos para Aplicaciones Globales sin Servidor
Workshop
Ben Hagan
Ben Hagan
Este masterclass discute los desafíos que enfrentan las empresas al escalar la capa de datos para admitir implementaciones multi-región y entornos sin servidor. Las funciones de borde sin servidor y la orquestación de contenedores livianos permiten que las aplicaciones y la lógica empresarial se implementen fácilmente a nivel mundial, dejando a menudo la base de datos como el cuello de botella de latencia y escalabilidad.
Únase a nosotros para comprender cómo PolyScale.ai resuelve estos desafíos de escalabilidad, almacenando en caché de manera inteligente los datos de la base de datos en el borde, sin sacrificar la transaccionalidad o la consistencia. Aprenda a implementar, observar consultas y realizar pruebas de latencia global con funciones de borde utilizando PolyScale.
Tabla de contenidos        - Introducción a PolyScale.ai        - Gravedad de los datos empresariales        - Por qué es difícil escalar los datos        - Opciones para escalar la capa de datos        - Observabilidad de la base de datos        - Gestión de caché con IA        - Aprenda a utilizar PolyScale.ai
Depuración en vivo de pruebas de extremo a extremo para una aplicación serverless distribuida
TestJS Summit 2021TestJS Summit 2021
146 min
Depuración en vivo de pruebas de extremo a extremo para una aplicación serverless distribuida
Workshop
Serkan Ozal
Oguzhan Ozdemir
2 authors
En este masterclass, construiremos un entorno de pruebas para una aplicación preconstruida, luego escribiremos y automatizaremos pruebas de extremo a extremo para nuestra aplicación serverless. Y en el último paso, demostraremos lo fácil que es entender la causa raíz de una prueba errónea utilizando pruebas distribuidas y cómo depurarla en nuestro pipeline de CI/CD con Thundra Foresight.

Tabla de contenidos:
- Cómo configurar y probar tu infraestructura en la nube
- Cómo escribir y automatizar pruebas de extremo a extremo para tus cargas de trabajo serverless
- Cómo depurar, rastrear y solucionar problemas de fallas en las pruebas con Thundra Foresight en tus pipelines de CI/CD