Aplicativos sem servidor usando o Azure Cosmos DB

Azure Cosmos DB
Azure Functions

Ideias de soluções

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe com os requisitos específicos da sua carga de trabalho.

Você pode usar o Azure Functions e o Azure Cosmos DB para criar aplicativos sem servidor globalmente distribuídos e escaláveis.

Arquitetura

Diagrama de arquitetura que mostra as funções que são acionadas por uma ordem online e um feed de alterações de banco de dados.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  • Um cliente faz um pedido em um site de comércio eletrônico.

  • A ordem dispara uma instância de Functions. A função processa o checkout do cliente e armazena informações sobre o pedido no Azure Cosmos DB.

  • A operação de inserção do banco de dados dispara um evento de feed de alteração do Azure Cosmos DB.

  • Os sistemas que se inscrevem para alterar eventos de feed são notificados.

  • As notificações de feed de alterações acionam Funções:

    • Uma função aplica impostos à ordem.
    • Uma função processa o pagamento do pedido.
    • Uma função cumpre a ordem.

Componentes

  • O Functions é uma plataforma de computação sem servidor orientada a eventos. Com o Functions, você pode usar gatilhos e associações para integrar serviços em escala.
  • O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente. Com o Azure Cosmos DB, suas soluções podem dimensionar elasticamente a taxa de transferência e o armazenamento em qualquer número de regiões geográficas.

Detalhes do cenário

Os microsserviços oferecem muitos benefícios:

  • Eles fornecem soluções altamente escaláveis.
  • Você pode implantar cada serviço independentemente.
  • O isolamento de falhas é simples quando você limita a funcionalidade a contêineres separados.
  • Eles se encaixam bem em um ambiente de DevOps.
  • Eles diminuem o tempo de entrada no mercado, acelerando o ciclo de vida de desenvolvimento de software.

Uma maneira eficiente de implementar microsserviços é usar uma tecnologia sem servidor. Esta solução utiliza o Functions, uma oferta do Azure que fornece uma experiência de computação sem servidor. A solução usa o Azure Cosmos DB para armazenamento de dados. O Azure Cosmos DB oferece um feed de alterações que se integra ao Functions.

Potenciais casos de utilização

Esta solução aplica-se a muitas áreas:

  • Comércio eletrónico
  • Retail
  • Gestão de inventário

Próximos passos

Consulte as seguintes arquiteturas que incluem o Functions e o Azure Cosmos DB:

Consulte as seguintes arquiteturas que apresentam Funções:

Consulte as seguintes arquiteturas que apresentam o Azure Cosmos DB: