Aplicaciones sin servidor mediante Azure Cosmos DB

Azure Cosmos DB
Azure Functions

Ideas de solución

En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.

Puede usar Azure Functions y Azure Cosmos DB para crear aplicaciones sin servidor distribuidas globalmente y escalables.

Architecture

Diagrama de arquitectura que muestra las funciones que se activan con un pedido en línea y una alimentación de cambios en la base de datos.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  • Un cliente realiza un pedido en un sitio web de comercio electrónico.

  • El orden desencadena una instancia de Functions. La función procesa la desprotección del cliente y almacena información sobre el pedido en Azure Cosmos DB.

  • La operación de inserción de base de datos desencadena un evento de fuente de cambios de Azure Cosmos DB.

  • Se notifica a los sistemas que se suscriben a los eventos de fuente de cambios.

  • Las notificaciones de fuente de cambios desencadenan Functions:

    • Una función aplica impuestos al pedido.
    • Una función procesa el pago del pedido.
    • Una función cumple el orden.

Componentes

  • Functions es una plataforma de proceso sin servidor basada en eventos. Con Functions, puede usar desencadenadores y enlaces de datos para integrar los servicios a gran escala.
  • Azure Cosmos DB es una base de datos de varios modelos distribuida globalmente. Con Azure Cosmos DB, las soluciones pueden escalar de forma elástica el rendimiento y el almacenamiento en cualquier número de regiones geográficas.

Detalles del escenario

Los microservicios ofrecen muchas ventajas:

  • Proporcionan soluciones altamente escalables.
  • Puede implementar cada servicio de forma independiente.
  • El aislamiento de errores es sencillo al limitar la funcionalidad a contenedores independientes.
  • Encajan bien en un entorno de DevOps.
  • Reducen el tiempo de comercialización acelerando el ciclo de vida de desarrollo de software.

Una manera eficaz de implementar microservicios es usar una tecnología sin servidor. Esta solución usa Functions, una oferta de Azure que proporciona una experiencia de proceso sin servidor. La solución usa Azure Cosmos DB para el almacenamiento de datos. Azure Cosmos DB ofrece una fuente de cambios que se integra con Functions.

Posibles casos de uso

Esta solución se aplica a muchas áreas:

  • Comercio electrónico
  • Retail
  • Administración de inventario

Pasos siguientes

Consulte las arquitecturas siguientes que incluyen Functions y Azure Cosmos DB:

Consulte las arquitecturas siguientes que incluyen Functions:

Consulte las arquitecturas siguientes que incluyen Azure Cosmos DB: