Escolha um serviço de computação do Azure

Serviço de aplicativo do Azure
AKS (Serviço de Kubernetes do Azure)

O Azure oferece muitas maneiras de hospedar seu código de aplicativo. O termo computação refere-se ao modelo de hospedagem para os recursos em que seu aplicativo é executado. Este artigo ajuda a escolher um serviço de computação para seu aplicativo.

Escolher um serviço candidato

Use o fluxograma a seguir para selecionar um serviço de computação candidato.

Diagram that shows a decision tree for Azure compute services.

Baixe um arquivo do Visio dessa árvore de decisão.

Este diagrama refere-se a duas estratégias de migração:

  • Lift and shift: uma estratégia para migrar uma carga de trabalho para a nuvem sem redesenhar o aplicativo ou fazer alterações no código. Também é chamado de rehospedagem. Para obter mais informações, confira Centro de migração e modernização do Azure.
  • Otimizado para nuvem: uma estratégia para migrar para a nuvem refatoração de um aplicativo para aproveitar os recursos e capacidades nativos da nuvem.

A saída deste fluxograma é o seu ponto de partida. Em seguida, avalie o serviço para ver se ele atende às suas necessidades.

Este artigo inclui várias tabelas que podem ajudá-lo a escolher um serviço. O candidato inicial do fluxograma pode ser inadequado para sua aplicação ou carga de trabalho. Nesse caso, expanda sua análise para incluir outros serviços de computação.

Se o aplicativo tem várias cargas de trabalho, avalie cada carga de trabalho separadamente. Uma solução completa pode incorporar dois ou mais serviços de computação.

Entender os recursos básicos

Se você não estiver familiarizado com o serviço do Azure selecionado na seção anterior, consulte esta documentação de visão geral:

  • Máquinas Virtuais do Azure: um serviço onde você implanta e gerencia máquinas virtuais (VMs) dentro de uma rede virtual do Azure.
  • Serviço de Aplicativo do Azure: um serviço gerenciado para hospedar aplicativos Web, back-ends de aplicativos móveis, APIs RESTful ou processos de negócios automatizados.
  • Azure Functions: uma função gerenciada como um serviço.
  • Serviço de Kubernetes do Azure (AKS): um serviço Kubernetes gerenciado para executar aplicativos em contêineres.
  • Aplicativos de Contêiner do Azure: um serviço gerenciado criado no Kubernetes, que simplifica a implantação de aplicativos em contêineres em um ambiente sem servidor.
  • Instâncias de Contêiner do Azure: esse serviço é uma maneira rápida e simples de executar um contêiner no Azure. Você não precisa provisionar nenhuma VM ou adotar um serviço de nível superior.
  • Azure Red Hat OpenShift: um cluster OpenShift totalmente gerenciado para executar contêineres em produção com o Kubernetes.
  • Azure Spring Apps: um serviço gerenciado projetado e otimizado para hospedar aplicativos Spring Boot.
  • Azure Service Fabric: uma plataforma de sistemas distribuídos que pode ser executada em muitos ambientes, incluindo o Azure ou local.
  • Lote do Azure: um serviço gerenciado para executar aplicativos de computação paralela e de alto desempenho (HPC) em grande escala.

Entender os modelos de hospedagem

Para modelos de hospedagem, os serviços em nuvem se enquadram em três categorias:

  • IaaS (infraestrutura como serviço): permite provisionar VMs junto com os componentes de rede e armazenamento associados. Em seguida, você pode implantar qualquer software e aplicativos que desejar nessas VMs. Esse modelo é o mais próximo de um ambiente local tradicional. A Microsoft gerencia a infraestrutura. Você ainda gerencia as VMs.

  • Plataforma como serviço (PaaS): fornece um ambiente de hospedagem gerenciado onde você pode implantar seu aplicativo sem precisar gerenciar VMs ou recursos de rede. O Serviço de Aplicativo do Azure e os Aplicativos de Contêiner do Azure são serviços de PaaS.

  • Funções como serviço (FaaS): permite implantar seu código no serviço, que o executa automaticamente. O Azure Functions é um serviço FaaS.

    Observação

    O Azure Functions é uma oferta de computação sem servidor do Azure. Para ver como esse serviço se compara a outras ofertas sem servidor do Azure, como Aplicativos Lógicos, que fornecem fluxos de trabalho sem servidor, consulte Escolher os serviços de integração e automação corretos no Azure.

Há um espectro de IaaS a PaaS puro. Por exemplo, as VMs do Azure podem escalar automaticamente usando conjuntos de dimensionamento de máquina virtual. Esse recurso não é estritamente um PaaS, mas é o tipo de recurso de gerenciamento encontrado no PaaS.

Há uma compensação entre controle e facilidade de gerenciamento. A IaaS oferece mais controle, flexibilidade e portabilidade, mas você precisa provisionar, configurar e gerenciar as VMs e os componentes de rede criados. Os serviços de FaaS gerenciam automaticamente quase todos os aspectos da execução de um aplicativo. PaaS cai em algum lugar no meio.

Serviço Composição do aplicativo Densidade Número mínimo de nós Gerenciamento de estado Hospedagem na Web
Máquinas Virtuais do Azure Independente Independente 1 2 Com estado ou sem estado Independente
Serviço de Aplicativo do Azure Aplicativos, contêineres Vários aplicativos por instância usando o plano do Serviço de Aplicativo 1 Sem estado Internos
Funções do Azure Funções, contêineres Sem servidor 1 Sem servidor 1 Apátrida ou com estado 6 Não aplicável
Serviço de Kubernetes do Azure Contêineres Vários contêineres por nó 3 3 Com estado ou sem estado Independente
Aplicativos de Contêiner do Azure Contêineres Sem servidor Sem servidor Com estado ou sem estado Independente
Instâncias de Contêiner do Azure Contêineres Sem instâncias dedicadas Sem nós dedicados Sem estado Independente
Red Hat OpenShift no Azure Contêineres Vários contêineres por nó 6 5 Com estado ou sem estado Independente
Azure Spring Apps Aplicativos, microsserviços Vários aplicativos por instância de serviço 2 Sem estado Internos
Azure Service Fabric Serviços, executáveis do convidado, contêineres Vários serviços por VM 5 3 Com estado ou sem estado Independente
Lote do Azure Trabalhos agendados Vários aplicativos por VM 1 4 Sem estado Não

Observações

  1. Se você estiver usando um plano de consumo. Para um plano do Serviço de Aplicativo, as funções são executadas nas VMs alocadas para o plano do Serviço de Aplicativo. Confira Escolher o plano de serviço correto para o Azure Functions.
  2. Contrato de nível de serviço (SLA) mais alto com duas ou mais instâncias.
  3. Recomendado para ambientes de produção.
  4. Pode reduzir verticalmente até zero após o trabalho ser concluído.
  5. Três para nós primários e três para nós de trabalho.
  6. Ao usar funções duráveis.

Rede

Serviço Integração de rede virtual Conectividade híbrida
Máquinas Virtuais do Azure Com suporte Com suporte
Serviço de Aplicativo do Azure Com suporte 1 Com suporte 2
Funções do Azure Com suporte 1 Suportado 3
Serviço de Kubernetes do Azure Com suporte Com suporte
Aplicativos de Contêiner do Azure Com suporte Com suporte
Instâncias de Contêiner do Azure Com suporte Com suporte
Red Hat OpenShift no Azure Com suporte Com suporte
Azure Spring Apps Com suporte Com suporte
Azure Service Fabric Com suporte Com suporte
Lote do Azure Com suporte Com suporte

Observações

  1. Requer Ambiente do Serviço de Aplicativo.
  2. Use Conexões Híbridas do Serviço de Aplicativo do Azure.
  3. Requer um plano do Serviço de Aplicativo ou plano Premium do Azure Functions.

DevOps

Serviço Depuração local Modelo de programação Atualização do aplicativo
Máquinas Virtuais do Azure Independente Independente Não há suporte interno
Serviço de Aplicativo do Azure IIS Express, outros 1 Aplicativos da Web e da API, Trabalhos da Web para tarefas em segundo plano Slots de implantação
Funções do Azure Visual Studio ou CLI do Azure Functions Sem servidor, orientado a eventos Slots de implantação
Serviço de Kubernetes do Azure Minikube, Docker, outros Independente Atualização sem interrupção
Aplicativos de Contêiner do Azure runtime do contêiner local Independente Gerenciamento da revisão
Instâncias de Contêiner do Azure runtime do contêiner local Independente Não aplicável
Red Hat OpenShift no Azure Minikube, Docker, outros Independente Atualização sem interrupção
Azure Spring Apps Visual Studio Code, Intellij, Eclipse Spring Boot, Steeltoe Atualização contínua, implantação azul-verde
Azure Service Fabric Cluster de nó local Executável convidado, modelo de Serviço, o modelo de Ator, Contêineres Atualização sem interrupção (por serviço)
Lote do Azure Sem suporte Aplicativo de linha de comando Não aplicável

Observações

  1. As opções incluem IIS Express para ASP.NET ou nó.js (iisnode), servidor Web PHP, Kit de Ferramentas do Azure para IntelliJ e Kit de Ferramentas do Azure para Eclipse. O Serviço de Aplicativo também dá suporte para depuração remota de aplicativo Web implantado.

Escalabilidade

