Patrón síncrono en arquitecturas serverless con Platzi Wallet

Clase 16 de 27Curso de Introducción a la Nube

Resumen

¿Cómo funciona una arquitectura serverless en un patrón síncrono?

Las arquitecturas serverless están revolucionando la forma en que pensamos sobre el desarrollo de aplicaciones. Imagina una arquitectura en la que no tienes que preocuparte por servidores dedicados y donde los componentes se pueden escalar automáticamente según la demanda. Un ejemplo claro de cómo estas arquitecturas operan es a través del patrón request and response o solicitud y respuesta, y el caso de uso de Platzi Wallet nos sirve como un excelente punto de partida.

¿Qué es el patrón solicitud y respuesta en serverless?

El patrón solicitud y respuesta es un enfoque donde un cliente solicita un servicio y espera una respuesta antes de continuar. En nuestro ejemplo, Carlos quiere saber su saldo en Platzi Wallet. Lo hace de la siguiente manera:

  1. Cliente (Carlos): Carlos se autentica en la aplicación móvil y solicita consultar su saldo.
  2. API Gateway: La solicitud viaja a través de Internet y llega al API Gateway, la puerta de enlace de la aplicación.
  3. Función Serverless: El API Gateway pasa la solicitud a una función específica, encargada de manejar los datos y las operaciones necesarias.
  4. Data Store: La función consulta una base de datos no relacional (Data Store) para obtener el saldo de Carlos.
  5. Respuesta: El resultado del Data Store se devuelve hacia el API Gateway, que finalmente retorna el saldo a Carlos.

Este flujo es un ejemplo de un patrón síncrono, donde cada componente espera una respuesta antes de pasar al próximo paso.

¿Por qué es importante el componente síncrono?

Para ciertas aplicaciones, como la consulta de saldo, es fundamental saber el resultado inmediatamente para proceder con acciones como un pago. En este contexto:

  • Síncrono: Esperamos directamente la respuesta del Data Store para que el API devuelva la información al cliente. Asegura que el cliente obtenga la información de manera inmediata.

  • Asíncrono: Ideal para situaciones en las que no se necesita una respuesta inmediata, como en la emisión de un certificado de pago de impuestos, en donde se puede recibir por correo electrónico en otro momento.

¿Cómo se combinan los componentes serverless en un caso de uso?

El ejemplo de Platzi Wallet demuestra cómo distintos componentes se integran para ofrecer una funcionalidad eficiente en un sistema "sin servidor". Esto abre la puerta a crear aplicaciones totalmente basadas en serverless, con un uso óptimo de recursos y una escalabilidad garantizada por el servicio en la nube.

  • API Gateway: Administra las solicitudes entrantes y las dirige a donde corresponde.

  • Funciones Serverless: Ejecutan operaciones específicas basadas en los datos requeridos.

  • Data Store: Almacena y gestiona la información relevante y se consulta según sea necesario.

¿Qué otros patrones y arquitecturas se pueden explorar?

La belleza de las arquitecturas serverless es su flexibilidad y escalabilidad. Además del patrón síncrono, hay otros patrones que merecen exploración:

  • Patrones de cola: Permiten manejar tareas en forma asíncrona, ideal para procesos largos que no necesitan una respuesta inmediata.
  • Eventos desencadenantes: Que permiten automatizar flujos de trabajo y desencadenar funciones basadas en acciones previas.
  • Microservicios: Utilizando funciones autónomas y especializadas para cada funcionalidad de la aplicación, promoviendo la independencia y escalabilidad.

Para profundizar en estos temas y obtener una comprensión más técnica sobre serverless, el libro "Learning Serverless" de O'Reilly es una excelente recomendación. Los patrones y teorías que presenta son fundamentales para cualquier desarrollador que busque innovar en esta área.

La exploración continua del mundo serverless permitirá a los desarrolladores entender cómo construir aplicaciones más inteligentes y eficientes, y te invito a seguir explorando y aprendiendo sobre estas tecnologías emergentes. ¡El camino hacia el conocimiento nunca se detiene!