La arquitectura usa AKS para implementar clústeres de proceso de las aplicaciones que procesan lotes de gran volumen de transacciones. Las aplicaciones reciben las transacciones en mensajes de temas o colas de Service Bus. Los temas y colas pueden estar en centros de datos de Azure en diferentes regiones geográficas y varios clústeres de AKS pueden leer la entrada de ellos.
Nota
Esta arquitectura se adapta a un tipo de procesamiento de transacciones por lotes que, en los sistemas centrales de IBM, se implementa a menudo mediante la familia IBM MQ de middleware orientado a mensajes.
Arquitectura
Descargar un archivo de Visio de esta arquitectura.
Flujo de trabajo
Los círculos numerados del diagrama corresponden a los pasos numerados de la lista siguiente.
- La arquitectura usa temas y colas de Service Bus para organizar la entrada de procesamiento por lotes y para pasarla de bajada para su procesamiento.
- Azure Load Balancer, un equilibrador de carga de nivel 4 (TCP, UDP), distribuye el tráfico entrante entre instancias correctas de servicios definidos en un conjunto de carga equilibrada. Equilibrio de carga y administración de conexiones optimizan el procesamiento.
- Los nodos de trabajo del clúster de AKS escuchan los puntos de conexión de cola de Service Bus para la entrada.
- Los nodos de Java usan El servicio de mensajes de Java para conectarse a Service Bus e interfaces de Java, como la conectividad de base de datos de Java, para conectarse a otros orígenes de datos. Usan otras API de Java según sea necesario.
- Las transacciones recuperables se ejecutan junto con el código de negocio para cada paso del lote.
- La infraestructura por lotes usa redes aceleradas de Azure para acelerar la velocidad.
- Azure Cache for Redis, Azure Cosmos DB y Azure Stream Analytics proporcionan almacenamiento en funcionamiento si es necesario.
- La capa de datos permanente usa Azure Data Factory para la integración de datos y Azure SQL Managed Instance, nivel de rendimiento crítico para la empresa, para alta disponibilidad. El almacenamiento permanente está acoplado flexiblemente para cambiar fácilmente a otras tecnologías de base de datos y para la optimización de la organización de almacenamiento (mediante particiones o particiones, por ejemplo).
- Las soluciones de datos (transitorias y permanentes) usan la opción de almacenamiento con redundancia geográfica (GRS) de Azure Storage para protegerse frente a errores catastróficos.
Componentes
La arquitectura usa estos componentes:
- Azure Virtual Network proporciona una red privada segura en la nube. Puede conectar máquinas virtuales (VM) entre sí, a Internet y a redes locales.
- azure ExpressRoute proporciona conexiones privadas entre los centros de datos de Azure y la infraestructura local.
- azure Bastion proporciona acceso RDP y SSH privado y totalmente administrado a las máquinas virtuales.
- Azure Virtual Machines proporciona la flexibilidad de virtualización sin tener que proporcionar y mantener el hardware que lo hospeda. Las opciones del sistema operativo incluyen Windows y Linux.
- Una máquina virtual creada con redes aceleradas usa virtualización de E/S raíz única (SR-IOV), mejorando considerablemente su rendimiento de red. Para más información, consulte Creación de una máquina virtual Windows con redes aceleradas mediante Azure PowerShell y Introducción a la virtualización de E/S raíz única (SR-IOV).
- Una interfaz de red de Azure conecta una máquina virtual a Internet y a los recursos locales y de Azure. Como se muestra en esta arquitectura, puede asignar a cada máquina virtual secundaria su propia interfaz de red y dirección IP. Para obtener más información sobre las interfaces de red, consulte Crear, cambiar o eliminar una interfaz de red.
- Azure Managed Disks son almacenamiento en bloques de alto rendimiento y altamente duradero para máquinas virtuales. Hay cuatro opciones de almacenamiento en disco para la nube: Almacenamiento en disco Ultra, SSD Premium, SSD estándar y HDD estándar.
- azure Kubernetes Service (AKS) es un servicio de Kubernetes totalmente administrado para implementar y administrar aplicaciones contenedorizadas.
- Service Bus proporciona mensajería en la nube confiable como servicio (MaaS) e integración híbrida sencilla.
- servicios de equilibrio de carga de Azure proporciona escalado para alta disponibilidad y alto rendimiento. Esta arquitectura usa Load Balancer. Proporciona funcionalidades de equilibrio de carga de nivel 4 (TCP, UDP) de baja latencia para equilibrar el tráfico entre máquinas virtuales y entre aplicaciones híbridas de varios niveles.
- azure Cache for Redis es un servicio de almacenamiento en caché en memoria totalmente rápido y totalmente administrado para compartir datos y estado entre los recursos de proceso.
- azure Cosmos DB es una base de datos NoSQL rápida con API abiertas para cualquier escala.
- azure Stream Analytics proporciona análisis en tiempo real en flujos de datos de movimiento rápido de aplicaciones y dispositivos.
- Azure Databricks es un servicio de análisis de macrodatos rápido, fácil y colaborativo basado en Apache SparkTM.
- Azure SQL es una familia de bases de datos en la nube de SQL que proporciona una experiencia unificada para toda la cartera de SQL y una amplia gama de opciones de implementación desde el perímetro a la nube.
- Instancia administrada de Azure SQL, parte de la cartera de servicios de Azure SQL, es una instancia administrada, segura y siempre up-to-date SQL en la nube.
- Data Factory es una solución de integración de datos totalmente administrada y sin servidor para preparar y transformar todos los datos a escala.
- Data Factory admite el formato de datos de archivo Parquet. Para más información, consulte formato Parquet en Azure Data Factory.
- Log Analytics es una herramienta de Azure Portal que se usa para editar y ejecutar consultas de registro en registros de Azure Monitor. Para más información, consulte Introducción a Log Analytics en Azure Monitor.
- La opción de almacenamiento con redundancia geográfica (GRS) de Azure Storage copia los datos de forma sincrónica tres veces dentro de una sola ubicación física de la región primaria y, a continuación, la copia de forma asincrónica en una sola ubicación física de la región secundaria. Para más información, consulte redundancia de Azure Storage.
- azure Blob Storage es un almacenamiento de objetos basado en REST de gran escalabilidad y seguridad para cargas de trabajo nativas de nube, archivos, lagos de datos, informática de alto rendimiento y aprendizaje automático.
- azure Files proporciona recursos compartidos de archivos sencillos, seguros y de nivel empresarial sin servidor en la nube. Use los protocolos Estándar del bloque de mensajes del servidor (SMB) y del sistema de archivos de red (NFS) estándar del sector para acceder a los recursos compartidos.
Detalles del escenario
En Azure, puede implementar el procesamiento de transacciones por lotes (como la contabilización de pagos en cuentas) mediante una arquitectura basada en Microsoft Azure Kubernetes Service (AKS) y Azure Service Bus. Este tipo de arquitectura proporciona la velocidad de procesamiento de transacciones, el escalado y la confiabilidad necesarios para el procesamiento por lotes de alto volumen.
Normalmente, un mensaje permanece en cola hasta que se completa su transacción, lo que permite la recuperación si se produce un error. Además, puede replicar temas y colas en otras regiones, compartir cargas de trabajo y seguir procesando incluso si se produce un error en una región.
Casos de uso potenciales
La solución es ideal para los sectores financiero, educativo y científico. Esta arquitectura es para el procesamiento de gran volumen de lotes de transacciones, especialmente las transacciones independientes que se pueden procesar en paralelo. Por lo tanto, es probable que sea un candidato para su uso en la migración del procesamiento por lotes del sistema central. Las aplicaciones posibles son:
- Procesamiento de transacciones financieras, como nóminas, pedidos y pagos.
- Procesamiento de datos experimentales recopilados por instrumentos científicos.
- Otro procesamiento por lotes del sistema central.
Consideraciones
Estas consideraciones implementan los pilares de Azure Well-Architected Framework, que es un conjunto de principios rectores que se pueden usar para mejorar la calidad de una carga de trabajo. Para obtener más información, consulte Microsoft Azure Well-Architected Framework.
Fiabilidad
La confiabilidad garantiza que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, vea Lista de comprobación de revisión de diseño para lade confiabilidad.
- azure Site Recovery servicio de recuperación ante desastres protege frente a interrupciones importantes. Es confiable, rentable y fácil de implementar.
- Los conjuntos de disponibilidad de las máquinas virtuales garantizan que haya suficientes máquinas virtuales disponibles para satisfacer las necesidades de proceso por lotes críticas.
- Service Bus, AKS e Instancia administrada de Azure SQL proporcionan alta disponibilidad y capacidad de recuperación entre regiones geográficas.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de sus valiosos datos y sistemas. Para obtener más información, vea Lista de comprobación de revisión de diseño para security.
- Todos los componentes de la arquitectura por lotes de Service Bus funcionan con componentes de seguridad de Azure, como Microsoft Entra ID, Virtual Network y cifrado.
Optimización de costos
La optimización de costos consiste en examinar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costos.
Para calcular los costos de la implementación de esta solución, use la calculadora de precios de .
Las características de escalado automático de clústeres de AKS y otras características de plataforma como servicio (PaaS) de Azure que proporcionan escalado a petición mantienen los costos como mínimo.
Estas son las consideraciones de precios para componentes específicos:
- La mayoría de las empresas ya tienen una implementación de Microsoft Active Directory. Si no es así, de id. de entra de Microsoft P1 o P2 es de bajo costo.
- precios de máquinas virtuales Windows y precios de máquinas virtuales Linux dependen de la capacidad de proceso.
- Para ver los precios de los discos de almacenamiento administrados Ultra o SSD Premium, consulte precios de Managed Disks .
- No hay costos iniciales para de Azure SQL Database; paga por los recursos que se usan.
- Para expressRoute, paga una tarifa mensual por puerto y cargos de transferencia de datos salientes.
- los costos de azure Storage dependen de las opciones y el volumen de redundancia de datos.
- precios de Azure Files depende de muchos factores: volumen de datos, redundancia de datos, volumen de transacciones y el número de servidores de sincronización de archivos que use.
- Para conocer los precios de los discos administrados de SSD, consulte precios de
Managed Disks. - Para site Recovery, paga por cada instancia protegida.
- Estos servicios son gratuitos con su suscripción de Azure, pero paga por el uso y el tráfico:
- load Balancer .
- El volumen de ejecución de actividad determina el costo de Data Factory.
- Para Azure Virtual Network, las direcciones IP llevan un cargo nominal.
- El volumen de transferencia de datos saliente determina costos de de Azure Bastion.
Excelencia operativa
La excelencia operativa abarca los procesos de operaciones que implementan una aplicación y lo mantienen en ejecución en producción. Para obtener más información, vea Lista de comprobación de revisión de diseño para la excelencia operativa.
- plantillas de Azure Resource Manager (plantillas de ARM) proporcionar un lenguaje de configuración para describir los recursos de las plantillas que puede usar para la implementación con scripts. Las plantillas también proporcionan funcionalidades de supervisión y alertas.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar a fin de satisfacer las demandas que los usuarios ponen en ella de forma eficaz. Para obtener más información, vea Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
- La arquitectura está diseñada para dar cabida al procesamiento paralelo de transacciones independientes.
- Las características de Service Bus, AKS y otras características de PaaS de Azure proporcionan un alto rendimiento para el procesamiento, la computación y el almacenamiento de datos de transacciones.
- Service Bus, AKS y otras características de PaaS de Azure se escalan dinámicamente según sea necesario.
Pasos siguientes
- Para más información sobre AKS, lea: recorrido de la solución de Azure Kubernetes Service.
- Para más información sobre Service Bus, lea: colas, temas y suscripciones de Service Bus.
Recursos relacionados
- Técnicas usadas en esta arquitectura:
- Arquitecturas de referencia de Azure: