O Azure oferece muitas maneiras de hospedar o código do seu aplicativo. O termo computação refere-se ao modelo de hospedagem para os recursos nos quais seu aplicativo é executado. Este artigo ajuda a escolher um serviço de computação para seu aplicativo.
Escolha um serviço candidato
Use o fluxograma a seguir para selecionar um serviço de computação candidato.
Baixe um arquivo do Visio desta árvore decisória.
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, consulte 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 seu aplicativo consistir em 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.
Compreender as características básicas
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: um serviço que fornece funções gerenciadas que são executadas com base em uma variedade de tipos de gatilho para aplicativos controlados por eventos.
- Serviço 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.
- de Instâncias de Contêiner do Azure: este serviço é uma maneira rápida e simples de executar um único contêiner ou grupo de contêineres no Azure. As Instâncias de Contêiner do Azure não fornecem orquestração completa de contêineres, mas você pode implementá-las sem precisar provisionar VMs 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 Service Fabric: uma plataforma de sistemas distribuídos que pode ser executada em muitos ambientes, incluindo o Azure ou no local.
- Azure Batch: um serviço gerenciado para executar aplicativos de computação paralela e de alto desempenho (HPC) em grande escala.
- Azure VMware Solution: um serviço gerenciado para executar cargas de trabalho VMware nativamente no Azure.
Entenda os modelos de hospedagem
Para modelos de hospedagem, os serviços em nuvem se enquadram em três categorias:
Infraestrutura como serviço (IaaS): 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. Este 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 PaaS.
Funções como um serviço (FaaS): Permite implantar seu código no serviço, que o executa automaticamente. O Azure Functions é um serviço FaaS.
Nota
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 certos no Azure.
Há um espectro que vai de IaaS a PaaS puro. Por exemplo, as VMs do Azure podem ser dimensionadas 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á um compromisso 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 FaaS gerenciam automaticamente quase todos os aspetos da execução de um aplicativo. PaaS cai em algum lugar no meio.
Serviço | Composição da aplicação | Densidade | Número mínimo de nós | Gestão de estados | Alojamento na Web |
---|---|---|---|---|---|
Máquinas Virtuais do Microsoft Azure | Desconhecida | Desconhecida | 1 2 | Sem estado ou Com estado | Desconhecida |
Serviço de Aplicações do Azure | Aplicações, contentores | Vários aplicativos por instância usando o plano do Serviço de Aplicativo | 1 | Sem monitorização de estado | Incorporada |
Funções do Azure | Funções, contentores | Sem servidor 1 | Sem servidor 1 | Apátrida ou apátrida 6 | Não aplicável |
Azure Kubernetes Service | Contentores | Vários contêineres por nó | 3 3 | Sem estado ou Com estado | Desconhecida |
Azure Container Apps | Contentores | Sem servidor | Sem servidor | Sem estado ou Com estado | Desconhecida |
Azure Container Instances | Contentores | Sem instâncias dedicadas | Sem nós dedicados | Sem monitorização de estado | Desconhecida |
Azure Red Hat OpenShift | Contentores | Vários contêineres por nó | 6 5 | Sem estado ou Com estado | Desconhecida |
Azure Service Fabric | Serviços, executáveis convidados, contentores | Vários serviços por VM | 5 3 | Sem estado ou Com estado | Desconhecida |
Azure Batch | Tarefas agendadas | Várias aplicações por VM | 1 4 | Sem monitorização de estado | Não |
Solução VMware do Azure | Desconhecida | Desconhecida | 3 7 | Sem estado ou Com estado | Desconhecida |
Notas
- Se estiver a utilizar um plano de consumo. Para um plano do Serviço de Aplicativo, as funções são executadas nas VMs alocadas para seu plano do Serviço de Aplicativo. Consulte Escolher o plano de serviço correto para o Azure Functions.
- SLA (Service Level Agreement, contrato de nível de serviço) mais alto com duas ou mais instâncias.
- Recomendado para ambientes de produção.
- Pode reduzir verticalmente para zero após a conclusão da tarefa.
- Três para nós primários e três para nós de trabalho.
- Ao usar funções duráveis.
- Requer um número mínimo de três nós.
Rede
Serviço | Integração da rede virtual | Conectividade híbrida |
---|---|---|
Máquinas Virtuais do Microsoft Azure | Suportado | Suportado |
Serviço de Aplicações do Azure | Suportado 1 | Suportado 2 |
Funções do Azure | Suportado 1 | Suportado 3 |
Azure Kubernetes Service | Suportado | Suportado |
Azure Container Apps | Suportado | Suportado |
Azure Container Instances | Suportado | Suportado |
Azure Red Hat OpenShift | Suportado | Suportado |
Azure Service Fabric | Suportado | Suportado |
Azure Batch | Suportado | Suportado |
Solução VMware do Azure | Suportado | Suportado |
Notas
- Requer ambiente do Serviço de Aplicativo.
- Use as Conexões Híbridas do Serviço de Aplicativo do Azure.
- Requer um plano do Serviço de Aplicativo ou um plano do Azure Functions Premium.
DevOps
Serviço | Depuração local | Modelo de programação | Atualização da aplicação |
---|---|---|---|
Máquinas Virtuais do Microsoft Azure | Desconhecida | Desconhecida | Nenhum suporte incorporado |
Serviço de Aplicações do Azure | IIS Express, outros 1 | Aplicações Web e API, WebJobs para tarefas em segundo plano | Blocos de implementação |
Funções do Azure | Visual Studio ou CLI do Azure Functions | Sem servidor, orientado a eventos | Blocos de implementação |
Azure Kubernetes Service | Minikube, Docker, outros | Desconhecida | Atualização sem interrupção |
Azure Container Apps | Tempo de execução do contentor local | Desconhecida | Gestão de revisões |
Azure Container Instances | Tempo de execução do contentor local | Desconhecida | Não aplicável |
Azure Red Hat OpenShift | Minikube, Docker, outros | Desconhecida | Atualização sem interrupção |
Azure Service Fabric | Cluster de nó local | Executáveis convidados, Modelo de serviço, Modelo de ator, Contentores | Atualização sem interrupção (por serviço) |
Azure Batch | Não suportado | Aplicativo de linha de comando | Não aplicável |
Solução VMware do Azure | Desconhecida | Desconhecida | Nenhum suporte incorporado |
Notas
- As opções incluem IIS Express para ASP.NET ou node.js (iisnode), servidor Web PHP, Kit de Ferramentas do Azure para IntelliJ e Kit de Ferramentas do Azure para Eclipse. O Serviço de Aplicações também suporta a depuração remota de aplicações Web implementadas.
Escalabilidade
Serviço | Dimensionamento automático | Balanceador de carga | Limite deescala 3 |
---|---|---|---|
Máquinas Virtuais do Microsoft Azure | Conjuntos de dimensionamento de máquinas virtuais | Balanceador de Carga do Azure | Imagem da plataforma: 1.000 nós por conjunto de escalas, Imagem personalizada: 600 nós por conjunto de escalas |
Serviço de Aplicações do Azure | Serviço incorporado | Integrado | 30 instâncias, 100 com Ambiente do Serviço de Aplicativo |
Funções do Azure | Serviço incorporado | Integrado | 200 instâncias por aplicativo de função |
Azure Kubernetes Service | Dimensionamento automático dopod 1, dimensionamento automático docluster 2 | Azure Load Balancer ou Azure Application Gateway | 5.000 nós ao usar o SLA de tempo de atividade |
Azure Container Apps | Regrasde dimensionamento 4 | Integrado | 15 ambientes por região (limite padrão), aplicativos de contêiner ilimitados por ambiente e réplicas por aplicativo de contêiner (dependendo dos núcleos disponíveis) |
Azure Container Instances | Não suportado | Nenhum suporte incorporado | 100 grupos de contêineres por assinatura (limite padrão) |
Azure Red Hat OpenShift | Dimensionamento automático de pods, dimensionamento automático de cluster | Azure Load Balancer ou Azure Application Gateway | 250 nós por cluster (limite padrão) |
Azure Service Fabric | Conjuntos de dimensionamento de máquinas virtuais | Balanceador de Carga do Azure | 100 nós por conjunto de escala de máquina virtual |
Azure Batch | Não aplicável | Balanceador de Carga do Azure | Limite principal de 900 dedicados e 100 de baixa prioridade (limite padrão) |
Solução VMware do Azure | Serviço integrado5 | Integrado6 | Por VMware vCenter pode gerenciar entre 3 ~ 16 hosts VMware ESXi |
Notas
- Consulte Pods de escala automática.
- Consulte Dimensionar automaticamente um cluster para atender às demandas de aplicativos no Serviço Kubernetes do Azure.
- Consulte Limites, quotas e restrições de subscrição e serviço do Azure.
- Consulte Definir regras de dimensionamento em Aplicativos de Contêiner do Azure.
- consulte dimensionar uma solução VMware do Azure.
- Consulte VMware NSX.
Disponibilidade
Serviço | Opção de failover em várias regiões |
---|---|
Máquinas Virtuais do Microsoft Azure | Azure Traffic Manager, Azure Front Door e Azure Load Balancer entre regiões |
Serviço de Aplicações do Azure | Azure Traffic Manager e Azure Front Door |
Funções do Azure | Azure Traffic Manager e Azure Front Door |
Azure Kubernetes Service (AKS) | Azure Traffic Manager, Azure Front Door e Multiregion Cluster |
Azure Container Apps | Azure Traffic Manager e Azure Front Door |
Azure Container Instances | Azure Traffic Manager e Azure Front Door |
Azure Red Hat OpenShift | Azure Traffic Manager e Azure Front Door |
Azure Service Fabric | Azure Traffic Manager, Azure Front Door e Azure Load Balancer entre regiões |
Azure Batch | Não aplicável |
Solução VMware do Azure | Não aplicável |
Para obter aprendizagem guiada sobre garantias de serviço, consulte Core Cloud Services - Azure architecture and service guarantees.
Segurança
Analise e compreenda os controles de segurança disponíveis e a visibilidade para cada serviço:
- Máquina virtual do Windows do Azure
- Máquina virtual Linux do Azure
- Serviço de Aplicações do Azure
- Funções do Azure
- Azure Kubernetes Service
- Azure Container Instances
- Azure Service Fabric
- Azure Batch
- Azure VMware Solution
Outros critérios
Considere limites e custos
Juntamente com as tabelas de comparação anteriores, faça uma avaliação mais detalhada dos seguintes aspetos do serviço candidato:
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores:
- Ayobami Ayodeji - Brasil | Gerente de Programa Sênior
- Jelle Druyts - Brasil | Engenheiro de Serviços Principal
- Martin Gjoshevski - Brasil | Engenheiro de Serviços Sênior
- Phil Huang - Brasil | Arquiteto de Soluções Cloud Sênior
- Julie Ng - Brasil | Engenheiro de Serviços Sênior
- Paolo Salvatori - Brasil | Engenheiro de Serviços Principal
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
Core Cloud Services - Opções de computação do Azure. Este módulo Learn explora como os serviços de computação podem resolver necessidades comerciais comuns.