Esta solución utiliza Azure Logic Apps para integrar los datos en la nube en el almacenamiento de datos local.
La arquitectura muestra el uso de Azure API Management, el almacenamiento de secretos y claves de API en Azure Key Vault, una conexión a SQL Server a través de una puerta de enlace de datos local y la supervisión del rendimiento con Azure Monitor. Todos estos componentes se integran a través de la orquestación de Azure Logic Apps.
Arquitectura
El diagrama contiene dos cuadros, uno para los componentes de Azure y otro para los componentes locales. Fuera del cuadro de Azure hay un archivo de datos con la etiqueta JSON. Una flecha apunta desde el archivo JSON a un icono de API Management que está dentro del cuadro de Azure. Una segunda flecha señala desde el icono de API Management hasta un icono de Logic Apps que también se encuentra en el cuadro de Azure. Tres flechas señalan fuera del icono de Logic Apps. Una conduce a un icono de Key Vault que se encuentra dentro del cuadro de Azure. Otra conduce a un icono de puerta de enlace de datos local que se encuentra entre los dos cuadros. Y la tercera conduce a un icono de Azure Monitor que se encuentra dentro del cuadro de Azure. Otra flecha apunta desde la puerta de enlace a un icono de SQL Server que se encuentra dentro del cuadro local. Una última flecha apunta desde el icono de SQL Server a una persona que está fuera del cuadro local.
Descargue un archivo Visio de esta arquitectura.
Flujo de trabajo
API Management acepta llamadas API en forma de solicitudes HTTP.
API Management enruta de forma segura las solicitudes HTTP a Logic Apps.
Cada solicitud HTTP desencadena una ejecución en Logic Apps:
- Logic Apps usa parámetros de plantilla protegida para recuperar las credenciales de la base de datos de Azure Key Vault.
- Logic Apps usa la característica Seguridad de la capa de transporte (TLS) para enviar las credenciales de la base de datos y una instrucción de base de datos a la puerta de enlace de datos local.
La puerta de enlace de datos local se conecta a una base de datos de SQL Server para ejecutar la instrucción.
SQL Server almacena los datos y los pone a disposición de las aplicaciones a las que acceden los usuarios.
Azure Monitor recopila información sobre eventos y sobre el rendimiento de Logic Apps.
Componentes
Esta arquitectura utiliza los siguientes componentes:
Azure API Management crea puertas de enlace de API modernas y coherentes para los servicios de back-end. Además de aceptar llamadas API y enrutarlas a los back-end, esta plataforma también comprueba las claves, los tokens, los certificados y otras credenciales. API Management también aplica cuotas de uso y límites de frecuencia, y registra metadatos de llamada.
Azure Logic Apps automatiza los flujos de trabajo mediante la conexión de aplicaciones y datos entre nubes. Este servicio proporciona una manera de acceder con seguridad a los datos y procesarlos en tiempo real. Sus soluciones sin servidor se encargan de compilar, hospedar, escalar, administrar, mantener y supervisar aplicaciones.
Una puerta de enlace de datos local actúa como un puente que conecta los datos locales con servicios en la nube como Logic Apps. Normalmente, la puerta de enlace se instala en una máquina virtual local dedicada. Así, los servicios en la nube pueden usar los datos locales de forma segura.
Azure Key Vault almacena y controla el acceso a secretos como tokens, contraseñas y claves de API. Key Vault también crea y controla claves de cifrado y administra certificados de seguridad.
SQL Server proporciona una solución para almacenar y consultar datos estructurados y no estructurados. Este motor de base de datos ofrece un rendimiento y una seguridad líderes del sector.
Azure Monitor recopila datos en entornos y recursos de Azure. Esta información es útil para mantener la disponibilidad y el rendimiento. Otros servicios de Azure, como Azure Storage y Azure Event Hubs, también pueden utilizar estos datos de diagnóstico. Monitor está formado por dos plataformas de datos:
- Registros de Azure Monitor registra y almacena datos de registro y de rendimiento. En el caso de Logic Apps, estos datos incluyen información sobre eventos de desencadenador, eventos de ejecución y eventos de acción.
- Métricas de Azure Monitor recopila valores numéricos a intervalos regulares. En el caso de Logic Apps, estos datos incluyen la latencia de ejecución, la frecuencia y el porcentaje de éxito.
Alternativas
Existen algunas alternativas para esta solución:
En lugar de usar una instancia local de SQL Server, considere la posibilidad de migrar a un servicio de base de datos de Azure actualizado y totalmente administrado. El conector de SQL Server que usa Logic Apps también funciona para Azure SQL Database y Azure SQL Managed Instance. Para obtener más información, consulte Automatización de flujos de trabajo en una base de datos SQL mediante Azure Logic Apps. Para empezar a usar la migración, consulte Azure Database Migration Service.
En el caso de las tareas de automatización complejas, considere la posibilidad de usar Azure Functions en lugar de Logic Apps. Ambos servicios permiten crear flujos de trabajo sin servidor. Azure Functions es un servicio de proceso diseñado para ejecutar código personalizado o procesamiento complejo o para la integración con otros servicios. Logic Apps es un servicio en la nube destinado a automatizar y orquestar tareas y flujos de trabajo empresariales. Proporciona un diseñador visual y muchos conectores pregenerados. Para obtener más información, consulte Comparativa entre Azure Functions y Azure Logic Apps.
En el caso de las integraciones más simples, considere la posibilidad de usar Power Automate en lugar de Logic Apps. Para obtener más información, consulte Comparación entre Microsoft Power Automate y Azure Logic Apps.
Power Apps también proporciona soluciones para la automatización de flujos de trabajo que implican la conexión a orígenes de datos locales.
Detalles del escenario
Una aplicación lógica puede almacenar los datos de las solicitudes HTTP en una base de datos de SQL Server. Dado que Logic Apps funciona como un punto de conexión de Azure API Management seguro, las llamadas a la API pueden desencadenar distintas tareas relacionadas con datos. Además de actualizar las bases de datos locales, también puede enviar mensajes de Teams o de correo electrónico.
Posibles casos de uso
Use esta solución para automatizar las tareas de integración de datos que realice en respuesta a las llamadas API.
Consideraciones
Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Confiabilidad
La confiabilidad garantiza que tu aplicación puede cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.
Para lograr una alta disponibilidad, agregue la puerta de enlace local a un clúster en lugar de instalar una puerta de enlace independiente.
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.
La puerta de enlace de datos local usa el cifrado de credenciales y la autenticación de usuario para proteger los datos durante las transferencias entre los sistemas locales y de Azure.
API Management ayuda a garantizar que solo los clientes autorizados llamen a la aplicación lógica. También puede realizar estos pasos:
Dado que API Management es el único cliente que debe llamar a la aplicación lógica, considere la posibilidad de restringir las direcciones IP de entrada de la aplicación. Puede configurar la aplicación lógica para que acepte solo las solicitudes de la dirección IP de su instancia de servicio de API Management.
También puede usar uno de estos esquemas de autorización para limitar el acceso a su aplicación lógica:
Considere la posibilidad de usar el control de acceso basado en rol de Azure (RBAC de Azure) para permitir a usuarios o grupos específicos administrar, editar y ver sus aplicaciones lógicas.
Existe información disponible en cada ejecución de aplicación lógica, como el estado, la duración, las entradas y las salidas de cada acción. Use uno de estos métodos para controlar quién puede acceder a las entradas y salidas en el historial de ejecución:
Optimización de costos
La optimización de costos trata 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.
En la tabla siguiente se proporcionan perfiles de costo que usan distintos niveles de rendimiento esperado:
API Management | Ejecuciones de acciones de Logic Apps | Ejecuciones de conectores de Logic Apps | Perfil |
---|---|---|---|
Básico | 1000/día | 1000/día | Perfil básico |
Estándar | 10 000/día | 10 000/día | Perfil estándar |
Premium | 100 000/día | 100 000/día | Perfil prémium |
Los perfiles no incluyen los costos de una base de datos de SQL Server. Para ajustar los parámetros y explorar el costo de la ejecución de esta solución en su entorno, use la calculadora de precios de Azure.
Explore estas estrategias para minimizar los costos de Logic Apps:
- Ejecutar instrucciones SQL en lotes.
- Crear procedimientos almacenados para organizar los resultados de la base de datos de forma eficaz.
- Especificar condiciones de desencadenamiento precisas para los flujos de trabajo.
- Desactivar las aplicaciones lógicas que no tengan que ejecutarse constantemente.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.
Con el modelo sin servidor que usa Logic Apps, el servicio se escala automáticamente para satisfacer la demanda. Pero tenga en cuenta los límites de las operaciones de lectura y escritura con la puerta de enlace de datos local.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Creadores de entidad de seguridad:
- Beatriz Matsui | Consultora
- Shan Singh | Ingeniero de software
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.
Pasos siguientes
- Importación de una aplicación lógica como API
- Instalación de una puerta de enlace de datos local para Azure Logic Apps
- Conexión a orígenes de datos locales desde Azure Logic Apps
Recursos relacionados
Automatización de flujos de trabajo en una base de datos SQL mediante Azure Logic Apps
Arquitectura similar:
- Integración empresarial mediante colas y eventos: aplicaciones lógicas que responden a las llamadas API mediante la integración de sistemas de back-end.