Comparando aplicativos de contêiner com outras opções de contêiner do Azure
Há muitas opções para as equipes criarem e implantarem aplicativos nativos da nuvem e em contêineres no Azure. Este 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 ele se compara a outras opções de contêiner no Azure, incluindo:
- Aplicativos de contêiner do Azure
- Serviço de Aplicações do Azure
- Azure Container Instances
- Azure Kubernetes Service
- Funções do Azure
- Azure Spring Apps
- Azure Red Hat OpenShift
Não existe uma solução perfeita para cada caso de uso e cada equipa. A explicação a seguir fornece orientações gerais e recomendações como ponto de partida para ajudar a encontrar o melhor ajuste para sua equipe e suas necessidades.
Comparações de opções de contêiner
Azure Container Apps
Os Aplicativos de Contêiner do Azure permitem que você crie microsserviços e trabalhos sem servidor com base em contêineres. Os recursos distintivos dos Container Apps incluem:
- Otimizado para executar contêineres de uso geral, especialmente para aplicativos que abrangem muitos microsserviços implantados em contêineres.
- Alimentado por Kubernetes e tecnologias de código aberto como Dapr, KEDA e envoy.
- Suporta aplicativos e microsserviços no estilo Kubernetes com recursos como descoberta de serviços e divisão de tráfego.
- Permite arquiteturas de aplicativos orientadas a eventos, oferecendo suporte à escala com base no tráfego e extraindo de fontes de eventos, como filas, incluindo escala até zero.
- Suporta trabalhos sob demanda, agendados e orientados a eventos.
Os Aplicativos de Contêiner do Azure não fornecem acesso direto às APIs subjacentes do Kubernetes. Se você precisar de acesso às APIs do Kubernetes e ao plano de controle, 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 nativas do Kubernetes e gerenciamento de cluster, o Container Apps oferece uma experiência totalmente gerenciada com base nas práticas recomendadas. 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 inícios rápidos.
Serviço de Aplicações 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 Azure Functions. Ao criar aplicativos Web, o Serviço de Aplicativo do Azure é uma opção ideal.
Azure Container Instances
As Instâncias de Contêiner do Azure (ACI) fornecem um único pod de contêineres isolados do Hyper-V sob demanda. Pode ser pensado como uma opção de "bloco de construção" de nível inferior em comparação com Container Apps. Conceitos como escala, balanceamento de carga e certificados não são fornecidos com contêineres ACI. Por exemplo, para dimensionar para cinco instâncias de contêiner, você cria cinco instâncias de contêiner distintas. Os Aplicativos de Contêiner do Azure fornecem muitos conceitos específicos do aplicativo sobre contêineres, incluindo certificados, revisões, escala e ambientes. Os usuários geralmente interagem com as Instâncias de Contêiner do Azure por meio de outros serviços. Por exemplo, o Serviço Kubernetes do Azure pode sobrepor a orquestração e a escala em camadas sobre o ACI por meio de nós virtuais. Se você precisar de um bloco de construção menos "opinativo" que não esteja alinhado com os cenários para os quais os Aplicativos de Contêiner do Azure estão otimizando, as Instâncias de Contêiner do Azure são uma opção ideal.
Azure Kubernetes Service
O Serviço Kubernetes do Azure (AKS) fornece uma opção Kubernetes totalmente gerenciada no Azure. Ele suporta acesso direto à API do Kubernetes e executa qualquer carga de trabalho do Kubernetes. O cluster completo reside na sua subscrição, com as configurações e operações do cluster sob o seu controlo e responsabilidade. Equipes que procuram uma versão totalmente gerenciada do Kubernetes no Azure, o Serviço Kubernetes do Azure é uma opção ideal.
Funções do Azure
O Azure Functions é uma solução de Funções como Serviço (FaaS) sem servidor. Ele é otimizado para executar aplicativos orientados a eventos usando o modelo de programação de funções. Ele compartilha muitas características com os Aplicativos de Contêiner do Azure em relação à 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 do Azure Functions fornece benefícios de produtividade para equipes que procuram acionar a execução de suas funções em eventos e vincular a outras fontes de dados. Ao criar funções no estilo FaaS, o Azure Functions é 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 baseadas em contêiner, permitindo que as equipes reutilizem o código à medida que os requisitos do ambiente mudam.
Azure Spring Apps
O Azure Spring Apps é um serviço totalmente gerenciado para desenvolvedores do Spring. Se você quiser executar o Spring Boot, o Spring Cloud ou qualquer outro aplicativo Spring no Azure, o Azure Spring Apps é uma opção ideal. O serviço gerencia a infraestrutura dos aplicativos Spring para que os desenvolvedores possam se concentrar em seu código. O Azure Spring Apps fornece gerenciamento do ciclo de vida usando monitoramento e diagnóstico abrangentes, gerenciamento de configuração, descoberta de serviços, integração de CI/CD, implantações azul-verde e muito mais.
Azure Red Hat OpenShift
O Azure Red Hat OpenShift é 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 Azure Red Hat OpenShift, as equipes podem escolher suas próprias soluções de registro, rede, armazenamento e CI/CD. Como alternativa, eles podem usar as soluções integradas para gerenciamento automatizado de código-fonte, compilações de contêineres e aplicativos, implantações, dimensionamento, gerenciamento de integridade e muito mais do OpenShift. Se sua equipe ou organização estiver usando o OpenShift, o Azure Red Hat OpenShift é uma opção ideal.