Comparação de aplicativos de contêiner com outras opções de contêiner do Azure

As equipes contam com muitas opções para criar e implantar aplicativos nativos e aplicativos conteinerizados no Azure. Esse artigo ajuda você a entender quais cenários e casos de uso são mais adequados para Aplicativos de Contêiner do Azure e como eles se comparam a outras opções de contêiner no Azure, incluindo:

Não há uma solução perfeita para todos os casos de uso e para todas as equipes. A explicação a seguir fornece diretrizes gerais e recomendações como um ponto de partida para ajudar a encontrar a melhor opção para sua equipe e seus requisitos.

Comparações entre opções de contêiner

Aplicativos de Contêiner do Azure

Aplicativos de Contêiner do Azure permitem que você crie microsserviços sem servidor e trabalhos baseados em contêineres. Entre os recursos diferenciados dos Aplicativos de Contêiner estão:

  • Otimizado para executar contêineres de uso geral, especialmente para aplicativos que abrangem muitos microsserviços implantados em contêineres.
  • Da plataforma Kubernetes e com tecnologias de código aberto como Dapr, KEDA e Envoy.
  • Suporte a aplicativos no estilo Kubernetes e microsserviços com recursos como descoberta de serviço e divisão de tráfego.
  • Permite arquiteturas de aplicativos orientadas a eventos dando suporte à escala com base no tráfego e à extração de fontes de eventos como filas, incluindo a escala para zero.
  • Dá suporte à execução sob demanda, trabalhos agendados e controlados por eventos.

Os Aplicativos de Contêiner do Azure não fornecem acesso direto às APIs Kubernetes subjacentes. Se você precisar de acesso às APIs do Kubernetes e ao plano de controle, você deverá usar o Serviço Kubernetes do Azure. No entanto, se você quiser criar aplicativos no estilo Kubernetes e não precisar de acesso direto a todas as APIs Kubernetes nativas e ao gerenciamento de clusters, os Aplicativos de Contêiner fornecerão uma experiência totalmente gerenciada com base nas melhores práticas. Por esses motivos, muitas equipes preferem começar a criar microsserviços de contêiner com os Aplicativos de Contêiner do Azure.

Você pode começar a criar seu primeiro aplicativo de contêiner usando os guias de início rápido.

Serviço de Aplicativo do Azure

O Serviço de Aplicativo do Azure fornece hospedagem totalmente gerenciada para aplicativos Web, incluindo sites e APIs Web. Você pode implantar esses aplicativos Web usando código ou contêineres. O Serviço de Aplicativo do Azure é otimizado para aplicativos Web. O Serviço de Aplicativo do Azure é integrado a outros serviços do Azure, incluindo Aplicativos de Contêiner do Azure ou o Azure Functions. Ao criar aplicativos Web, o Serviço de Aplicativo do Azure é uma opção ideal.

Instâncias de Contêiner do Azure

As ACIs (Instâncias de Contêiner do Azure) fornecem apenas um pod de contêineres isolados do Hyper-V sob demanda. Elas podem ser vistas como uma opção de "bloco de construção" de nível inferior em comparação com os Aplicativos de Contêiner. Conceitos como escala, balanceamento de carga e certificados não são fornecidos com contêineres de ACI. Por exemplo, para escalar para cinco instâncias de contêiner, você cria cinco instâncias de contêiner distintas. Além dos contêineres, os Aplicativos de Contêiner do Azure fornecem muitos conceitos específicos ao aplicativo, incluindo certificados, revisões, escala e ambientes. Os usuários costumam interagir com as Instâncias de Contêiner do Azure por meio de outros serviços. Por exemplo, o Serviço de Kubernetes do Azure pode orquestrar e dimensionar a camada sobre a ACI por meio de nós virtuais. Se você precisar de um bloco de construção menos "conceituado" que não se alinhe aos cenários para os quais os Aplicativos de Contêiner do Azure estão otimizando, as Instâncias de Contêiner do Azure serão a opção ideal.

Serviço de Kubernetes do Azure

O Serviço de Kubernetes do Azure (AKS) fornece uma opção de Kubernetes totalmente gerenciada no Azure. Ele dá suporte ao acesso direto à API Kubernetes e executa qualquer carga de trabalho de Kubernetes. O cluster completo reside em sua assinatura, com as configurações e as operações do cluster dentro de seu controle e responsabilidade. Para equipes que buscam uma versão totalmente gerenciada do Kubernetes no Azure, o Serviço de Kubernetes do Azure é uma opção ideal.

Funções do Azure

O Azure Functions é uma solução de FaaS (funções como serviço) sem servidor. Ele é otimizado para executar aplicativos controlados por eventos usando o modelo de programação de funções. Ele tem muitas características parecidas com os Aplicativos de Contêiner do Azure com relação a escala e integração com eventos, mas é otimizado para funções efêmeras implantadas como código ou contêineres. O modelo de programação de Azure Functions fornece benefícios de produtividade para as equipes que desejam disparar a execução de suas funções em eventos e associar a outras fontes de dados. Se estiver criando funções no estilo FaaS, o Azure Functions será a opção ideal. O modelo de programação do Azure Functions está disponível como uma imagem de contêiner base, tornando-o portátil para outras plataformas de computação com base em contêiner e permitindo que as equipes reutilizem o código à medida que os requisitos de ambiente mudam.

Azure Spring Apps

O Aplicativos Spring do Azure é um serviço totalmente gerenciado para desenvolvedores do Spring. Se você quiser executar o Spring Boot, o Spring Cloud ou outros aplicativos Spring no Azure, uma opção ideal serão os Aplicativos Spring do Azure. O serviço gerencia a infraestrutura dos aplicativos do Spring para que os desenvolvedores possam se concentrar no código. O Azure Spring Apps fornece gerenciamento de ciclo de vida usando monitoramento e diagnóstico abrangentes, gerenciamento de configuração, descoberta de serviços, integração de CI/CD, implantações em “blue-green” e muito mais.

Red Hat OpenShift no Azure

Red Hat OpenShift no Azure é um produto integrado com a Red Hat e a Microsoft projetado, operado e suportado em conjunto. Essa colaboração fornece um produto integrado e uma experiência de suporte para executar o OpenShift com tecnologia Kubernetes. Com o Red Hat OpenShift no Azure, as equipes podem escolher suas próprias soluções de CI/CD, armazenamento, sistema de rede e registro. Como alternativa, eles podem usar as soluções integradas para gerenciamento automatizado de código-fonte, criação de contêineres e aplicativos, implantações, escala, gerenciamento de integridade e muito mais do OpenShift. Se sua equipe ou organização estiver usando o OpenShift, o Red Hat OpenShift no Azure é uma opção ideal.

Próximas etapas