Serviço Dimensionamento automático Balanceador de carga Limite de escala3
Máquinas Virtuais do Azure conjuntos de escala de máquina virtual Azure Load Balancer Imagem da plataforma: 1.000 nós por conjunto de escalas, Imagem personalizada: 600 nós por conjunto de escalas
Serviço de Aplicativo do Azure Serviço interno Integrado 30 instâncias, 100 com Ambiente do Serviço de Aplicativo
Funções do Azure Serviço interno Integrado 200 instâncias por aplicativo de função
Serviço de Kubernetes do Azure Dimensionamento automático de pod 1, dimensionamentoautomático decluster 2 Azure Load Balancer ou Gateway de Aplicativo do Azure 5.000 nós ao usar o SLA de tempo de atividade
Aplicativos de Contêiner do Azure Regras de dimensionamento4 Integrado 5 ambientes por região, 20 aplicativos de contêiner por ambiente, 30 réplicas por aplicativo de contêiner
Instâncias de Contêiner do Azure Sem suporte Não há suporte interno 20 grupos de contêineres por assinatura (limite padrão)
Red Hat OpenShift no Azure Dimensionamento automático de pods, dimensionamento automático de cluster Azure Load Balancer ou Gateway de Aplicativo do Azure 60 nós por cluster (limite padrão)
Azure Spring Apps Serviço interno Integrado 500 instâncias de aplicativo no Standard
Azure Service Fabric conjuntos de escala de máquina virtual Azure Load Balancer 100 nós por conjunto de dimensionamento de máquina virtual
Lote do Azure Não aplicável Azure Load Balancer Limite de 20 núcleos (limite padrão)

Observações

  1. Confira Dimensionamento automático de pods.
  2. Consulte Dimensionar automaticamente um cluster para atender às demandas de aplicativos no Serviço Kubernetes do Azure.
  3. Consulte Assinatura do Azure e limites de serviço, cotas e restrições.
  4. Confira Definir regras de colocação em escala em Aplicativos de Contêiner do Azure.

Disponibilidade

Serviço SLA Failover de várias regiões
Máquinas Virtuais do Azure SLA para Máquinas Virtuais Azure Traffic Manager, Azure Front Door e Azure Load Balancer entre regiões
Serviço de Aplicativo do Azure SLA para Serviço de Aplicativo Gerenciador de Tráfego do Azure e Azure Front Door
Funções do Azure SLA para Functions Gerenciador de Tráfego do Azure e Azure Front Door
Serviço de Kubernetes do Azure SLA para AKS Azure Traffic Manager, Azure Front Door e Multiregion Cluster
Aplicativos de Contêiner do Azure SLA para aplicativos de contêiner Gerenciador de Tráfego do Azure e Azure Front Door
Instâncias de Contêiner do Azure SLA para as Instâncias de Contêiner Gerenciador de Tráfego do Azure e Azure Front Door
Red Hat OpenShift no Azure SLA para o Azure Red Hat OpenShift Gerenciador de Tráfego do Azure e Azure Front Door
Azure Spring Apps SLA para aplicativos do Azure Spring Azure Traffic Manager, Azure Front Door e Multiregion Cluster
Azure Service Fabric SLA para Service Fabric Azure Traffic Manager, Azure Front Door e Azure Load Balancer entre regiões
Lote do Azure SLA para Lote Não aplicável

Para obter aprendizado guiado sobre garantias de serviço, consulte Serviços de Nuvem Principais - Arquitetura do Azure e garantias de serviço.

Segurança

Analise e entenda os controles de segurança e a visibilidade disponíveis para cada serviço:

Outros critérios

Serviço TLS Custo Estilos de arquitetura adequados
Máquinas Virtuais do Azure Configurado na VM Windows, Linux N-tier, computação grande (HPC)
Serviço de Aplicativo do Azure Com suporte Preços do Serviço de Aplicativo Web-queue-worker
Funções do Azure Com suporte Preços de funções Microsserviços, arquitetura orientada a eventos
Serviço de Kubernetes do Azure Controlador de entrada Preços do AKS Microsserviços, arquitetura orientada a eventos
Aplicativos de Contêiner do Azure Controlador de entrada Preços de aplicativos de contêiner Microsserviços, arquitetura orientada a eventos
Instâncias de Contêiner do Azure Usar contêiner sidecar Preço das Instâncias de Contêiner Microsserviços, automação de tarefas, trabalhos em lotes
Red Hat OpenShift no Azure Com suporte Preço do Red Hat OpenShift no Azure Microsserviços, arquitetura orientada a eventos
Azure Spring Apps Com suporte Preços do Azure Spring Apps Spring Boot, microsserviços
Azure Service Fabric Com suporte Preços do Service Fabric Microsserviços, arquitetura orientada a eventos
Lote do Azure Com suporte Preços em lote Big compute (HPC)

Considerar limites e custo

Juntamente com as tabelas de comparação anteriores, faça uma avaliação mais detalhada dos seguintes aspectos do serviço do candidato:

Colaboradores

Esse artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes colaboradores:

Para ver perfis não públicos no LinkedIn, entre no LinkedIn.

Próximas etapas

Serviços de Nuvem Principais – opções de computação do Azure. Este módulo Learn explora como os serviços de computação podem resolver necessidades comerciais comuns.