Explorar a integração do Dapr com os Aplicativos de Contêiner do Azure

Concluído

O Dapr (Distributed Application Runtime) é um conjunto de recursos incrementalmente adotáveis que simplificam a criação de aplicativos distribuídos baseados em microsserviço. O Dapr fornece recursos para habilitar a intercomunhão de aplicativos, por mensagens com pub/sub ou chamadas de serviço para serviço confiáveis e seguras.

O Dapr é um projeto de código aberto do CNCF (Cloud Native Computing Foundation). O CNCF faz parte do Linux Foundation e fornece suporte, supervisão e direção para projetos nativos de nuvem de rápido crescimento. Como alternativa à implantação e ao gerenciamento do projeto da OSS Dapr em si, a plataforma Aplicativos de Contêiner:

  • fornece uma integração do Dapr gerenciada e com suporte;
  • manipula atualizações de versão do Dapr perfeitamente; e
  • expõe um modelo de interação simplificada do Dapr para aumentar a produtividade do desenvolvedor.

APIs do Dapr

Captura de tela do Decorativo.

API do Dapr Descrição
Invocação de serviço a serviço Descubra serviços e execute chamadas de serviço a serviço confiáveis e diretas com autenticação e criptografia mTLS automáticas.
Gerenciamento de estado Fornece recursos de gerenciamento de estado para transações e operações CRUD.
Pub/sub Permite que aplicativos de contêineres de editores e assinantes intercomunem por meio de um agente de mensagens intermediário.
Associações Disparar seus aplicativos com base em eventos
Atores Os atores Dapr são unidades de trabalho controladas por mensagens, de thread único, projetadas para dimensionar rapidamente. Por exemplo, em situações de carga de trabalho intensa.
Observabilidade Envie informações de rastreamento para um back-end do Application Insights.
Segredos Acesse segredos do código do aplicativo ou referencie valores seguros em seus componentes do Dapr.
Configuration Recupere e assine itens de configuração de aplicativos para armazenamentos de configuração com suporte.

Observação

A tabela abrange APIs de Dapr estáveis. Para saber mais sobre como usar APIs alfa e recursos, visite as limitações.

Conceitos básicos do Dapr

O exemplo a seguir com base na API pub/sub é usado para ilustrar os principais conceitos relacionados ao Dapr nos Aplicativos de Contêiner do Azure.

Diagrama que mostra a API pub/sub do Dapr e como ela funciona nos Aplicativos de Contêiner.

Rótulo Configurações do Dapr Descrição
1 Aplicativos de Contêiner com o Dapr habilitado O Dapr está habilitado no nível do aplicativo de contêiner definindo um conjunto de argumentos do Dapr. Esses valores se aplicam a todas as revisões de um determinado aplicativo de contêiner durante a execução no modo de várias revisões.
2 Dapr As APIs do Dapr totalmente gerenciadas são expostas a cada aplicativo de contêiner por meio de um sidecar do Dapr. As APIs do Dapr podem ser invocadas do seu aplicativo de contêiner por meio de HTTP ou gRPC. O sidecar do Dapr é executado na porta HTTP 3500 e na porta gRPC 50001.
3 Configuração dos componentes do Dapr O Dapr usa um design modular em que a funcionalidade é entregue como um componente. Os componentes do Dapr podem ser compartilhados por vários aplicativos de contêiner. Os identificadores de aplicativo Dapr fornecidos na matriz de escopos determinam quais aplicativos de contêiner habilitados para Dapr carregam um determinado componente em runtime.

Habilitação do Dapr

Você pode configurar o Dapr usando vários argumentos e anotações com base no contexto de runtime. Os Aplicativos de Contêiner do Azure fornecem três canais pelos quais você pode configurar o Dapr:

  • CLI do Aplicativos de Contêiner
  • Modelos de IaC (infraestrutura como código), como em modelos do Bicep ou do ARM (Azure Resource Manager)
  • O portal do Azure

Componentes e escopos do Dapr

O Dapr usa um design modular em que a funcionalidade é entregue como um componente. O uso de componentes do Dapr é opcional e ditado exclusivamente pelas necessidades do seu aplicativo.

Componentes do Dapr em aplicativos de contêiner são recursos de nível de ambiente que:

  • pode fornecer um modelo de abstração plugável para se conectar aos serviços externos de suporte;
  • pode ser compartilhado entre aplicativos de contêiner ou com escopo para aplicativos de contêiner específicos; e
  • pode usar segredos Dapr para recuperar metadados de configuração com segurança.

Por padrão, todos os aplicativos de contêiner habilitados para Dapr no mesmo ambiente carregam o conjunto completo de componentes implantados. Para garantir que os componentes sejam carregados em runtime apenas pelos aplicativos de contêiner apropriados, os escopos do aplicativo devem ser usados.