Arquitectura de Alto Nivel para Aplicaciones en la Nube
Clase 3 de 42 • Curso de Google Cloud Platform para E-commerce
Resumen
¿Cuál es la importancia de la arquitectura de alto nivel en aplicaciones?
La arquitectura de alto nivel es crucial cuando desarrollamos aplicaciones, especialmente aquellas que funcionan con componentes de la nube. Esta arquitectura nos permite visualizar cómo se integran todas las partes de nuestro sistema, facilitando el entendimiento y la mejora continua de su diseño. Al comprender esta estructura, es más sencillo gestionar recursos y asegurar que cada parte cumple su propósito dentro del ecosistema de la aplicación. Para afinar esta arquitectura, es fundamental estar abierto a comentarios y sugerencias, ya que siempre se puede mejorar.
¿Cómo interactúan los usuarios con la aplicación?
Nuestra aplicación es accesible a través de varios medios como aplicaciones móviles, navegadores y máquinas portátiles, aunque inicialmente nos centraremos en dispositivos móviles utilizando Firebase. Firebase facilita una plataforma robusta para gestionar la autenticación de usuarios, asegurando que cada uno pueda tener su cuenta para almacenar información como el comportamiento de compra y el contenido de su carrito.
Una parte crítica del desarrollo web es la generación de un "bundle" con archivos JavaScript, HTML y CSS que deben ser hospedados. A lo largo de los años, el hospedaje se ha simplificado, lo que nos permite concentrarnos en construir aplicaciones eficientes.
¿Cómo manejamos el almacenamiento de datos?
Las soluciones de almacenamiento son clave para preservar datos no estructurados, que incluyen archivos, imágenes, videos y audios. Aun sin un esquema relacional, estos datos no estructurados pueden tener estructura interna y propiedades significativas. Firebase nos permite realizar procesamiento en segundo plano cuando los usuarios interactúan con la aplicación, migrando de un modelo tradicional de backend a uno orientado a eventos.
Por ejemplo, si una orden es recibida, podemos validar los montos antes de marcarla para entrega. Esto es crucial para garantizar la integridad de las transacciones y prevenir malentendidos o fraudes en la aplicación.
¿Cómo se enlaza la aplicación con servicios externos?
Nuestra aplicación puede necesitar comunicarse con sistemas externos, como un sistema de gestión de pedidos o un ERP. Para facilitar esto, utilizamos un bus de mensajería que sirve como intermediario, invocando servicios externos conforme sea necesario.
Además, es esencial medir y entender ciertas interacciones mediante herramientas como Google Tag Manager y Google Analytics. Estos datos luego se almacenan en BigQuery para análisis posterior, donde se pueden crear modelos de inferencia mediante BigQuery Machine Learning. Esto permite que incluso quienes no son expertos en modelos de aprendizaje automático puedan desarrollarlos utilizando consultas SQL.
¿Cómo se toman decisiones basadas en resultados de modelo?
Las predicciones generadas por nuestro modelo se guardan en BigQuery junto con los datos originales. Podemos visualizar estos resultados usando herramientas como Data Studio para optimizar estrategias de marketing. En este contexto, utilizar soluciones como Display & Video 360 (DV360) de Google puede ser muy útil para gestionar anuncios publicitarios de manera eficaz.
Por consiguiente, comprender y aplicar correctamente la arquitectura de alto nivel y el manejo de datos no solo mejora la eficiencia de gestión, sino también maximiza el impacto en el usuario final y los objetivos de negocio.