Front-end de comercio electrónico

Id. externa de Microsoft Entra
Azure Content Delivery Network
Servicios de Azure AI
Administrador de tráfico de Azure
Azure App Service

Este escenario de ejemplo le guiará por la implementación de un front-end de comercio electrónico mediante herramientas de plataforma como servicio (PaaS) de Azure.

Architecture

Diagrama que muestra la arquitectura del escenario de ejemplo para una aplicación de comercio electrónico.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

En este escenario se incluye la compra de entradas desde un sitio de comercio electrónico y los datos fluyen a través del escenario de la siguiente manera:

  1. Azure Traffic Manager enruta una solicitud de usuario al sitio de comercio electrónico hospedado en Azure App Service.
  2. Azure CDN proporciona imágenes estáticas y contenido para el usuario.
  3. El usuario inicia sesión en la aplicación a través de un inquilino de Azure Active Directory B2C.
  4. El usuario busca conciertos mediante Azure Search.
  5. El sitio web extrae los detalles del concierto de Azure SQL Database.
  6. El sitio web hace referencia a imágenes de entradas adquiridas de Blob Storage.
  7. Los resultados de la consulta de la base de datos se almacenan en caché en Azure Cache for Redis para mejorar el rendimiento.
  8. El usuario envía pedidos de entradas y reseñas de conciertos que se colocan en la cola.
  9. Azure Functions procesa el pago del pedido y las reseñas de conciertos.
  10. Cognitive Services proporciona un análisis de la reseña del concierto para determinar la opinión (positiva o negativa).
  11. Application Insights proporciona métricas de rendimiento para supervisar el estado de la aplicación web.

Componentes

  • Azure CDN ofrece contenido estático almacenado en caché desde ubicaciones cercanas a los usuarios para reducir la latencia.
  • Azure Traffic Manager controla la distribución del tráfico de usuario en los puntos de conexión de servicio de las diferentes regiones de Azure.
  • App Services: Web Apps hospeda aplicaciones web que permiten la escalabilidad automática y la alta disponibilidad sin tener que administrar la infraestructura.
  • Azure Active Directory B2Ces un servicio de administración de identidades que le permite personalizar y controlar la manera en que los clientes se registran, inician sesión y administran sus perfiles en una aplicación.
  • Las colas de Storage almacenan grandes cantidades de mensajes en cola a los que una aplicación puede acceder.
  • Las funciones son opciones de proceso sin servidor que permiten ejecutar aplicaciones a petición sin tener que administrar la infraestructura.
  • Cognitive Services: Análisis de sentimiento usa las API de aprendizaje automático y permite a los desarrolladores agregar fácilmente características inteligentes (como detección de vídeo y emociones; reconocimiento facial, de voz y de visión; y comprensión de voz y del lenguaje) en sus aplicaciones.
  • Azure Search es una solución de búsqueda como servicio en la nube que ofrece una experiencia de búsqueda de datos enriquecida en un contenido privado y heterogéneo en las aplicaciones web, para dispositivos móviles y empresariales.
  • Blob Storage está optimizado para el almacenamiento de grandes cantidades de datos no estructurados, como texto o datos binarios.
  • Azure Cache for Redis mejora el rendimiento y la escalabilidad de los sistemas que dependen en gran medida de almacenes de datos de back-end mediante la copia temporal de los datos a los que se accede frecuentemente en un almacenamiento rápido ubicado cerca de la aplicación.
  • Azure SQL Database es un servicio administrado de base de datos relacional de uso general que admite estructuras como datos relacionales, JSON, espacial y XML.
  • Application Insights está diseñado para ayudarle a mejorar continuamente el rendimiento y facilidad de uso detectando automáticamente las anomalías de rendimiento a través de herramientas de análisis integradas que le ayudarán a comprender qué hacen los usuarios con una aplicación.

Alternativas

Hay otras muchas tecnologías disponibles para la compilación de una aplicación orientada al cliente y centrada en el comercio electrónico a escala. Estas incluyen el front-end de la aplicación, así como la capa de datos.

