Aplicativos sem servidor usando o Azure Cosmos DB

Azure Cosmos DB
Funções do Azure

Ideias de soluções

Esse artigo é uma ideia de solução. Caso deseje que ampliemos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações sobre implementação ou diretrizes de preços, fale conosco enviando seus comentários no GitHub.

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

Arquitetura

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

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

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

  • A ordem aciona 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 assinam eventos de feed de alteração são notificados.

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

    • 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 maneira independente.
  • 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 lançamento no mercado, acelerando o ciclo de vida de desenvolvimento de software.

Uma maneira 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 apresentam funções:

Consulte as seguintes arquiteturas que apresentam o Azure Cosmos DB: