Aplicaciones sin servidor mediante Azure Cosmos DB

Azure Cosmos DB
Azure Functions

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

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

Architecture

Architecture diagram that shows the functions that are triggered by an online order and a database change feed.

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: