Partilhar 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 de aplicativo principal. Os sidecars podem fornecer serviços auxiliares (como telemetria, cache ou inferência de IA) e são geridos como parte da sua aplicação no App Service.

Por que usar sidecars no serviço de aplicativo?

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

  • Separação de preocupações: Adicione ou atualize serviços independentemente do seu aplicativo principal.
  • Extensibilidade: Integre extensões pré-construídas ou personalizadas (por exemplo, modelos OpenTelemetry, Redis, Datadog, Phi-3/4 AI).
  • Flexibilidade operacional: Gerencie, atualize ou dimensione sidecars juntamente com a sua aplicação.
  • Caminho de migração: Mude do Docker Compose ou de soluções de vários contêineres para uma plataforma gerenciada e escalável (consulte Migrar aplicativos Docker Compose para sidecars no Serviço de Aplicativo do Azure).

Como funcionam os sidecars no App Service?

  • Funções do 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.
  • Ligação em rede: Todos os contêineres no aplicativo compartilham o mesmo namespace de rede e se comunicam pelo .localhost Não há necessidade de resolução de nome de serviço, portanto, use localhost:<port>. Cada contentor deve ouvir numa porta exclusiva. Apenas as portas 80 e 8080 são suportadas 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 a sua aplicação expande ou contrai, todos os contentores de sidecar associados seguem automaticamente o mesmo ciclo de vida.
  • Configuração: Os sidecars podem ser configurados pelo portal do Azure, modelos ARM ou CLI. Você especifica a imagem do 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 registos públicos ou privados, incluindo o Azure Container Registry. Use identidade gerenciada ou credenciais de administrador para registros privados.

Tipos de Sidecars

  • Sidecars personalizados: Qualquer imagem de contêiner fornecida, como OpenTelemetry Collector, NGINX ou seu próprio microsserviço.
  • Extensões pré-construídas: Contentores oficialmente suportados para:
    • IA (Phi-3, Phi-4): Adicione inferência SLM (modelo de idioma pequeno) local ao seu aplicativo.
    • Redis: Adicione um cache Redis local para acesso rápido aos dados.
    • Datadog: Integre o monitoramento e a observabilidade do Datadog.
    • E muito mais à medida que o Azure expande o catálogo.

Perguntas Frequentes

Posso usar sidecars em meus aplicativos Linux existentes?

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

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

Como faço para monitorar e solucionar problemas de sidecars?

Utilize o Azure Monitor, o Log Analytics e o painel Diagnosticar e Resolver no portal do Azure. Os logs de todos os contêineres estão disponíveis no fluxo de logs do Serviço de Aplicativo.

Existem limitações?

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

Mais recursos