Compartilhar via


Sidecars no Serviço de Aplicativo do Azure

Em aplicativos do Serviço de Aplicativo linux (aplicativos somente código e contêineres personalizados), um sidecar é um contêiner auxiliar que é executado no mesmo ambiente que o contêiner do aplicativo principal. Os sidecars podem fornecer serviços de suporte (como telemetria, cache ou inferência de IA) e são gerenciados como parte do aplicativo do Serviço de Aplicativo.

Por que usar sidecars no Serviço de Aplicativo?

Os sidecars permitem adicionar novos recursos, como monitoramento, cache, IA ou lógica personalizada, sem modificar o código principal do aplicativo (em aplicativos somente código) ou seu contêiner principal (em contêineres personalizados). Os benefícios incluem:

  • Separação de preocupações: Adicione ou atualize os serviços independentemente do aplicativo principal.
  • Extensibilidade: Integrar extensões predefinidas ou personalizadas (por exemplo, OpenTelemetry, Redis, Datadog, modelos de IA Phi-3/4).
  • Flexibilidade operacional: gerenciar, atualizar ou dimensionar sidecars junto com seu aplicativo.
  • Caminho de migração: Mova do Docker Compose ou de soluções de vários contêineres para uma plataforma gerenciada e escalonável (consulte Migrar aplicativos do Docker Compose para sidecars no Serviço de Aplicativo do Azure).

Como os sidecars funcionam no Serviço de Aplicativo?

  • Funções de contêiner: cada aplicativo habilitado para sidecar tem um contêiner principal (isMain: true) e até nove contêineres sidecar (isMain: false). Na configuração do contêiner, isMain: true designa o contêiner principal do aplicativo. Todos os outros devem ter isMain: false.
  • Rede: Todos os contêineres no aplicativo compartilham o mesmo namespace de rede e se comunicam por .localhost Não há necessidade de resolução de nome de serviço, portanto, use localhost:<port>. Cada contêiner deve escutar em uma porta exclusiva. Somente as portas 80 e 8080 têm suporte para tráfego HTTP externo. Para comunicação interna, use qualquer porta exclusiva disponível.
  • Ciclo de vida: os sidecars iniciam, param e dimensionam junto com o contêiner principal do aplicativo. Quando o aplicativo é dimensionado ou está dentro, todos os contêineres de sidecar associados seguem o mesmo ciclo de vida automaticamente.
  • Configuração: os sidecars podem ser configurados por meio do portal do Azure, modelos do ARM ou CLI. Especifique a imagem de contêiner, as variáveis de ambiente e outras configurações para cada contêiner. As configurações do aplicativo são compartilhadas em todos os contêineres. Você também pode definir variáveis de ambiente específicas do contêiner.
  • Montagens de volume: cada contêiner pode ter suas próprias montagens de volume.
  • Autenticação: os sidecars podem extrair imagens de registros públicos ou privados, incluindo o Registro de Contêiner do Azure. Use a identidade gerenciada ou as credenciais de administrador para registros privados.

Tipos de sidecars

  • Sidecars personalizados: qualquer imagem de contêiner fornecida, como o Coletor OpenTelemetry, O NGINX ou seu próprio microsserviço.
  • Extensões predefinidas: Contêineres com suporte oficial para:
    • IA (Phi-3, Phi-4): Adicione inferência de SLM local (modelo de linguagem pequeno) ao seu aplicativo.
    • Redis: Adicione um cache Redis local para acesso rápido a dados.
    • Datadog: Integre o monitoramento e a observabilidade do Datadog.
    • E mais à medida que o Azure expande o catálogo.

Perguntas frequentes

Posso utilizar sidecars nos meus aplicativos Linux já existentes?

Para aplicativos Linux existentes apenas com código (em contêineres incorporados), veja Tutorial: Configurar um contêiner de sidecar para um aplicativo Linux no Serviço de Aplicativo do Azure.

Para aplicativos de contêiner personalizados existentes, consulte Habilitar o suporte de sidecar para contêineres personalizadosdo Linux.

Como posso monitorar e solucionar problemas de sidecars?

Use o Azure Monitor, o Log Analytics e a blade Diagnose & Solve no portal do Azure. Os logs de todos os contêineres estão disponíveis no fluxo de log do Serviço de Aplicativo.

Há alguma limitação?

O App Service Environment (ASE) e as nuvens nacionais podem ainda não ser suportadas. Verifique a documentação mais recente do Azure para obter atualizações.

Mais recursos