Share via


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. Este artigo ajudará você a entender quais cenários e casos de uso são mais adequados aos Aplicativos de Contêiner do Azure e mostrará uma comparação com 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

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

  • Otimizado para execução de 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 podem preferir 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. Esses aplicativos Web podem ser implantados 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

O Red Hat OpenShift no Azure é desenvolvido, operado e compatível com Red Hat e Microsoft para fornecer um produto integrado e a experiência de suporte para executar o OpenShift equipado com Kubernetes. Com o Red Hat OpenShift no Azure, as equipes podem escolher as próprias soluções de registro, rede, armazenamento e CI/CD, ou usar as soluções internas para gerenciamento automatizado de código fonte, criações de contêiner e aplicativo, 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