Otras opciones para el nivel y las funciones web incluyen:

  • Azure Kubernetes Service: una plataforma para compilar e implementar soluciones basadas en contenedores que se pueden usar como una implementación de una arquitectura de microservicios. La plataforma proporciona la agilidad de los distintos componentes de la aplicación para poder escalarse de forma independiente, a petición.
  • Azure Container Instances: una manera de implementar y ejecutar rápidamente contenedores con un ciclo de vida corto. En este caso, los contenedores se implementan para ejecutar un trabajo de procesamiento rápido como, por ejemplo, el procesamiento de un mensaje o la realización de un cálculo y, posteriormente, se desaprovisionan tan pronto como la tarea ha finalizado.
  • Se podría usar Service Bus en lugar de Queue Storage.

Otras opciones de la capa de datos incluyen:

  • Azure Cosmos DB: base de datos multimodelo de distribución global de Microsoft. Este servicio proporciona una plataforma para ejecutar otros modelos de datos, como datos de Mongo DB, Cassandra, Graph o almacenamiento de tablas simple.

Detalles del escenario

Muchos sitios web de comercio electrónico se enfrentan a la estacionalidad y la variabilidad del tráfico a lo largo del tiempo. Cuando la demanda de sus productos o servicios despegue, de forma predecible o impredecible, el uso de herramientas de PaaS le permitirá manejar más clientes y más transacciones automáticamente. Además, en este escenario puede aprovechar la economía de la nube pagando solo por la capacidad que usa.

Este documento le ayudará a obtener información sobre los distintos componentes y consideraciones de PaaS de Azure que se utilizan a la hora de implementar una aplicación de comercio electrónico de ejemplo llamada Relecloud Concerts, una plataforma de venta de entradas para conciertos en línea.

Posibles casos de uso

Esta solución está optimizada para el sector minorista. Otros casos de uso pertinentes incluyen:

  • Compilación de una aplicación que necesita escalado elástico para controlar ráfagas de clientes a diferentes horas.
  • Compilación de una aplicación diseñada para funcionar con alta disponibilidad en diferentes regiones de Azure de todo el mundo.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Disponibilidad

Escalabilidad

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Resistencia

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Para explorar el costo de ejecutar este escenario, todos los servicios están preconfigurados en la calculadora de costos. Para ver cómo cambiarían los precios en su caso concreto, cambie las variables pertinentes para que coincidan con el tráfico esperado.

Hemos proporcionado tres ejemplos de perfiles de costo según la cantidad de tráfico que se espera obtener:

  • Pequeño: Este ejemplo de precios representa los componentes necesarios para crear una instancia con un nivel de producción mínimo. En este perfil damos por hecho que hay una pequeña cantidad de usuarios, de solo unos miles al mes. La aplicación usa una sola instancia de una aplicación web estándar que será suficiente para habilitar el escalado automático. Los demás componentes se escalan a un nivel básico que permitirá un costo mínimo pero garantizará un soporte según el Acuerdo de Nivel de Servicio y suficiente capacidad para controlar una carga de trabajo de nivel de producción.
  • Media: Este ejemplo de precios representa los componentes necesarios para una implementación de tamaño moderado. En este caso, se calculan aproximadamente 100 000 usuarios utilizando el sistema en el transcurso de un mes. El tráfico esperado se controla con una instancia de App Service simple con un nivel estándar moderado. También se agregan a la calculadora los niveles moderados de Cognitive Services y Search Service.
  • Grande: representa una aplicación diseñada para operaciones a gran escala, con millones de usuarios al mes y movimientos de terabytes de datos. En este nivel de uso, se requieren aplicaciones web de alto rendimiento y de nivel premium implementadas en varias regiones y dirigidas por un administrador de tráfico. Los datos se conservan en diversas opciones: almacenamiento, bases de datos y CDN, y están configuradas para alcanzar terabytes de tamaño.

Implementación de este escenario

Para implementar este escenario, puede seguir este tutorial detallado que muestra cómo implementar manualmente cada componente. Este tutorial también proporciona una aplicación de ejemplo de .NET que ejecuta una aplicación simple de compra de entradas. Además, hay una plantilla de Resource Manager para automatizar la implementación de la mayoría de los recursos de Azure.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

  • Chris Mason | Gerente sénior, Ingeniería de software

Pasos siguientes