Aplicativos sem servidor usando o Azure Cosmos DB

Azure Cosmos DB
Funções do Azure

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 aos requisitos específicos de sua carga de trabalho.

É possível usar o Azure Functions e o Azure Cosmos DB para criar aplicativos sem servidor escalonáveis e distribuídos globalmente.

Arquitetura

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

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

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

  • A ordem dispara uma instância do 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 assinam eventos de feed de alteração são notificados.

  • As notificações de feed de alterações disparam o Functions:

    • Uma função aplica impostos ao pedido.
    • 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 de maneira elástica a taxa de transferência e o armazenamento em qualquer quantidade de regiões geográficas.

Detalhes do cenário

Os microsserviços oferecem muitos benefícios:

  • Eles fornecem soluções altamente escaláveis.
  • É possível implantar cada serviço de forma independente.
  • O isolamento de falhas é simples quando você limita a funcionalidade a contêineres separados.
  • Eles se adequam bem a um ambiente do DevOps.
  • Eles reduzem o tempo de lançamento no mercado, acelerando o ciclo de vida de desenvolvimento de software.

Uma forma eficiente de implementar microsserviços é usar uma tecnologia sem servidor. Essa solução usa 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.

Possíveis casos de uso

Essa solução se aplica a muitas áreas:

  • Comércio eletrônico
  • Retail
  • Gerenciamento de estoque

Próximas etapas

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

Consulte as seguintes arquiteturas que contêm o Functions:

Consulte as seguintes arquiteturas que apresentam o Azure Cosmos DB: