Arquitectura de Alto Nivel para Aplicaciones en la Nube

Clase 3 de 42Curso de Google Cloud Platform para E-commerce

Contenido del curso

Retail Store en Google Cloud Platform

Exposición de servicios con Apigee

Generación de modelos AI/ML

Consumo de servicios de AI/ML

Resumen

Diseñar una aplicación moderna en la nube implica conectar múltiples piezas: desde la autenticación del usuario hasta la inferencia con machine learning. Comprender cómo encajan estos componentes es fundamental para construir productos escalables y seguros que, además, generen valor comercial a través de los datos.

¿Cómo fluye la interacción desde el usuario hasta la nube?

El recorrido comienza en el lado izquierdo de la arquitectura, donde están los medios de consumo [0:49]. Los usuarios pueden acceder desde un teléfono móvil, un navegador en una computadora portátil o cualquier otra aplicación. En este caso, el enfoque principal es la invocación desde dispositivos móviles.

La aplicación web está desarrollada en Node.js [1:28]. El proceso de construcción genera un bundle —que no es más que archivos de JavaScript, HTML y CSS— y ese bundle necesita hospedarse en algún servicio. El concepto de hospedaje ha tenido una evolución interesante: pasó de ser algo simple a algo muy complejo, y ahora regresa a ser simple nuevamente [1:47].

Para la autenticación se utiliza Firebase [1:14], que ofrece un motor que permite a los usuarios crear cuentas y empezar a almacenar su comportamiento, compras y artículos en el carrito.

¿Qué papel juegan el almacenamiento y el modelo orientado a eventos?

Firebase también proporciona motores de almacenamiento donde se guarda data no estructurada: archivos, imágenes, videos y audios, es decir, información almacenada como cadenas de bytes [2:05]. Es importante no confundir data no estructurada con data no relacional; aunque no exista un esquema relacional fijo, los datos siguen teniendo propiedades y cierta estructura, ya sea orientados a objetos o a documentos [2:21].

Uno de los aspectos más potentes de Firebase es su modelo orientado a eventos [2:50]. Cuando cambia el modelo de datos, se pueden disparar procesos detrás de escena. Esto significa que dejamos de pensar exclusivamente en un backend tradicional o en la exposición de un API, y empezamos a favorecer reacciones automáticas ante las acciones del usuario.

¿Cómo proteger la integridad de una orden?

Un ejemplo práctico: cuando llega una orden, una function puede validar los montos antes de marcarla como lista para cumplimiento o logística [3:13]. Dado que muchas operaciones ocurren dentro de una single page application, un usuario malicioso podría alterar cantidades o precios unitarios. Si no se verifica la integridad del lado del servidor, alguien podría manipular los valores y causar pérdidas económicas.

¿Cómo integrar sistemas externos?

Hay escenarios donde se necesita enviar mensajes a aplicaciones terceras —un sistema de order management, un sistema de depot o un ERP— [3:43]. Para esto se utiliza un bus de mensajería que detona la invocación de servicios externos, idealmente expuestos mediante un API, aunque también se pueden emplear otros mecanismos de integración.

¿Cómo se construye el pipeline de datos y la inferencia con BigQuery ML?

En la parte superior de la arquitectura aparece el tagueo de interacciones [4:16]. Google ofrece Tag Manager, una herramienta que externaliza la generación de tags. A medida que ocurren eventos en la aplicación, estos se reportan a Google Analytics, y toda esa información se almacena en BigQuery [4:35].

Una vez que los datos están en BigQuery, se puede agregar un calendarizador o scheduler que detone el servicio de inferencia [5:00]. Existen dos tipos principales:

  • Inferencia en tiempo real: procesa datos al instante.
  • Inferencia por lotes: recopila datos de una ventana de tiempo —semanas o un mes— y ejecuta predicciones de forma periódica.

El enfoque elegido aquí es la inferencia por lotes para generar el customer lifetime value (CLV) [5:15]. Se utiliza BigQuery ML (BigQuery Machine Learning), que permite crear, evaluar y predecir modelos usando SQL [5:30], sin necesidad de aprender TensorFlow, Scikit-learn o PyTorch. Con tan solo tres queries se puede tener un modelo funcionando.

Las predicciones se almacenan en el mismo BigQuery, junto a la fuente original de datos. Estos resultados se pueden visualizar con herramientas como Data Studio [5:55]. Finalmente, un paso de extracción lleva los datos a DV360 (Display & Video 360), la solución de Google para montar anuncios y comerciales en distintas plataformas [6:05].

En resumen visual, la arquitectura tiene cuatro grandes bloques: las interacciones propias de la aplicación con Firebase, la integración con sistemas legados o modernos a la derecha, el pipeline de ingesta de eventos de analytics hacia BigQuery, y la inferencia periódica que alimenta estrategias de venta. Si tienes ideas para mejorar esta arquitectura, comparte tu experiencia en los comentarios.