Opções de computação em nuvem

Aprenda como a nuvem executa suas aplicações e como escolher a forma adequada de fazer isso. Compare máquinas virtuais e suas famílias de instâncias, contêineres e Kubernetes gerenciado, contêineres e funções sem servidor e plataformas de hospedagem de aplicações. Veja como o escalonamento automático adiciona e remove capacidade, como balanceadores de carga distribuem o tráfego entre servidores íntegros e zonas de disponibilidade e como recomendar uma opção de computação para um cenário real de negócios, com exemplos da AWS, do Microsoft Azure e do Google Cloud.

BásicoAula 3 de 7 do curso Curso de Fundamentos de computação em nuvem

O que você vai aprender

  1. Explique o que é uma máquina virtual na nuvem, o que ela precisa para funcionar e como seu ciclo de vida afeta o custo, e escolha uma família e um tamanho de instância adequados a uma carga de trabalho.
    • Descreva uma máquina virtual na nuvem e o que ela precisa para funcionar
      Explique como um provedor transforma servidores físicos em máquinas virtuais, identifique os recursos necessários para uma VM e descreva seu ciclo de vida e quem gerencia cada parte.
    • Escolha uma família e um tamanho de instância
      Leia nomes de tipos de instância, associe as principais famílias de instâncias a cargas de trabalho, dimensione uma VM conforme suas necessidades e reconheça a capacidade spot que pode ser interrompida.
  2. Explique escalonamento, elasticidade e alta disponibilidade, descreva como o escalonamento automático adiciona e remove instâncias e explique como balanceadores de carga distribuem o tráfego entre instâncias íntegras.
    • Explique escalonamento, elasticidade e alta disponibilidade
      Diferencie escalonamento vertical de horizontal e escalabilidade de elasticidade, e explique como distribuir instâncias entre zonas e domínios de falha mantém uma aplicação em funcionamento.
    • Explique como o escalonamento automático adiciona e remove instâncias
      Descreva o modelo de um grupo de escalonamento, seus tamanhos mínimo, desejado e máximo, suas verificações de integridade e políticas de escalonamento, e determine como uma política de acompanhamento de meta responde à carga.
    • Explique como um balanceador de carga distribui o tráfego
      Descreva o que um balanceador de carga faz, como funcionam as verificações de integridade e os métodos de distribuição, como diferem os balanceadores de camada 4 e camada 7 e qual serviço cada provedor oferece.
  3. Compare contêineres com máquinas virtuais, explique o que o Kubernetes gerenciado faz e descreva os serviços que executam contêineres sem exigir o gerenciamento de servidores.
    • Compare contêineres com máquinas virtuais
      Explique o que são um contêiner, uma imagem de contêiner e um registro de imagens, como os contêineres diferem das VMs em tamanho, velocidade e isolamento e por que são adequados para microsserviços.
    • Explique o que o Kubernetes gerenciado faz por você
      Descreva as principais partes de um cluster Kubernetes, como ele mantém o estado desejado e faz o escalonamento, e o que o Amazon EKS, o Azure Kubernetes Service e o Google Kubernetes Engine gerenciam para você.
    • Execute contêineres sem gerenciar servidores
      Descreva o Amazon ECS com AWS Fargate, o Azure Container Instances, o Azure Container Apps e o Google Cloud Run e decida quando contêineres sem servidor são adequados.
  4. Explique como funções sem servidor são executadas e cobradas, quando são adequadas e como plataformas de hospedagem de aplicações executam aplicações web enquanto o provedor gerencia a infraestrutura.
    • Explique as funções sem servidor e quando elas são adequadas
      Descreva o modelo de funções orientado a eventos, seus gatilhos, cobrança, limites e inicializações a frio, e decida quando funções são mais adequadas que servidores para uma carga de trabalho.
    • Hospede aplicações web em uma plataforma gerenciada
      Descreva o que as plataformas de hospedagem de aplicações fazem por você, compare AWS Elastic Beanstalk, Azure App Service, Google App Engine e opções de hospedagem mais simples e saiba o que você ainda gerencia.
  5. Compare máquinas virtuais, contêineres, funções sem servidor e plataformas de hospedagem em relação a controle, responsabilidade, escalonamento, custo e portabilidade, e recomende uma opção para um cenário de negócios.
    • Compare as opções de computação lado a lado
      Posicione as opções de computação em uma escala que vai de maior controle a menor gerenciamento e compare quem gerencia cada parte, como cada opção escalona e é cobrada e qual é sua portabilidade.
    • Recomende uma opção de computação para um cenário de negócios
      Aplique um pequeno conjunto de perguntas a cenários reais, justifique uma recomendação e planeje a passagem da rehospedagem para a modernização.

Guia de estudo de Opções de computação em nuvem

5 capítulos

1

Execute cargas de trabalho em máquinas virtuais na nuvem

Uma VM na nuvem oferece um computador familiar para você configurar, mas seus recursos, ciclo de vida e manutenção ainda exigem decisões. Aprenda quais escolhas iniciam uma instância, quais cobranças podem permanecer depois que ela para e quem atualiza o sistema operacional. Depois, use as necessidades da carga de trabalho para escolher uma família e um tamanho, leia os nomes usados pelos provedores e diferencie picos curtos de CPU de capacidade que pode ser retomada.

1.1 Inicie e gerencie uma máquina virtual

Uma máquina virtual (VM) é um computador definido por software. Ela tem processadores virtuais, memória, discos, uma conexão de rede e seu próprio sistema operacional. Um hipervisor divide um servidor físico entre VMs e as mantém isoladas. Uma VM na nuvem em execução também é chamada de instância.

Escolha os recursos

Os serviços principais são Amazon EC2, Azure Virtual Machines e Google Compute Engine. Cada um aluga infraestrutura para você; você gerencia o sistema operacional e a aplicação. Isso é infraestrutura como serviço (IaaS).

Iniciar uma VM envolve várias escolhas relacionadas:

  • Local: uma região e, onde disponível, uma zona de disponibilidade.
  • Imagem: um modelo que contém o sistema operacional e software pré-instalado. A AWS a chama de Amazon Machine Image (AMI); Azure e Google oferecem imagens públicas e personalizadas.
  • Tamanho: as vCPUs, a memória e a capacidade relacionada. Uma vCPU é a unidade de processamento atribuída à VM.
  • Disco: armazenamento persistente a partir do qual o sistema operacional é inicializado.
  • Rede: uma interface em uma sub-rede, além de regras de tráfego. Um endereço IP público é opcional.

A AWS usa volumes EBS, sub-redes VPC e grupos de segurança. O Azure usa discos gerenciados, sub-redes VNet e grupos de segurança de rede. O Google usa discos persistentes, sub-redes VPC e regras de firewall. Os nomes são diferentes, mas os recursos têm funções comparáveis.

Acompanhe uma decisão de inicialização

Uma equipe precisa de um servidor web Linux em Frankfurt. Ela seleciona a região Europa (Frankfurt), uma AMI do Ubuntu e m7g.large, com 2 vCPUs e 8 GiB de memória. Ela adiciona um volume de inicialização EBS de 30 GiB e conecta a VM a uma sub-rede VPC. Seu grupo de segurança permite HTTPS na porta 443 a partir da internet e SSH na porta 22 somente a partir da rede do escritório. A imagem fornece o ponto de partida do software; o tamanho fornece capacidade de computação; as regras de tráfego determinam quem pode se conectar.

Acompanhe o ciclo de vida e a cobrança

Uma VM é criada, executada, pode ser parada e iniciada e, por fim, é excluída. Cobranças de computação são geradas enquanto ela está alocada para execução, mesmo que o uso de CPU esteja perto de zero. Parar a VM normalmente encerra as cobranças de computação, mas discos retidos e endereços IP públicos reservados ainda podem gerar custos. No Azure, verifique se aparece “Stopped (deallocated)”: desligar dentro do sistema operacional convidado pode deixar a VM em “Stopped”, com a computação ainda sendo cobrada.

Discos locais temporários são diferentes de discos de inicialização persistentes. O instance store da AWS, os discos temporários do Azure e o Local SSD do Google mantêm dados no host físico; parar, mover ou desalocar uma VM pode causar a perda desses dados. Coloque os arquivos que precisam ser preservados em armazenamento persistente. Depois de excluir uma VM, revise os recursos cobrados que foram mantidos. Um grupo de segurança por si só não tem cobrança separada, enquanto um disco não excluído pode continuar gerando cobrança.

Saiba quem faz a manutenção

O provedor mantém o centro de dados, o hardware físico e o hipervisor. Você aplica atualizações ao sistema operacional convidado, atualiza o software instalado, protege os dados e gerencia o acesso e as configurações de firewall. Alugar uma VM não transfere ao provedor a aplicação de atualizações ao sistema convidado.

Um host dedicado reserva um servidor físico para seu uso, o que é útil para licenças vinculadas a núcleos físicos. Uma instância em hardware físico direto expõe o hardware sem uma camada de hipervisor. Já o Azure Virtual Desktop e o Amazon WorkSpaces transmitem desktops hospedados na nuvem para os dispositivos dos usuários.

Principais conclusões

  • Uma VM oferece um sistema operacional convidado que você mantém.
  • Uma imagem fornece software; um tamanho fornece vCPUs e memória.
  • Discos persistentes e discos locais temporários têm durações diferentes.
  • Verifique a desalocação no Azure e os recursos retidos ao encerrar cobranças.
  • Hosts dedicados podem atender a requisitos de licenciamento por núcleo físico.

1.2 Associe uma família e um tamanho de VM à carga de trabalho

Uma família de instâncias define o equilíbrio entre processamento, memória, armazenamento e aceleradores. Seu tamanho determina quanto desses recursos você recebe. Escolha a família conforme a principal necessidade da carga de trabalho e depois escolha um tamanho que atenda a todos os seus requisitos.

Reconheça as principais famílias
FamíliaPrincipal vantagemTrabalho típicoExemplos
Uso geralEquilíbrio entre CPU e memóriaServidores web e de aplicaçãoAWS M, Azure D, Google E2/N2
Otimizada para computaçãoCapacidade de processamentoCodificação, tarefas em lote, modelagemAWS C, Azure F, Google C2/H3
Otimizada para memóriaMais memória por vCPUCaches, bancos de dados em memóriaAWS R/X, Azure E/M, Google M
Otimizada para armazenamentoLeituras e gravações locais rápidasBancos de dados com alta E/SAWS I, Azure L, Google Z3
AceleradaGPUs ou outros aceleradoresTreinamento de modelos, renderizaçãoAWS P/G, Azure N, Google A/G

Armazenamento local rápido não torna os dados persistentes. Uma carga de trabalho que usa instâncias otimizadas para armazenamento ainda precisa de um plano para dados que devem sobreviver à perda do host.

Leia o nome

Em m7g.large, m significa uso geral, 7 é a geração, g indica AWS Graviton e large é o tamanho. A mesma família cresce de 2 vCPUs e 8 GiB em large para 4 vCPUs e 16 GiB em xlarge, e depois para 8 vCPUs e 32 GiB em 2xlarge.

Em Standard_D4s_v5 do Azure, D é a família, 4 é a quantidade de vCPUs, s indica suporte a SSD premium e v5 é a versão. O e2-standard-4 do Google identifica a série E2, a proporção padrão de memória e 4 vCPUs. Uma vCPU muitas vezes é uma thread de hardware; no Graviton, é um núcleo inteiro. Não trate a vCPU de todos os provedores como um núcleo físico idêntico.

Analise uma escolha de dimensionamento

Uma aplicação interna de relatórios precisa de 2 vCPUs e 6 GiB no pico. Compare estes tamanhos da AWS:

  • c7g.large: 2 vCPUs e 4 GiB; a memória é insuficiente.
  • m7g.large: 2 vCPUs e 8 GiB; atende aos dois requisitos, com 2 GiB de sobra.
  • r7g.large: 2 vCPUs e 16 GiB; fornece muito mais memória do que essa aplicação precisa.

O tamanho de uso geral é um ponto de partida sensato. Sua memória por vCPU é 8÷2=4 GiB. As opções otimizadas para computação e para memória fornecem 2 e 8 GiB por vCPU, respectivamente. Os tipos E2 highcpu, standard e highmem de 4 vCPUs do Google também variam em memória: 4 GB, 16 GB e 32 GB.

Dimensionamento adequado significa medir o uso real e ajustar a escolha. Examine o uso de memória, disco e rede junto com o de CPU antes de reduzir o tamanho. O AWS Compute Optimizer, o Azure Advisor e as recomendações de tipos de máquina do Google podem ajudar. Alterar o tamanho de uma VM existente exige uma parada ou reinicialização, então planeje uma interrupção para uma aplicação em um único servidor.

Diferencie picos de interrupção

Os tipos de desempenho expansível AWS T, Azure B e Google E2 de núcleo compartilhado são adequados para cargas tranquilas com picos curtos. AWS T e Azure B acumulam créditos de CPU abaixo de um nível básico e os usam acima dele. Quando os créditos acabam, o Azure B e o AWS T no modo padrão retornam ao nível básico; os tipos AWS T atuais usam o modo ilimitado por padrão e podem cobrar pelo excedente de CPU.

VMs spot usam capacidade excedente que o provedor pode retomar com pouco aviso. Elas são adequadas para trabalho em lote que pode ser reiniciado e tem o progresso salvo. Um único banco de dados de produção é uma escolha inadequada. As VMs preemptíveis mais antigas do Google também têm duração máxima de 24 horas; esse limite não é a regra que define as VMs spot atuais.

Principais conclusões

  • Escolha a família pelo recurso escasso e depois verifique o tamanho completo.
  • Uma vCPU nem sempre é um núcleo físico inteiro.
  • Dimensione adequadamente com base no uso medido de CPU, memória, disco e rede.
  • A capacidade de desempenho expansível é adequada para picos breves; o uso contínuo de CPU pode ser limitado ou gerar custo adicional.
  • Cargas de trabalho spot precisam tolerar interrupções.
  • Alterar o tamanho de uma VM pode interromper sua aplicação.
2

Mantenha aplicações disponíveis e com respostas rápidas conforme a demanda muda

Uma aplicação precisa de capacidade suficiente para períodos de grande movimento e de cópias íntegras suficientes para resistir a falhas. Aprenda como alterar o tamanho de máquinas difere de alterar sua quantidade, por que o estado compartilhado importa e como zonas reduzem o risco de falha. Acompanhe o escalonamento automático desde um modelo até uma decisão de capacidade e veja como balanceadores de carga direcionam requisições a destinos íntegros enquanto outros sistemas cuidam do reparo.

2.1 Escale a capacidade e resista a falhas

Um serviço enfrenta dois problemas diferentes: a chegada de mais trabalho e a falha de equipamentos. O escalonamento altera a capacidade. A alta disponibilidade mantém o serviço utilizável quando componentes falham. Um projeto pode resolver um problema e deixar o outro sem solução.

Altere o tamanho ou a quantidade

O escalonamento vertical altera o tamanho de uma máquina: por exemplo, 2 vCPUs e 8 GiB passam a 8 vCPUs e 32 GiB. O aumento vertical adiciona recursos; a redução vertical os remove. É uma forma direta de dar mais capacidade a uma aplicação existente, mas a máquina geralmente precisa reiniciar, o maior tamanho é limitado e a máquina continua sendo um ponto de falha.

O escalonamento horizontal altera o número de cópias. Três servidores web podem se tornar nove e depois voltar a três. O aumento horizontal adiciona instâncias; a redução horizontal as remove. Um balanceador de carga distribui requisições web, enquanto processos em segundo plano podem receber tarefas de uma fila compartilhada. A aplicação deve permitir que várias cópias trabalhem juntas de forma útil. Um banco de dados compartilhado ainda pode limitar a vazão ou falhar mesmo quando muitos servidores web continuam íntegros.

AlteraçãoDireçãoO que muda?
Aumentar/reduzir o tamanhoVerticalRecursos em cada máquina
Aumentar/reduzir a quantidadeHorizontalNúmero de máquinas

Escalabilidade é a capacidade de lidar com mais trabalho por meio da adição de recursos. Elasticidade é o aumento e a redução automáticos e oportunos conforme a demanda muda. Uma loja que passa automaticamente de 4 servidores à noite para 20 durante uma promoção é elástica. Um conjunto fixo com capacidade excedente pode ter alta disponibilidade sem ser elástico.

Torne as cópias substituíveis

Uma instância de aplicação sem estado não mantém dados exclusivos necessários para uma requisição posterior. Armazene carrinhos, sessões e arquivos enviados em um banco de dados, cache ou serviço de armazenamento compartilhado. Assim, uma requisição pode chegar a qualquer instância, e a redução horizontal pode remover uma delas sem perder os carrinhos dos usuários.

Por exemplo, um carrinho mantido apenas na memória de um servidor web desaparece quando esse servidor é encerrado. Manter o usuário nesse servidor com afinidade de sessão não protege o carrinho contra a falha do servidor. Mover o carrinho para armazenamento compartilhado muda o que pode ser removido com segurança.

Mantenha capacidade suficiente após a falha de uma zona

Zonas de disponibilidade são locais separados dentro de uma região com energia, refrigeração e rede independentes. Distribuir instâncias entre zonas protege contra a falha de uma zona inteira. Várias instâncias em uma única zona ainda compartilham o risco dessa zona.

Suponha que uma aplicação deva manter a capacidade de 4 instâncias após perder qualquer uma de 3 zonas. Cada uma das duas zonas restantes deve fornecer 2 instâncias:

4÷2=2

Execute 2 instâncias em cada zona, totalizando 6. A perda de qualquer zona deixa 4. Essa é uma capacidade excedente para falhas, não um aumento da necessidade normal da carga de trabalho. Um balanceador de carga direciona as requisições às instâncias restantes; qualquer serviço de dados compartilhado também precisa de disponibilidade adequada.

Reconheça os conjuntos de disponibilidade do Azure

Um conjunto de disponibilidade distribui VMs dentro de um centro de dados entre domínios de falha de hardware e domínios de atualização de manutenção. Um domínio de falha compartilha hardware como energia e comutadores de rede. Os conjuntos aceitam até 3 domínios de falha; os domínios de atualização são 5 por padrão e podem chegar a 20. Eles reduzem os riscos de falha de rack e reinicialização planejada. As zonas tratam do risco maior de um centro de dados inteiro ficar indisponível.

Principais conclusões

  • O escalonamento vertical altera o tamanho; o horizontal altera a quantidade de instâncias.
  • A elasticidade acrescenta aumento e redução automáticos à escalabilidade.
  • O estado compartilhado permite remover instâncias de aplicação com segurança.
  • Planeje capacidade para as zonas restantes, não apenas para a operação normal.
  • Conjuntos de disponibilidade distribuem o risco de falhas de rack e manutenção dentro de um centro de dados.

2.2 Acompanhe uma decisão de escalonamento automático

O escalonamento automático adiciona e remove instâncias conforme a demanda muda. O Amazon EC2 Auto Scaling usa grupos Auto Scaling, o Azure usa Virtual Machine Scale Sets com regras de escalonamento automático, e o Google usa grupos de instâncias gerenciadas com um escalonador automático.

Comece com um modelo reproduzível

Uma nova instância precisa da mesma imagem, tamanho, configurações de rede e instruções de inicialização que as demais. A AWS usa um modelo de execução, o Azure usa um modelo de VM do conjunto de dimensionamento e o Google usa um modelo de instância. Uma alteração feita manualmente dentro de uma VM em execução desaparecerá quando ela for substituída, a menos que esteja incluída na configuração reproduzível.

O grupo tem três configurações de capacidade:

  • Mínima: o piso que o grupo mantém.
  • Desejada: a quantidade que ele busca executar no momento.
  • Máxima: o teto que ele não deve ultrapassar.

Com mínimo 2, desejado 4 e máximo 10, o grupo busca manter 4 instâncias. As políticas podem alterar a capacidade desejada entre 2 e 10. O máximo permite crescer; defini-lo como 10 não executa nem cobra 10 VMs por si só. Ele limita a quantidade de instâncias, não todas as cobranças da aplicação.

Escolha o que provoca uma mudança

O acompanhamento de meta tenta manter uma métrica próxima de uma meta, como uso médio de CPU de 50%. O escalonamento por etapas ou por regras altera a capacidade quando um limite é ultrapassado, como adicionar 2 instâncias depois que a CPU permanece acima de 70% por 5 minutos. O escalonamento programado define a capacidade em horários conhecidos. O escalonamento preditivo prevê a demanda com base em padrões anteriores e prepara a capacidade com antecedência.

Um pico diário às 08:00 favorece a preparação de instâncias antes das 08:00. Esperar por um alerta de CPU alta significa que o pico já chegou enquanto as VMs adicionais ainda estão iniciando.

Calcule a capacidade para acompanhamento de meta

Quatro instâncias idênticas têm média de 80% de CPU, e a meta é 50%. Para uma estimativa simplificada com carga constante, primeiro some o trabalho em unidades de pontos percentuais de CPU por instância:

4×80=320

Divida pela meta por instância:

320÷50=6,4

Arredonde para cima para 7 instâncias, pois 6 deixariam a média acima da meta. Com 7, a estimativa é 320÷7≈45,7%. Se o máximo do grupo for 6, ele para nesse número e a média fica em cerca de 53,3%.

Diferencie prontidão de recuperação de falhas

Uma VM precisa de tempo para inicializar, executar suas tarefas de inicialização e passar nas verificações de integridade. O aquecimento impede que medições incompletas de uma nova instância distorçam uma decisão de escalonamento. Um período de estabilização limita mudanças rápidas de um lado para outro.

Grupos de escalonamento também podem substituir VMs com falha para restaurar a capacidade desejada. Verificações no nível da aplicação e ações de reparo precisam ser configuradas: uma VM pode estar em execução enquanto sua aplicação web está com defeito. No Azure, uma ação de reparo pode reiniciar, reinstalar a imagem ou substituir; o Google chama a recuperação de reparo automático. Um balanceador de carga pode detectar uma aplicação com defeito, mas o grupo de escalonamento precisa ser configurado para usar essa informação no reparo.

A redução horizontal remove instâncias. Mantenha registros em um local central e dados duradouros fora dos arquivos locais das instâncias para que a remoção de uma cópia íntegra não elimine informações exclusivas.

Principais conclusões

  • Um modelo torna reproduzíveis as instâncias de substituição.
  • Mínimo, desejado e máximo significam piso, objetivo atual e teto.
  • O acompanhamento de meta responde a uma métrica; programações preparam para picos conhecidos.
  • Arredonde estimativas de capacidade para cima e depois aplique o máximo.
  • Atrasos de prontidão e verificações de integridade da aplicação afetam a recuperação.
  • A redução horizontal exige instâncias substituíveis e dados duradouros externos.

2.3 Distribua requisições entre servidores íntegros

Um balanceador de carga fornece aos clientes um endereço de entrada e encaminha o tráfego recebido para servidores íntegros. A AWS chama o conjunto de servidores de grupo de destino; o Azure usa pool de back-end; o Google usa serviço de back-end. Os clientes não precisam de um novo endereço sempre que o conjunto muda.

Roteie o tráfego e detecte falhas

Uma verificação de integridade testa um destino repetidamente, por exemplo, solicitando /health a cada 10 segundos. Depois de um número suficiente de falhas nas verificações, o destino é marcado como sem integridade e não recebe novo tráfego até passar novamente. A detecção leva tempo porque as verificações ocorrem em intervalos.

Roteamento e reparo são tarefas diferentes. O balanceador de carga deixa de enviar novas requisições a um destino com falha. Um grupo de escalonamento ou operador repara ou substitui esse servidor. Adicionar um balanceador de carga, por si só, não acrescenta capacidade de processamento à aplicação.

A distribuição circular seleciona os destinos íntegros em sequência. O método de menor número de conexões ou de menor número de requisições pendentes favorece o destino com menos trabalho em andamento. O roteamento baseado em hash associa detalhes da conexão, incluindo endereços e portas, a um destino. Uma conexão permanece no mesmo destino, mas uma nova conexão do mesmo usuário pode ir para outro.

A afinidade de sessão mantém as requisições de um usuário em um servidor. Ela pode ajudar uma aplicação com sessões locais, mas torna o tráfego menos uniforme e deixa as sessões expostas à falha desse servidor. O armazenamento compartilhado de sessões permite que outros servidores íntegros continuem o trabalho do usuário.

Calcule o efeito da perda de um servidor

Três servidores íntegros dividem igualmente 900 requisições por minuto. Cada um atende:

900÷3=300

Um servidor falha nas verificações de integridade. O mesmo trabalho agora vai para dois:

900÷2=450

Se cada um puder atender a apenas 400 requisições por minuto, o roteamento para servidores íntegros ainda deixa uma sobrecarga. O conjunto precisa de capacidade excedente ou mais instâncias. O escalonamento automático altera a capacidade; o balanceamento de carga a distribui.

Escolha a camada adequada ao roteamento
TipoO que entendeÚtil para
Camada 4Conexões TCP/UDP compatíveis, endereços e portasRotear conexões de rede sem regras HTTP
Camada 7Hosts, caminhos e requisições HTTP/HTTPSEnviar /api/ e /images/ a conjuntos diferentes

Um serviço de camada 7 também pode fazer a terminação TLS, descriptografando HTTPS no ponto de entrada, e funcionar com um firewall de aplicações web. Um serviço de camada 4 não examina um caminho HTTP para escolher seu back-end. Verifique quais protocolos de transporte cada produto oferece.

O AWS Elastic Load Balancing oferece Application Load Balancers na camada 7, Network Load Balancers na camada 4 e Gateway Load Balancers para dispositivos de rede, dentro de uma região. O Azure Load Balancer é de camada 4; o Application Gateway é regional de camada 7; o Front Door fornece um ponto de entrada global de camada 7. O Google Cloud Load Balancing oferece Application e Network Load Balancers em versões regionais e globais.

Una roteamento e escalonamento

Com a integração configurada, novas instâncias do grupo são registradas como destinos e recebem tráfego assim que estão íntegras. Durante a remoção, a drenagem de conexões permite que requisições ativas terminem antes de um destino desaparecer. Uma implantação em várias zonas roteia para zonas íntegras durante uma interrupção, desde que as zonas restantes tenham capacidade suficiente. Até dois servidores se beneficiam desse ponto de entrada compartilhado e do roteamento baseado em integridade.

Principais conclusões

  • Verificações de integridade controlam o roteamento; o reparo exige um grupo de escalonamento ou operador.
  • O balanceamento de carga distribui a capacidade existente e não pode criar mais.
  • A camada 7 pode rotear por host ou caminho HTTP; a camada 4 roteia conexões.
  • A drenagem de conexões dá tempo para as requisições ativas terminarem.
  • Os servidores íntegros restantes ainda precisam de capacidade suficiente para suportar a carga.
3

Execute aplicações em contêineres

Contêineres mantêm uma aplicação e suas dependências juntas para que o mesmo pacote possa passar dos testes para a produção. Aprenda o que eles compartilham com seu host e o que isso significa para velocidade, isolamento e dados duradouros. Depois, compare a orquestração do Kubernetes com serviços que ocultam as máquinas host, usando a capacidade dos pods, as habilidades da equipe e o tráfego em horários tranquilos para entender as escolhas.

3.1 Empacote uma aplicação em um contêiner

Um contêiner executa uma aplicação e suas dependências como um processo isolado em um host. Empacotar suas bibliotecas e seu ambiente de execução permite reproduzir em produção o software testado.

Imagem, registro e cópia em execução

Uma imagem é o modelo somente de leitura; um registro de imagens armazena e distribui imagens; um contêiner é uma cópia em execução. Amazon ECR, Azure Container Registry e Google Artifact Registry fornecem registros de imagens. A Open Container Initiative define formatos padrão de imagem; o Docker ajudou a popularizar seu uso.

Por exemplo, uma equipe empacota sua API de pedidos em Python como orders-api:1.4, testa-a, envia-a a um registro de imagens e inicia 3 contêineres de produção a partir dessa imagem. As configurações do ambiente e o acesso a serviços externos ainda precisam ser configurados.

Compartilhe um kernel em vez de inicializar um sistema operacional convidado

Cada VM contém um sistema operacional convidado completo atrás de um hipervisor. Contêineres compartilham o kernel do host, o núcleo do sistema operacional que gerencia recursos e processos. Eles têm menos software para transportar e iniciar: imagens geralmente têm dezenas ou centenas de megabytes, e a inicialização leva segundos ou menos. Imagens de VM normalmente têm gigabytes e inicializam em minutos. Assim, um host pode executar mais contêineres do que VMs completas.

O compartilhamento também afeta o isolamento. Uma falha no kernel do host pode afetar vários contêineres, enquanto kernels convidados separados dão às VMs uma barreira mais forte. Contêineres Linux precisam de um kernel Linux; contêineres Windows precisam do Windows. A imagem também deve ser compatível com a arquitetura do processador, como x86 ou Arm. Contêineres muitas vezes são executados em VMs na nuvem.

Substitua o software e preserve os dados

Atualize um contêiner criando uma imagem corrigida e substituindo as cópias antigas. Uma correção manual desaparece na substituição e deixa as outras réplicas inalteradas.

O mesmo vale para arquivos criados durante a execução na camada gravável. Uma fatura gerada ali deve ser salva em um volume persistente ou serviço de armazenamento antes da substituição. O registro de imagens preserva pacotes de aplicações, não documentos criados por contêineres em execução.

Separe serviços quando isso ajudar

Um monólito é implantado como uma unidade. Microsserviços dividem uma aplicação em serviços conectados pela rede que são implantados e escalonados separadamente. Uma loja pode adicionar contêineres do serviço de pagamentos sem adicionar cópias do serviço de catálogo.

Um orquestrador distribui contêineres entre hosts, reinicia cópias com falha, ajusta sua quantidade, implanta versões e conecta serviços. O Kubernetes faz isso, assim como serviços gerenciados de contêineres mais simples. Contêineres não exigem Kubernetes.

Principais conclusões

  • Uma imagem é um modelo, um registro de imagens a armazena e um contêiner a executa.
  • Contêineres compartilham o kernel de um host; VMs têm seus próprios kernels convidados.
  • A portabilidade de imagens exige sistemas operacionais e processadores compatíveis.
  • Substitua contêineres por novas imagens e mantenha dados duradouros externamente.
  • Microsserviços podem ser implantados e escalonados separadamente.
  • A orquestração coordena contêineres entre hosts.

3.2 Mantenha cargas de trabalho em contêineres funcionando com Kubernetes

O Kubernetes implanta e gerencia contêineres em um grupo de máquinas chamado cluster. É de código aberto, surgiu no Google e é mantido pela Cloud Native Computing Foundation. A mesma plataforma pode funcionar em nuvens e centros de dados privados.

Entenda as partes do cluster

O plano de controle armazena a configuração, programa o trabalho e coordena o cluster. Os nós de trabalho, geralmente VMs, fornecem o processamento e a memória que os contêineres consomem.

Um pod é a menor unidade programada pelo Kubernetes. Ele contém um ou mais contêineres que compartilham um endereço de rede e permanecem juntos em um nó. Um pod não é uma VM separada. Vários pods podem compartilhar o mesmo nó de trabalho se suas necessidades de recursos couberem nele.

Você declara um estado desejado: por exemplo, 3 réplicas de orders-api:1.4. O Kubernetes trabalha para manter 3 pods em execução. Quando um pod falha, ele cria um substituto; após a falha de um nó, pods substitutos podem ser executados em nós restantes com capacidade disponível. Um Service do Kubernetes fornece um nome e um endereço estáveis para acessar os pods mesmo quando seus endereços individuais mudam.

Escalone pods e máquinas separadamente

Um escalonador horizontal automático de pods (HPA) altera a quantidade de pods usando métricas como demanda de CPU. Um escalonador automático de cluster altera a capacidade dos nós quando os pods não cabem ou os nós se tornam desnecessários. Adicionar pods sem espaço para executá-los cria trabalho pendente, não mais capacidade de processamento.

Suponha que cada pod solicite 0,5 vCPU e que cada nó tenha 2 vCPUs disponíveis para pods. Ignore outros limites de recursos neste exemplo. Um nó pode comportar:

2÷0,5=4 pods

Se o HPA aumentar a quantidade desejada para 10 pods, dois nós comportam apenas 8. O necessário é:

10÷4=2,5 noˊs

Arredonde para cima para 3 nós. O terceiro nó fornece espaço para os últimos 2 pods. Use a capacidade disponível para pods, pois o sistema operacional do nó e os componentes do Kubernetes também precisam de recursos. Na programação real, memória e regras de alocação também importam, além da CPU.

Divida as responsabilidades de gerenciamento

Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) e Google Kubernetes Engine (GKE) executam planos de controle gerenciados. O provedor mantém esse plano de controle, incluindo sua disponibilidade e atualizações. Você gerencia imagens, configurações da aplicação, acesso e solicitações de recursos das cargas de trabalho. Em muitos modos, você também gerencia as escolhas e atualizações dos nós de trabalho. As taxas do cluster podem ser separadas das cobranças dos nós.

O GKE Standard deixa as escolhas dos nós com você e cobra pelas VMs dos nós. O GKE Autopilot provisiona e gerencia os nós, geralmente cobrando pelos recursos solicitados pelos pods. O EKS pode executar pods elegíveis no AWS Fargate para que você não gerencie as VMs dos nós. Esses modos reduzem o trabalho operacional, mas limitam algumas escolhas relacionadas ao host.

Decida se a complexidade ajuda

O Kubernetes é adequado para muitos serviços implantados de forma independente e para equipes que precisam de uma plataforma comum entre provedores. Suas ferramentas e definições de cargas de trabalho melhoram a portabilidade, embora bancos de dados em nuvem, sistemas de identidade e redes conectados ainda possam exigir alterações.

Para uma aplicação web simples, uma plataforma de hospedagem ou um serviço de contêineres sem servidor pode exigir menos trabalho. O Kubernetes gerenciado não corrige um erro na sua imagem nem escolhe a solicitação de memória adequada para você. Se uma aplicação ficar sem memória repetidamente, a equipe deverá diagnosticar a aplicação e suas configurações mesmo quando o plano de controle for totalmente gerenciado.

Principais conclusões

  • O plano de controle coordena; os nós de trabalho executam pods.
  • Um pod é programado como uma unidade e pode conter mais de um contêiner.
  • O estado desejado orienta a substituição de pods com falha.
  • O escalonamento de pods e o de nós resolvem problemas diferentes de capacidade.
  • Planos de controle gerenciados deixam a responsabilidade pela aplicação com a equipe.
  • A portabilidade do Kubernetes deve ser avaliada junto com sua complexidade operacional.

3.3 Execute contêineres com menos trabalho com servidores

Serviços de contêineres sem servidor executam suas imagens em hosts gerenciados pelo provedor. Você ainda seleciona recursos, mantém a imagem e configura a aplicação. O escalonamento e a cobrança dependem do serviço.

Separe a orquestração da computação

O Amazon ECS orquestra contêineres como tarefas. Um serviço ECS mantém uma quantidade desejada de tarefas, opcionalmente atrás de um balanceador de carga. As tarefas são executadas em hosts EC2 gerenciados por você ou na computação do Fargate.

O Fargate também aceita pods elegíveis do EKS. Você escolhe as vCPUs e a memória da tarefa ou do pod e paga enquanto esses recursos estão em execução; você não seleciona, atualiza nem escalona os hosts EC2 subjacentes. O escalonamento automático de serviços ECS usa políticas configuradas por você. O Fargate fornece computação, não a quantidade desejada de tarefas da aplicação. O ECS no EC2 mantém mais controle sobre o host e a família de instâncias, com mais trabalho de gerenciamento.

Compare os serviços do Azure e do Google

O Azure Container Instances (ACI) inicia um contêiner ou um pequeno grupo sem um cluster e cobra por segundo. É adequado para testes e tarefas simples com duração limitada, mas não tem escalonamento automático integrado.

O Azure Container Apps oculta sua plataforma Kubernetes subjacente. Regras configuradas escalonam aplicações em contêineres conforme o tráfego HTTP ou eventos, inclusive reduzindo a zero para cargas de trabalho adequadas.

O Google Cloud Run oferece serviços para requisições recebidas e tarefas executadas até a conclusão. Os serviços podem crescer a partir de zero e diminuir novamente. A cobrança de computação baseada em requisições cobre o processamento de requisições e a inicialização e o desligamento. Sem instâncias mínimas e sem instâncias em execução, a computação ociosa não custa nada; bancos de dados e imagens armazenadas ainda podem gerar cobranças. O Cloud Run também hospeda Cloud Run functions, que partem do código da função em vez de uma imagem de aplicação fornecida pelo cliente.

Equilibre economia em períodos ociosos e atraso de inicialização

Uma API interna de reservas é muito usada das 08:00 às 18:00 em dias úteis: 10 horas em 5 dias, ou 50 das 168 horas da semana. Também chegam requisições ocasionais à noite. O Cloud Run ou o Container Apps podem executar várias cópias no pico e chegar a zero entre requisições durante períodos tranquilos.

Uma requisição após um período ocioso pode esperar por uma inicialização a frio. Manter uma instância mínima pronta reduz o atraso dentro da capacidade dela e acrescenta custo contínuo. Um pico acima dessa capacidade ainda pode iniciar instâncias adicionais a frio.

Escolha o controle de host necessário

Esses serviços restringem o acesso ao host e impõem limites de recursos e duração. Você não pode instalar agentes no host nem alterar seu kernel. VMs ou nós adequados do Kubernetes atendem a essas necessidades. Para APIs padrão em contêineres, serviços mais simples podem evitar o trabalho de operar o Kubernetes; o ACI é uma opção direta para um grupo simples de contêineres.

Principais conclusões

  • O Fargate fornece computação; ECS ou EKS orquestra as cargas de trabalho.
  • O ACI não tem escalonamento automático integrado.
  • O Container Apps e o Cloud Run podem escalonar serviços adequados a zero.
  • Manter um mínimo de instâncias prontas troca custo contínuo por menos atrasos de inicialização após períodos ociosos.
  • Em contêineres sem servidor, imagens, configurações da aplicação e limites de recursos ficam sob sua responsabilidade.
4

Desenvolva soluções com funções sem servidor e plataformas de hospedagem de aplicações

Funções executam pequenos trechos de código quando eventos chegam; plataformas de hospedagem executam aplicações web completas com ferramentas de implantação e gerenciamento. Aprenda como gatilhos, estado, limites de duração e inicializações a frio influenciam cargas de trabalho com funções e calcule uma cobrança ilustrativa por uso. Compare as principais plataformas de hospedagem, incluindo a infraestrutura mantida pelo provedor e as configurações e custos que continuam sob sua responsabilidade.

4.1 Execute tarefas curtas quando eventos chegam

Uma função sem servidor é um código executado quando um evento correspondente chega. O provedor gerencia os servidores e o ambiente de execução gerenciado. AWS Lambda, Azure Functions e Google Cloud Run functions oferecem esse modelo de função como serviço (FaaS).

Relacione um gatilho a uma invocação

Um gatilho inicia uma execução, chamada invocação. Gatilhos incluem requisições HTTP, arquivos enviados, mensagens de fila, alterações em bancos de dados e temporizadores. O envio de uma foto pode acionar uma função que cria uma miniatura de 200 pixels e a salva no armazenamento. Sem envios, uma implantação sob demanda pode não ter computação de função em execução.

O provedor escalona a execução conforme os eventos chegam, dentro dos limites de concorrência e do serviço. Muitas funções simultâneas podem abrir muitas conexões de banco de dados. A camada de funções pode ter espaço para escalonar mesmo quando o banco de dados não tem. Limite a concorrência ao que os sistemas conectados podem suportar.

Funções são sem estado entre invocações. Uma invocação posterior pode usar um novo ambiente, portanto não pode depender da memória ou dos arquivos temporários de uma chamada anterior. Armazene contadores, sessões e resultados duradouros em um banco de dados, cache ou armazenamento de objetos. Um ambiente já pronto pode ser reutilizado, mas essa reutilização não é uma garantia de persistência.

Calcule o uso para cobrança por consumo

A cobrança padrão sob demanda do Lambda combina a quantidade de invocações e GB-segundos (GB-s): memória alocada em GB multiplicada pelos segundos de execução. Para um cálculo ilustrativo, suponha que cada uma de 3.000.000 de invocações seja executada por 0,2 segundo com 0,5 GB de memória. Ignore franquias gratuitas e todos os outros serviços.

3.000.000×0,2=600.000 segundos 600.000×0,5=300.000 GB-s

A preços hipotéticos de R$ 0,0000167 por GB-s e R$ 0,20 por milhão de requisições, a computação custa R$ 5,01 e as requisições custam R$ 0,60, totalizando R$ 5,61. Esses preços são hipotéticos para aprender o modelo. O Cloud Run functions também mede a CPU; planos do Azure podem cobrar por instâncias prontas ou alocadas.

Com 100.000.000 de invocações iguais nos demais aspectos, o uso é de 10.000.000 GB-s: R$ 167 pela computação mais R$ 20 pelas requisições, nessas tarifas hipotéticas. Uma VM com preço hipotético de R$ 0,04 por hora custa R$ 29,20 por 730 horas, mas uma comparação justa também verifica se ela pode processar o mesmo trabalho e inclui seu esforço operacional. Demanda com picos favorece evitar capacidade ociosa; carga constante pode favorecer computação sempre ativa.

Verifique limites de execução e atraso de inicialização

A computação padrão do Lambda permite no máximo 15 minutos por invocação e até 10.240 MB de memória. Uma conversão de 40 minutos não cabe nessa invocação. Uma tarefa em contêiner, uma VM ou etapas mais curtas podem atender à necessidade; as regras de tempo limite diferem para outros planos e modos de computação.

Uma inicialização a frio ocorre quando um novo ambiente de execução precisa ser preparado, após um período ocioso ou durante um aumento horizontal. Ambientes já prontos e reutilizados iniciam mais rapidamente. A concorrência provisionada do Lambda, instâncias sempre prontas no Azure Premium ou Flex Consumption e instâncias mínimas do Cloud Run reduzem atrasos de inicialização por um custo adicional.

O provedor mantém os servidores e o ambiente de execução gerenciado. Você ainda corrige seu código e as bibliotecas incluídas, protege segredos, configura permissões e protege dados. A computação sem servidor elimina a administração de servidores, não a responsabilidade pela aplicação.

Principais conclusões

  • Um gatilho provoca uma invocação de função.
  • Mantenha o estado duradouro fora da memória e dos arquivos temporários da função.
  • GB-segundos multiplicam a memória alocada pelo tempo de execução.
  • As regras de cobrança e tempo limite pertencem a um serviço e plano específicos.
  • Inicializações a frio podem ocorrer após períodos ociosos e durante aumentos horizontais.
  • A concorrência deve ser adequada tanto aos sistemas posteriores quanto ao serviço de funções.
  • Você mantém as responsabilidades por código, bibliotecas, dados e acesso.

4.2 Implante uma aplicação web em uma plataforma de hospedagem

Uma plataforma de hospedagem de aplicações recebe seu código ou imagem de contêiner e fornece a infraestrutura para executá-lo. É uma plataforma como serviço (PaaS): implantação, monitoramento de integridade, operação de servidores e escalonamento são fornecidos pela plataforma, enquanto você desenvolve a aplicação.

Compare as principais plataformas

O AWS Elastic Beanstalk cria recursos comuns da AWS para sua aplicação, geralmente instâncias EC2 em um grupo Auto Scaling atrás de um Elastic Load Balancer. Ele cuida das implantações e do monitoramento de integridade. O próprio Beanstalk não tem taxa adicional de serviço; você paga pelos recursos que ele cria. Esses recursos continuam visíveis na sua conta, e você pode personalizar sua configuração.

O Azure App Service hospeda aplicações web, APIs e back-ends móveis a partir de código ou contêineres. Um plano do App Service define a região, o tamanho e a quantidade de instâncias. As aplicações desse plano compartilham essas instâncias. Camadas dedicadas cobram pelo plano mesmo quando as aplicações estão com pouco uso. Recursos como escalonamento automático e slots de implantação dependem da camada escolhida.

O Google App Engine tem ambientes padrão e flexível. O padrão usa ambientes de execução compatíveis em uma área isolada e pode escalonar a zero com escalonamento automático adequado. O flexível executa contêineres em VMs do Compute Engine, permite mais personalização e mantém pelo menos uma instância em execução. O Cloud Run é outra opção para hospedar uma aplicação já empacotada em um contêiner.

PlataformaRelação com a infraestruturaLembrete de custo
Elastic BeanstalkCria recursos visíveis da AWSPague por esses recursos
App ServiceAplicações compartilham um plano de hospedagemPlanos dedicados são cobrados enquanto ociosos
App EngineAmbiente padrão ou flexívelO flexível mantém uma instância mínima
Lance uma nova versão com segurança

Uma equipe de loja com duas pessoas usa uma camada do App Service com slots de implantação. Ela executa 2 instâncias e implanta uma nova versão em um slot de homologação, um local separado para testar a versão antes que os clientes a usem. Depois dos testes, ela troca a homologação e a produção. A versão antiga continua disponível no outro slot para uma possível reversão.

Durante uma promoção, a regra de escalonamento automático configurada aumenta o plano para 5 instâncias depois que a média de CPU permanece acima de 70%, e depois retorna a 2 conforme a demanda diminui. A plataforma executa o escalonamento, mas a equipe ainda escolhe o plano, as regras e os limites. Ela nunca instala o sistema operacional do host nem o servidor web.

Mantenha as responsabilidades adequadas

Você mantém código, bibliotecas incluídas, configurações, segredos, dados e acesso em todas as plataformas. O App Service e o App Engine mantêm seu sistema operacional de host e ambiente de execução gerenciado. O Beanstalk permite mais personalização do EC2; a AWS publica atualizações de plataforma, e você as aplica ou ativa as atualizações gerenciadas de plataforma. O software adicional que você instalar também precisa de atenção.

Uma plataforma é diferente de SaaS. Com PaaS, você implanta a aplicação que desenvolve; com SaaS, você usa uma aplicação pronta de outra pessoa, como um pacote de e-mail. Configurações específicas da plataforma e integrações com serviços também podem dificultar uma mudança posterior de provedor.

Atenda a necessidades mais simples de hospedagem

O Amazon Lightsail reúne um servidor virtual privado, armazenamento e transferência de dados em um pacote mensal previsível. Ele é adequado para sites pequenos, mas ainda envolve responsabilidades de VM. Um site estático é composto de arquivos como HTML, CSS, JavaScript e imagens. AWS Amplify Hosting, Azure Static Web Apps e Firebase Hosting podem distribuir esses arquivos globalmente sem que você precise manter um servidor web. Uma aplicação que exige controle total do sistema operacional do host deve ficar em VMs.

Principais conclusões

  • PaaS hospeda a aplicação que você desenvolve; SaaS fornece uma aplicação pronta.
  • O Beanstalk cria recursos cobrados da AWS e exige uma escolha sobre atualizações de plataforma.
  • Aplicações do App Service compartilham um plano; a capacidade dedicada custa dinheiro enquanto está ociosa.
  • Os ambientes padrão e flexível do App Engine têm comportamentos diferentes de capacidade mínima.
  • Slots de implantação separam o teste de uma versão de sua disponibilização aos usuários.
5

Escolha a opção de computação adequada para uma carga de trabalho

A escolha útil de computação é a que se adequa ao trabalho e à equipe que o executa. Compare controle, manutenção, inicialização, duração, cobrança e portabilidade entre VMs, contêineres, plataformas e funções. Depois, transforme requisitos de negócios em uma recomendação justificada, verificando requisitos obrigatórios antes do preço e observando como uma migração pode progredir da rehospedagem para a modernização.

5.1 Compare controle, esforço e custo

Compare modelos de computação para a mesma carga de trabalho. Verifique controle, esforço operacional, inicialização, cobrança, limites e portabilidade.

Quem mantém cada parte?
ModeloO provedor mantémO cliente mantém
VMsHardware e hipervisorSistema operacional convidado, ambiente de execução e aplicação
Kubernetes gerenciadoPlano de controleImagens, cargas de trabalho e, muitas vezes, nós
Contêineres sem servidorHosts e sistema operacional do hostImagem, configurações da aplicação e limites
Plataformas de hospedagemPlataforma de implantação e grande parte do hostAplicação, configuração e escolhas de plano
FunçõesServidores e ambiente de execução gerenciadoCódigo, dependências e permissões

Dados e acesso continuam sob responsabilidade do cliente em todos os casos. O Elastic Beanstalk também exige a escolha de como as atualizações de plataforma serão aplicadas.

Compare tráfego e capacidade utilizável

Uma VM geralmente precisa de um minuto ou mais para inicializar e passar nas verificações; um contêiner costuma iniciar em segundos; uma função em ambiente pronto pode começar a trabalhar em milissegundos. Um novo ambiente pode acrescentar atraso de inicialização a frio. Capacidade mantida pronta reduz esse atraso por um custo contínuo.

Um diretório com pouco uso durante a noite pode se beneficiar do escalonamento a zero; demanda constante pode favorecer computação alocada. Compare vazão, memória e concorrência equivalentes antes dos totais mensais: uma VM barata pode não atender ao mesmo trabalho que muitas invocações simultâneas de funções. Inclua também o esforço operacional.

VMs e planos dedicados de hospedagem cobram pelo tempo alocado, ocupados ou ociosos. A cobrança padrão sob demanda do Lambda combina requisições e GB-segundos; outros planos de funções usam medições diferentes. Ter zero instâncias elimina cobranças de computação ociosa apenas quando não há um mínimo pago. Armazenamento e bancos de dados ainda podem ser cobrados.

Verifique limites e transferência entre plataformas

Processos de longa duração são adequados para VMs ou contêineres apropriados. Uma invocação de computação padrão do Lambda é limitada a 15 minutos, portanto uma tarefa ininterrupta de duas horas precisa de outra opção de execução compatível. Funções não podem depender da sobrevivência do estado local entre chamadas; contêineres descartáveis e VMs de grupos de escalonamento também precisam de dados duradouros externos.

Controle total do sistema operacional convidado, alterações de kernel e software licenciado especializado favorecem VMs. Muitos serviços implantados de forma independente podem justificar o Kubernetes. Aplicações web padrão muitas vezes são adequadas para plataformas de hospedagem; tarefas curtas por eventos são adequadas para funções.

Imagens de contêiner são transferidas entre hosts compatíveis, e o Kubernetes oferece ferramentas comuns de implantação entre nuvens. Bancos de dados, identidade e rede ainda podem precisar de alterações. A migração de VMs depende dos formatos e ferramentas do provedor; funções e plataformas estão mais vinculadas às configurações e aos gatilhos do provedor. Componentes diferentes podem usar modelos diferentes.

Principais conclusões

  • Mais controle do host traz mais responsabilidade por sua operação.
  • Compare custos para capacidade de carga de trabalho e tráfego equivalentes.
  • Inicializações a frio envolvem uma escolha entre latência e o custo de manter capacidade pronta.
  • A portabilidade inclui dependências além da imagem ou do arquivo de implantação.
  • Componentes diferentes podem usar modelos de computação diferentes.

5.2 Escolha a computação a partir de um requisito de negócios

Primeiro, verifique os requisitos que poderiam excluir uma opção. Depois, compare tráfego, custo e habilidades da equipe.

Encontre a restrição decisiva
  1. Verifique acesso ao sistema operacional convidado, software especial, hardware e licenciamento.
  2. Para trabalho curto acionado por eventos, verifique duração, estado e concorrência da função.
  3. Para aplicações em contêineres, compare o controle do Kubernetes com serviços gerenciados mais simples.
  4. Para aplicações web padrão implantadas como código, considere uma plataforma de hospedagem.
  5. Verifique atraso de inicialização, padrões de tráfego, limites de recursos e custo operacional total.
Associe os casos de negócios

Um fornecedor oferece suporte a uma aplicação de contabilidade apenas no Windows Server, com uma licença baseada em núcleos. VMs preservam esse ambiente; use um host dedicado se o licenciamento por núcleo físico exigir. Cópias em várias zonas precisam de um projeto compatível para a aplicação e os dados. A transferência praticamente sem alterações é a rehospedagem, ou lift and shift, e mantém a manutenção do sistema convidado.

Os envios de fotos aumentam de poucos à noite para milhares por minuto. Tarefas curtas e independentes de miniaturas são adequadas para funções acionadas por envios. Elas escalonam conforme as chegadas; verifique inicializações a frio, limites de duração e capacidade dos serviços posteriores.

Uma empresa de varejo tem 30 microsserviços, 6 equipes e um requisito de plataforma em duas nuvens. O Kubernetes gerenciado fornece ferramentas comuns de orquestração. Uma startup com 3 serviços e sem experiência em Kubernetes pode usar Cloud Run, Container Apps ou ECS com Fargate, mantendo as responsabilidades pela imagem e pela aplicação sem trabalho com hosts.

Uma agência desenvolve o site de venda de ingressos de um museu, mas não tem equipe de operações. Uma plataforma de hospedagem fornece ferramentas de implantação e escalonamento para os dias de abertura. O App Service e o App Engine mantêm os hosts; o Beanstalk exige uma escolha de atualização de plataforma, como atualizações gerenciadas.

Um relatório noturno de duas horas é adequado para uma tarefa em contêiner ou VM com limite de execução apropriado, não para uma única invocação de computação padrão do Lambda. A capacidade spot pode reduzir o custo se a tarefa salvar o progresso e for retomada após uma interrupção.

O treinamento em GPU durante vários dias precisa de VMs aceleradas ou nós adequados do Kubernetes com GPU. Pontos de verificação persistidos tornam a capacidade spot viável ao limitar a perda de progresso.

Explique uma escolha em etapas

Uma empresa pode primeiro rehospedar para deixar seu centro de dados rapidamente e depois modernizar componentes selecionados com contêineres, plataformas de hospedagem ou funções. A rehospedagem, por si só, mantém o modelo operacional antigo.

Por exemplo: “Use o Cloud Run porque a API já está em contêiner, o tráfego para à noite e a equipe não tem administrador de servidores; considere uma inicialização a frio após períodos ociosos.”

Principais conclusões

  • Verifique primeiro os requisitos obrigatórios de software, hardware e duração.
  • Ajuste a complexidade da plataforma de contêineres às habilidades da equipe e às necessidades de portabilidade.
  • Use capacidade spot apenas quando interrupção e recuperação forem aceitáveis.
  • A rehospedagem transfere uma aplicação praticamente sem alterações; a modernização muda como ela funciona.
  • Justifique a escolha com uma necessidade da carga de trabalho e sua principal contrapartida.

Exercícios resolvidos de Opções de computação em nuvem

5 Lições Interativas

1

Escolha uma VM e acompanhe seu ciclo de vida

13 passos
Inicie um servidor, diferencie imagem de capacidade e escolha um tamanho usando medições da carga de trabalho.
  1. 1
    IntroduçãoUm computador que você configura

    Uma VM na nuvem oferece um sistema operacional convidado para você configurar. Você escolhe seu software, capacidade, armazenamento e rede e depois mantém o sistema convidado. Acompanhe a inicialização de um servidor, verifique quais cobranças continuam após o desligamento e use as necessidades de recursos de uma aplicação de relatórios para escolher um tamanho.

  2. 2
    ExplicaçãoEscolha software e capacidade

    Uma imagem fornece o sistema operacional e o software pré-instalado. Um tamanho fornece vCPUs e memória.

    A AWS os chama de AMI e tipo de instância; o Azure usa imagem e tamanho de VM; o Google usa imagem e tipo de máquina. Escolher Linux não determina a quantidade de RAM.

  3. 3
    ExemploConecte a VM

    O servidor web de Frankfurt usa um disco de inicialização persistente de 30 GiB, uma sub-rede e regras de tráfego. HTTPS na porta 443 está aberto a usuários da internet; SSH na porta 22 é permitido somente a partir da rede do escritório.

    Essas são escolhas separadas: o disco armazena dados, a interface de rede conecta a VM e as regras de firewall controlam o tráfego. Um endereço IP público é opcional quando a aplicação pode ser acessada por outro ponto de entrada.

  4. 4
    Ideia-chaveAcompanhe um desligamento

    Um administrador do Azure desliga o sistema operacional convidado. O console exibe “Stopped”, então a VM ainda pode ter computação alocada e continuar gerando cobranças de computação.

    A desalocação muda o estado para “Stopped (deallocated)”. Isso libera a alocação de computação, mas um disco retido ou endereço IP público reservado pode continuar gerando cobranças. Excluir um recurso não exclui todos os recursos de apoio.

  5. 5
    DesafioVerifique o que é preservado

    Uma equipe armazena seus únicos registros de vendas no disco local temporário de uma VM e depois desaloca a VM. Que opção de armazenamento ela deveria ter escolhido?

    ---reveal---

    Os registros devem ficar em discos persistentes ou em um serviço de armazenamento. Um disco local temporário pode perder dados quando a VM é parada, movida ou desalocada. Ele é adequado para trabalho temporário descartável, não para a única cópia de registros comerciais duradouros.

  6. 6
    DicaDeixe clara a divisão das atualizações

    O provedor mantém o hipervisor e o host físico. O cliente aplica atualizações ao sistema operacional convidado, mantém a aplicação e controla o acesso por logon.

    Um host dedicado reserva um servidor físico, por exemplo, para licenciamento baseado em núcleos. Ele altera a alocação de hardware, não a responsabilidade pela aplicação.

  7. 7
    ExemploComece pelo recurso escasso

    Uma aplicação de relatórios precisa de 2 vCPUs e 6 GiB no pico. Compare CPU e memória juntas antes de escolher uma família.

    Uma VM otimizada para computação tem mais processamento por unidade de memória; uma otimizada para memória tem mais RAM por vCPU. Tipos de uso geral equilibram os dois. Tipos com GPU são adequados para trabalho acelerado, como treinamento de modelos, enquanto tipos otimizados para armazenamento atendem a altas taxas de leitura e gravação em disco local.

  8. 8
    ExemploElimine tamanhos que não atendem

    Cada uma das três opções tem 2 vCPUs. A c7g.large tem 4 GiB, a m7g.large tem 8 GiB e a r7g.large tem 16 GiB.

    A opção de 4 GiB não atende à necessidade de 6 GiB da aplicação. A de 8 GiB atende com 2 GiB de sobra. A de 16 GiB deixa 10 GiB além dessa necessidade. O tamanho de uso geral é um ponto de partida razoável para medir no uso real.

  9. 9
    DicaLeia o nome de um tamanho

    No Azure Standard_D4s_v5, D identifica a família, 4 a quantidade de vCPUs, s o suporte a SSD premium e v5 a versão.

    Na AWS, m7g.large usa um tamanho nomeado; no Google, e2-standard-4 termina com a quantidade de vCPUs. Leia a especificação completa antes de comparar recursos.

  10. 10
    ConexãoAvalie uma escolha baseada em créditos

    Uma VM de desenvolvimento com pouco uso tem picos breves acima de seu nível básico de CPU, então um tipo de desempenho expansível pode ser adequado. Uma simulação que mantém a CPU ocupada por horas é diferente.

    O AWS T no modo padrão e o Azure B gastam créditos de CPU acumulados e retornam ao nível básico quando os créditos acabam. O AWS T ilimitado pode continuar acima do nível básico com cobranças pelo excedente. Escolha considerando a carga de trabalho contínua, não apenas sua média em dias tranquilos.

  11. 11
    DesafioEscolha uma família a partir de medições

    Um serviço precisa de 4 vCPUs e 25 GiB de RAM. Um tamanho de uso geral tem 4 vCPUs e 16 GiB; um tamanho otimizado para memória tem 4 vCPUs e 32 GiB. Qual atende e por quê?

    ---reveal---

    O tamanho otimizado para memória atende aos dois requisitos. Faltam 9 GiB no de uso geral, embora sua quantidade de CPU seja suficiente. Após a implantação, meça a demanda real antes de alterar o tamanho novamente.

  12. 12
    DesafioCombine adequação e ciclo de vida

    Uma tarefa noturna de renderização pode salvar o progresso e ser retomada após uma interrupção. A VM escolhida fornece CPU e memória suficientes. A capacidade spot seria razoável, e o que deve ser preservado se a VM for perdida?

    ---reveal---

    A capacidade spot é razoável porque a tarefa pode tolerar a retomada da capacidade e continuar. Seus pontos de verificação e resultados concluídos devem ser armazenados de forma persistente. Um preço baixo não compensa perder todo o progresso sempre que a capacidade excedente é retomada.

  13. 13
    RecapitulaçãoUse o recurso adequado para cada trabalho

    Imagens fornecem software; tamanhos fornecem capacidade. O armazenamento persistente preserva arquivos duradouros, enquanto recursos retidos podem continuar gerando cobranças depois que a computação para.

    Escolha uma família a partir do recurso limitante e meça a demanda real. Tipos de desempenho expansível são adequados para picos breves; a capacidade spot exige tolerância a interrupções. A manutenção do sistema convidado continua sob sua responsabilidade.

2

Mantenha um serviço em funcionamento conforme a carga muda

16 passos
Analise escalonamento, capacidade por zona, acompanhamento de meta e roteamento após a falha de um servidor.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoDois motivos para precisar de mais capacidade
  2. 2
    ExplicaçãoAltere o tamanho ou a quantidade
  3. 3
    Ideia-chaveRetire os carrinhos da memória local
  4. 4
    ExemploConte as zonas restantes
  5. 5
    DesafioVerifique disponibilidade e elasticidade
  6. 6
    ExplicaçãoDefina piso, objetivo e teto
  7. 7
    ExemploDetermine a quantidade de trabalho
  8. 8
    ExemploDivida pela meta
  9. 9
    DicaReserve tempo para a prontidão
  10. 10
    DesafioEstime e aplique um teto
  11. 11
    ExplicaçãoCompartilhe um ponto de entrada
  12. 12
    ExemploPerca um destino
  13. 13
    DesafioConecte a detecção ao reparo
  14. 14
    DicaPlaneje uma remoção segura
  15. 15
    DesafioCombine zonas, roteamento e capacidade
  16. 16
    RecapitulaçãoSepare as funções
3

Escolha como executar uma API em contêiner

14 passos
Acompanhe uma imagem até a produção, dimensione um cluster Kubernetes e compare serviços que ocultam os hosts.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoAcompanhe o pacote até a produção
  2. 2
    ExemploImagem, registro de imagens, contêiner
  3. 3
    ExplicaçãoCompartilhe o kernel do host
  4. 4
    DesafioSubstitua o pacote
  5. 5
    ExplicaçãoDeclare o que deve ser executado
  6. 6
    ExemploCalcule o espaço por nó
  7. 7
    ExemploArredonde para cima para nós inteiros
  8. 8
    DesafioVerifique os dois níveis de escalonamento
  9. 9
    Ideia-chaveMantenha a responsabilidade pela aplicação
  10. 10
    ExplicaçãoUse um serviço de hospedagem mais simples
  11. 11
    ExemploPermita que a capacidade chegue a zero em períodos tranquilos
  12. 12
    DesafioDecida sobre um mínimo de instâncias prontas
  13. 13
    DesafioAjuste o controle à equipe
  14. 14
    RecapitulaçãoEscolha a camada necessária
4

Estime o uso de funções e implante uma aplicação web

13 passos
Acompanhe uma função acionada por evento, calcule cobranças de uso e compare plataformas gerenciadas de aplicações.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoDuas formas de reduzir o trabalho com servidores
  2. 2
    ExemploComece com um evento
  3. 3
    ExplicaçãoMantenha resultados duradouros em outro lugar
  4. 4
    ExemploConte os segundos de execução
  5. 5
    ExemploMultiplique o tempo de execução pela memória
  6. 6
    DesafioVerifique o raciocínio de memória e tempo
  7. 7
    DicaRespeite a duração e a inicialização
  8. 8
    ExplicaçãoImplante a aplicação que você desenvolve
  9. 9
    ConexãoEntenda plataformas com capacidade alocada
  10. 10
    ExemploTeste antes do lançamento
  11. 11
    DesafioDefina a responsabilidade pela plataforma
  12. 12
    DesafioCompare a cobrança para tráfego baixo
  13. 13
    RecapitulaçãoVerifique a execução e o plano
5

Transforme necessidades da carga de trabalho em uma recomendação

10 passos
Compare requisitos, esforço operacional e contrapartidas por meio de decisões concretas de negócios.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoTorne a escolha explicável
  2. 2
    ExplicaçãoCompare o que continua com a equipe
  3. 3
    Ideia-chaveCompare trabalho equivalente
  4. 4
    DesafioVerifique o significado de portabilidade
  5. 5
    ExemploDeixe um requisito obrigatório orientar a escolha
  6. 6
    ConexãoUse o pacote e as habilidades existentes
  7. 7
    ExplicaçãoEscolha onde executar trabalhos longos
  8. 8
    DesafioRecomende e apresente a contrapartida
  9. 9
    DesafioEscolha a próxima etapa da migração
  10. 10
    RecapitulaçãoRelacione a necessidade à escolha

Questões de Opções de computação em nuvem

40 Questões de Prática em 4 conjuntos

Conjunto 1: Relacione capacidade, estado e responsabilidade10 Questões de Prática

Questão 1 de 10

Cada nó tem 3 vCPUs e 5 GiB disponíveis para pods. Cada pod solicita 0,75 vCPU e 2 GiB. Seis réplicas devem ser executadas, sem outras restrições de alocação. Quantos nós são necessários?
  1. 3 nós.
  2. 2 nós.
  3. 4 nós.
  4. 6 nós.
Mostrar respostaOcultar resposta
Resposta: A
A CPU permitiria quatro pods por nó, mas os 5 GiB de memória disponível comportam apenas dois pods de 2 GiB. Portanto, seis réplicas precisam de três nós. Usar apenas o resultado da CPU leva a dois nós e deixa pods sem possibilidade de alocação, pois a memória, não a CPU, é o limite determinante.

Questão 2 de 10

Uma equipe migra seu servidor para uma VM padrão na nuvem. Quem é responsável por aplicar atualizações de segurança ao sistema operacional convidado?
  1. O provedor do serviço de hipervisor.
  2. A equipe do centro de dados do provedor.
  3. Apenas o publicador da imagem da VM.
  4. O cliente que opera a VM.
Mostrar respostaOcultar resposta
Resposta: D
O cliente atualiza o sistema operacional convidado de uma VM; o provedor mantém o host físico e o hipervisor. Uma imagem de inicialização atualizada não mantém todos os sistemas convidados em execução atualizados depois.

Questão 3 de 10

Uma simulação usa continuamente a maior parte de sua CPU. Uma VM de desempenho expansível mais barata, no modo padrão de créditos, tem um nível básico baixo. Por que essa VM pode ficar mais lenta durante a simulação?
  1. Seus créditos de CPU podem acabar, fazendo-a retornar ao nível básico.
  2. Sua alocação spot deve terminar após cada pico de CPU.
  3. Seu saldo de créditos reduz a memória instalada.
  4. Seu hipervisor transforma demanda de CPU em tráfego de armazenamento.
Mostrar respostaOcultar resposta
Resposta: A
Picos no modo padrão consomem créditos de CPU e retornam ao nível básico quando esses créditos acabam. A retomada de capacidade spot é uma regra separada, não uma consequência do esgotamento dos créditos de CPU.

Questão 4 de 10

Uma aplicação precisa da capacidade de seis VMs idênticas após perder qualquer uma de três zonas. As VMs estão distribuídas igualmente, e VMs substitutas não podem iniciar durante a interrupção. Qual é a menor implantação adequada?
  1. 2 VMs por zona, 6 no total.
  2. 4 VMs por zona, 12 no total.
  3. 3 VMs por zona, 9 no total.
  4. 6 VMs por zona, 18 no total.
Mostrar respostaOcultar resposta
Resposta: C
Após a falha de uma zona, duas zonas ainda devem fornecer seis VMs, então cada uma precisa de três. Nove no total é a menor implantação uniforme que atende a essa condição. Seis no total atendem à demanda normal, mas deixam apenas quatro após a perda de uma zona; neste caso, não é possível esperar por capacidade substituta.

Questão 5 de 10

Um grupo de cinco VMs iguais tem média de 72% de CPU. O trabalho permanece constante e é distribuído igualmente. Ignorando o tempo de resposta da política, qual quantidade total atende a uma meta de no máximo 45% de CPU?
  1. 7 VMs.
  2. 8 VMs.
  3. 9 VMs.
  4. 6 VMs.
Mostrar respostaOcultar resposta
Resposta: B
O trabalho total é 5 × 72 = 360 unidades de pontos percentuais por instância; dividir por 45 resulta em oito VMs. Sete teriam média de cerca de 51,4%, ainda acima da meta. Essa estimativa simplificada mantém o trabalho constante e o distribui igualmente; o escalonamento automático real também espera pelas medições e pela prontidão das instâncias.

Questão 6 de 10

Uma imagem de contêiner Linux criada apenas para Arm é enviada a um host somente x86, sem emulação. Qual problema de compatibilidade a equipe deve resolver?
  1. O registro de imagens armazena uma imagem imutável.
  2. O contêiner não tem um kernel convidado separado.
  3. A arquitetura do processador não é compatível.
  4. A aplicação está empacotada com bibliotecas.
Mostrar respostaOcultar resposta
Resposta: C
A imagem exclusiva para Arm exige um ambiente de processador compatível. A compatibilidade com Linux, por si só, é insuficiente, e empacotar bibliotecas juntas não converte suas instruções de processador para x86.

Questão 7 de 10

Uma função é executada 2.400.000 vezes, por 0,25 segundo em cada execução, com 0,5 GB alocado. Qual é seu uso total de memória e tempo?
  1. 600.000 GB-s.
  2. 300.000 GB-s.
  3. 1.200.000 GB-s.
  4. 150.000 GB-s.
Mostrar respostaOcultar resposta
Resposta: B
Multiplique a quantidade de invocações pela duração para obter 600.000 segundos e depois por 0,5 GB para obter 300.000 GB-s. O valor de 600.000 é o total de segundos de execução antes de considerar a memória. GB-segundos medem a memória alocada ao longo do tempo, não a quantidade de requisições ou apenas a memória.

Questão 8 de 10

Duas aplicações com pouco tráfego compartilham um plano dedicado do Azure App Service com duas instâncias alocadas. Por que a cobrança de computação pode continuar durante a noite sem requisições?
  1. Cada requisição reserva um mês de computação.
  2. O slot de homologação executa as aplicações como VMs.
  3. Horas ociosas pausam a cobrança de memória do plano.
  4. O plano cobra pelas instâncias alocadas.
Mostrar respostaOcultar resposta
Resposta: D
Um plano dedicado do App Service cobra pela capacidade das instâncias alocadas, inclusive nos horários tranquilos. Aplicações que compartilham o plano compartilham essa capacidade, não uma garantia de cobrança por requisição. O comportamento de escalonamento a zero de alguns serviços sem servidor não deve ser atribuído a todos os planos de hospedagem.

Questão 9 de 10

Uma equipe migra uma API de VMs para contêineres sem servidor. Qual responsabilidade de manutenção passa mais diretamente para o provedor?
  1. Corrigir bibliotecas vulneráveis dentro da imagem da aplicação.
  2. Escolher quais usuários podem ler os dados da aplicação.
  3. Atualizar o sistema operacional do host subjacente.
  4. Corrigir erros na lógica de negócios da API.
Mostrar respostaOcultar resposta
Resposta: C
O provedor atualiza os hosts de contêineres sem servidor. As bibliotecas dentro da imagem da aplicação continuam sob responsabilidade do cliente, junto com o código e as decisões de acesso aos dados.

Questão 10 de 10

Uma equipe deve executar 24 serviços implantados de forma independente em duas nuvens usando as mesmas ferramentas de orquestração. Ela tem experiência em Kubernetes e aceita o trabalho de gerenciamento da plataforma. Qual escolha é mais adequada e por quê?
  1. Plataformas de contêineres independentes com ferramentas específicas de cada nuvem.
  2. Uma plataforma de hospedagem de código com configurações separadas por provedor.
  3. Implantações em VMs com scripts adaptados a cada provedor.
  4. Kubernetes gerenciado com uma plataforma comum de orquestração.
Mostrar respostaOcultar resposta
Resposta: D
O Kubernetes gerenciado oferece à equipe uma plataforma comum de orquestração entre nuvens e é adequado para muitos serviços implantados de forma independente. As habilidades existentes da equipe tornam viável seu trabalho operacional. Funções dos provedores vinculariam gatilhos e configurações a cada nuvem, em vez de atender ao requisito de orquestração informado.
Conjunto 2: Escolha e opere recursos de computação em nuvem10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma VM do Azure é desligada de dentro do Windows e exibe “Stopped”. Qual ação encerra sua alocação de computação?
  1. Excluir seu grupo de segurança de rede.
  2. Remover a conta de logon do sistema convidado.
  3. Desalocar a VM pelo Azure.
  4. Desanexar seu disco de dados persistente.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um cache precisa de 4 vCPUs e 28 GiB de memória. Os tamanhos disponíveis são uso geral (4 vCPUs, 16 GiB), otimizado para computação (8 vCPUs, 16 GiB), otimizado para memória (4 vCPUs, 32 GiB) e acelerado (4 vCPUs, 16 GiB e uma GPU). Qual atende às duas necessidades informadas?
  1. O tamanho otimizado para computação.
  2. O tamanho otimizado para memória.
  3. O tamanho de uso geral.
  4. O tamanho acelerado com GPU.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Uma aplicação web passa de duas VMs de mesmo tamanho para cinco. Qual é a direção desse escalonamento?
  1. Aumento horizontal.
  2. Aumento vertical.
  3. Redução horizontal.
  4. Redução vertical.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um grupo tem mínimo 2, desejado 5 e máximo 9. Ele tem cinco VMs íntegras, e nenhuma política altera a capacidade desejada. Quantas VMs ele busca manter?
  1. 2 VMs.
  2. 9 VMs.
  3. 7 VMs.
  4. 5 VMs.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um site deve enviar requisições para /orders/ a um conjunto de servidores e para /help/ a outro. De qual capacidade de balanceador de carga ele precisa?
  1. Roteamento por porta na camada 4.
  2. Roteamento por caminho HTTP na camada 7.
  3. Hash de conexão na camada 4.
  4. Afinidade de sessão na camada 7.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma equipe quer que a produção execute as mesmas versões da aplicação e das bibliotecas aprovadas nos testes. Qual artefato ela deve implantar?
  1. Um contêiner em execução atualizado.
  2. As configurações de acesso ao registro de imagens.
  3. A imagem de contêiner testada.
  4. Um disco maior para o sistema do host.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Uma VM está em execução, mas sua aplicação web falhou. O balanceador de carga a exclui, mas o grupo de escalonamento não a repara. Qual configuração a equipe deve verificar?
  1. As verificações de integridade da aplicação e os reparos automáticos.
  2. A política de retenção do registro de imagens.
  3. A quantidade de slots de implantação.
  4. O nome DNS usado pelos clientes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma equipe usa ECS e quer deixar de escolher e atualizar seus hosts de contêineres. Qual opção de computação atende a esse objetivo?
  1. Executar tarefas ECS em hosts EC2.
  2. Armazenar imagens ECS no ECR.
  3. Aumentar a quantidade de tarefas ECS.
  4. Executar tarefas ECS no Fargate.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma função armazena um total acumulado apenas na memória. Mais tarde, um novo ambiente de execução informa zero. Onde o total duradouro deve ser mantido?
  1. No diretório temporário da função.
  2. Em um banco de dados ou serviço de armazenamento compartilhado.
  3. Em uma cópia maior da mesma memória.
  4. Nas variáveis locais da próxima invocação.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma distribuidora deve migrar, sem alterações e em um mês, uma aplicação Linux com suporte do fornecedor. O fornecedor exige alterações no kernel convidado. As requisições são constantes, e a equipe sabe atualizar o Linux. Qual é a melhor escolha inicial e sua contrapartida?
  1. VMs na nuvem com software convidado mantido pelo cliente.
  2. Kubernetes gerenciado com imagens de contêiner Linux padrão.
  3. Uma plataforma de hospedagem de código com hosts mantidos pelo provedor.
  4. Contêineres sem servidor com hosts mantidos pelo provedor.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 3: Analise escolhas de escalonamento e serviços10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma VM é excluída, mas seu disco de inicialização é mantido. A equipe observa uma cobrança contínua de armazenamento. Qual ação resolve essa cobrança quando os dados não forem mais necessários?
  1. Remover um grupo de segurança não utilizado.
  2. Excluir o disco de inicialização mantido.
  3. Reduzir o tamanho da CPU da VM excluída.
  4. Desativar a antiga conta de logon do sistema convidado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma loja reduz horizontalmente de seis instâncias web para três. Alguns usuários perdem carrinhos armazenados apenas na memória das instâncias removidas. Qual mudança permite que qualquer instância restante continue atendendo a esses carrinhos?
  1. Usar uma VM maior para cada servidor.
  2. Manter instâncias em uma zona de disponibilidade.
  3. Usar afinidade de sessão com carrinhos em memória.
  4. Manter os carrinhos em um serviço de dados compartilhado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Seis VMs idênticas têm média de 75% de CPU com carga total constante. A meta é 50%, mas a capacidade máxima é oito. Ignorando o tempo de resposta, o que acontece nesse teto?
  1. 8 VMs têm média de cerca de 56,3% de CPU.
  2. 8 VMs têm média de exatamente 50% de CPU.
  3. 9 VMs têm média de exatamente 50% de CPU.
  4. 6 VMs têm média de cerca de 56,3% de CPU.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Quatro servidores compartilham igualmente 1.440 requisições por minuto. Cada um suporta 400 por minuto. Um falha; nenhum reparo pelo escalonamento está configurado. O que o operador deve esperar depois que as verificações de integridade o excluírem?
  1. Três recebem 360 cada; o balanceador mantém capacidade excedente.
  2. Quatro recebem 360 cada; as verificações reiniciam a aplicação com falha.
  3. Três recebem 480 cada; é necessária uma ação de reparo ou capacidade.
  4. Três recebem 400 cada; o balanceador rejeita as 240 excedentes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Uma aplicação no Kubernetes gerenciado falha repetidamente por causa de um erro em sua imagem de contêiner. O plano de controle está íntegro. Quem deve corrigir a causa?
  1. O provedor que mantém o plano de controle.
  2. O provedor que publica versões do Kubernetes.
  3. O registro que armazena a imagem da aplicação.
  4. A equipe que mantém a imagem da aplicação.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma pessoa desenvolvedora precisa de um teste curto de contêiner no Azure sem um cluster. O escalonamento automático é desnecessário. Qual serviço atende diretamente à necessidade?
  1. Azure Container Instances.
  2. Azure Kubernetes Service.
  3. Azure Virtual Desktop.
  4. Slots de implantação do Azure App Service.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um treinamento exige GPUs, leva três dias e pode repetir no máximo 10 minutos de trabalho após uma interrupção. A equipe quer capacidade que possa ser retomada pelo provedor. Qual projeto atende a essas necessidades?
  1. VMs spot aceleradas; pontos de verificação persistentes a cada 30 minutos.
  2. VMs spot aceleradas; pontos de verificação persistentes a cada 5 minutos.
  3. VMs spot aceleradas; pontos de verificação locais temporários a cada 5 minutos.
  4. VMs spot apenas com CPU; pontos de verificação persistentes a cada 5 minutos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma agência quer que os clientes continuem usando a versão atual do App Service enquanto ela testa uma nova versão em uma camada com slots de implantação. Qual abordagem de implantação é adequada?
  1. Testar em homologação e depois trocar homologação e produção.
  2. Substituir primeiro a produção e depois testar seu novo comportamento.
  3. Criar um plano maior e depois enviar diretamente para produção.
  4. Parar os dois slots e depois copiar arquivos de homologação para produção.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma API fica sem requisições por longos períodos durante a noite e pode tolerar atraso de inicialização. Qual relação entre custo e latência favorece um serviço que escalona a zero?
  1. Menor custo de computação ociosa com inicializações prontas garantidas.
  2. Capacidade ociosa fixa com atualização do sistema convidado por requisição.
  3. Menor custo de computação ociosa com possíveis inicializações a frio.
  4. Capacidade ociosa fixa sem responsabilidade pela aplicação.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma conversão em lote é executada por 110 minutos, não precisa de acesso especial ao host e não pode ser dividida em invocações mais curtas. A equipe não quer administrar servidores e usa atualmente a computação padrão do Lambda. Qual é uma boa próxima escolha?
  1. Uma função de computação padrão do Lambda com tempo limite de 110 minutos.
  2. Uma tarefa gerenciada em contêiner com limite que cubra 110 minutos.
  3. Uma requisição de contêiner com tempo limite fixo de execução de 60 minutos.
  4. Uma tarefa gerenciada em contêiner com limite fixo de execução de 90 minutos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 4: Avalie projetos e contrapartidas10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma VM tem média de 12% de CPU, mas fica sem memória repetidamente. Uma proposta reduz pela metade tanto a quantidade de CPUs quanto a memória para economizar. Qual é o melhor próximo passo?
  1. Medir a demanda de memória e escolher um tamanho que a atenda.
  2. Reduzir CPU e RAM pela metade para acompanhar a baixa demanda média de CPU.
  3. Dobrar a quantidade de vCPUs, mantendo o mesmo limite de memória.
  4. Mudar para CPU de desempenho expansível, mantendo o mesmo limite de memória.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um serviço fica movimentado previsivelmente às 09:00. Novas VMs precisam de quatro minutos para inicializar e passar nas verificações. O escalonamento baseado em CPU só reage depois das 09:00, quando os atrasos começam. Qual mudança resolve melhor esse atraso?
  1. Aumentar o limite de reação para acompanhar apenas o maior pico.
  2. Prolongar o período de estabilização para manter as primeiras VMs novas alocadas por mais tempo.
  3. Programar capacidade suficiente para concluir as verificações de integridade antes das 09:00.
  4. Aumentar a capacidade desejada às 09:00, mantendo as verificações de prontidão.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Uma API está removendo um servidor íntegro de seu conjunto de destinos enquanto esse servidor conclui várias requisições. Qual comportamento do balanceador de carga ajuda essas requisições a terminar?
  1. Manter a distribuição circular ativa até o encerramento imediato da VM.
  2. Usar afinidade de sessão e impedir novas sessões de usuários.
  3. Parar as verificações de integridade e remover a VM após um atraso fixo.
  4. Interromper o novo roteamento e drenar as requisições ativas antes da remoção.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um contêiner de faturamento é substituído por uma imagem atualizada. Os PDFs gerados existiam apenas na camada gravável do contêiner antigo. O registro de imagens ainda tem as duas versões da imagem. Por que os PDFs estão indisponíveis e o que impede que isso se repita?
  1. A nova etiqueta ocultou os documentos; implantar novamente a etiqueta da imagem anterior.
  2. A substituição perdeu arquivos de execução; salvá-los em armazenamento persistente.
  3. A imagem não tem alterações de execução; manter versões anteriores da imagem.
  4. O registro contém os arquivos; restaurar suas configurações originais de acesso.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Uma API do Cloud Run tem o mínimo de instâncias definido como zero. Uma proposta mantém uma instância pronta para reduzir o atraso da primeira requisição após períodos tranquilos. O tráfego também pode ultrapassar rapidamente a capacidade de uma instância. O que a equipe deve esperar?
  1. Um custo contínuo pela instância pronta e possíveis inicializações a frio em picos.
  2. Nenhum custo contínuo de computação e nenhuma inicialização a frio em qualquer pico.
  3. Um custo contínuo pela instância pronta e um teto fixo de uma instância.
  4. Nenhuma mudança na latência após ociosidade e apenas cobranças do registro de imagens.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma função acionada por fila escalona rapidamente, e os limites de conexões do banco de dados são excedidos. Qual configuração protege mais diretamente o banco de dados enquanto preserva o processamento de eventos?
  1. Aumentar a concorrência da função para processar eventos mais cedo.
  2. Manter um total separado de conexões em cada memória local.
  3. Limitar a concorrência da função a um nível suportado.
  4. Aumentar o tempo limite do banco de dados sem limitar as chegadas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Uma equipe implanta a aplicação web que desenvolveu em uma plataforma de hospedagem gerenciada pelo provedor. Qual modelo de serviço descreve essa organização?
  1. Software como serviço.
  2. Plataforma como serviço.
  3. Infraestrutura como serviço.
  4. Desktop como serviço.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma equipe migra uma aplicação Kubernetes para outra nuvem. As imagens de contêiner são executadas nela, mas a equipe ainda precisa alterar configurações de acesso ao banco de dados e de identidade específicas do provedor. Como esse resultado deve ser interpretado?
  1. As imagens em execução mostram que todas as dependências de nuvem são portáveis.
  2. As integrações com falha mostram que as imagens não podem ser portáveis.
  3. A API comum do Kubernetes garante configurações de identidade equivalentes.
  4. O empacotamento é portável, mas as integrações externas ainda exigem trabalho.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma estimativa de uso no estilo Lambda supõe R$ 0,00002 por GB-s e R$ 0,30 por milhão de requisições, sem franquias ou outras cobranças. Quatro milhões de invocações usam 0,5 GB por 0,15 segundo cada. Qual é o total?
  1. R$ 6,00.
  2. R$ 7,20.
  3. R$ 13,20.
  4. R$ 4,80.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um escalonador automático de pods solicita dez réplicas. Cada nó tem 2,5 vCPUs disponíveis para pods, e cada pod solicita 0,9 vCPU. A memória é suficiente e não há outras restrições de alocação. Qual quantidade de nós comporta todas as réplicas?
  1. 4 nós.
  2. 6 nós.
  3. 5 nós.
  4. 3 nós.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Travou em uma questão sua? Ajuda com Tarefas

Termos-Chave

83 Termos-Chave, cada um com sua definição

A

Acompanhamento de meta
O acompanhamento de meta ajusta a capacidade para manter uma métrica da carga de trabalho próxima de um valor escolhido, como 50% de CPU.
O grupo adiciona instâncias quando é necessário distribuir o mesmo trabalho entre mais VMs para reduzir a média de CPU.
Afinidade de sessão
A afinidade de sessão mantém as requisições de um usuário no mesmo destino, ajudando sessões locais, mas criando risco de carga desigual e dependência desse servidor.
A afinidade de sessão não pode recuperar um carrinho armazenado apenas na memória quando o servidor atribuído é encerrado.
Alta disponibilidade
A alta disponibilidade é a capacidade de manter um serviço utilizável por uma alta proporção do tempo, apesar de falhas em componentes individuais.
Instâncias em zonas separadas continuam atendendo ao tráfego depois que uma zona perde energia e conectividade.

B

Balanceador de carga
Um balanceador de carga apresenta um endereço de entrada e distribui o tráfego recebido entre destinos íntegros conforme regras de roteamento configuradas.
Os usuários mantêm o mesmo endereço do site enquanto a quantidade de servidores de back-end muda durante um período movimentado.
Balanceamento de carga de camada 4
O balanceamento de carga de camada 4 escolhe destinos a partir de detalhes de conexão da camada de transporte, como endereços IP e portas, para protocolos compatíveis.
Um serviço TCP precisa de roteamento de conexões, mas não de regras que examinem um caminho de URL HTTP.
Balanceamento de carga de camada 7
O balanceamento de carga de camada 7 entende requisições HTTP e pode escolher destinos a partir de detalhes da aplicação, como o host ou caminho solicitado.
Requisições para /api/ vão para o conjunto da API, enquanto requisições para /images/ vão para outro conjunto.

C

Capacidade desejada
A capacidade desejada é a quantidade de instâncias que um grupo de escalonamento busca manter no momento, limitada por seu mínimo e máximo.
Um grupo com capacidade desejada de cinco substitui uma VM com falha para voltar a cinco instâncias íntegras.
Capacidade máxima
A capacidade máxima limita a quantidade de instâncias de um grupo de escalonamento sem alocar imediatamente essa capacidade.
Aumentar o máximo de oito para doze não inicia nem cobra, por si só, mais quatro VMs.
Capacidade spot
A capacidade spot é computação excedente com desconto que o provedor pode retomar com pouco aviso, exigindo cargas de trabalho tolerantes a interrupções.
Uma tarefa de renderização salva os quadros concluídos para que uma interrupção da capacidade spot não apague todo o trabalho terminado.
Cluster Kubernetes
Um cluster Kubernetes é um grupo de máquinas com um plano de controle que coordena cargas de trabalho em contêineres executadas em pods nos nós de trabalho.
Um cluster mantém várias réplicas de aplicações em seus nós em vez de deixar a alocação a cargo de cada equipe.
Cobrança por consumo
A cobrança por consumo cobra conforme o uso medido, como tempo de execução e requisições, com as medições exatas definidas pelo serviço e pelo plano.
Períodos tranquilos reduzem o uso de computação de uma função sob demanda enquanto um plano dedicado de hospedagem permanece alocado.
Concorrência
A concorrência é a quantidade de trabalho executada ao mesmo tempo, como invocações simultâneas de funções.
A equipe limita as execuções simultâneas de funções para que o limite de conexões do banco de dados não seja excedido.
Concorrência provisionada
A concorrência provisionada mantém ambientes de execução do Lambda prontos para um nível configurado de demanda, reduzindo o atraso de inicialização a frio por um custo adicional.
Uma API sensível à latência paga por capacidade pronta em vez de depender inteiramente de novos ambientes quando as requisições chegam.
Contêiner
Um contêiner executa uma aplicação e suas dependências empacotadas como um processo isolado, compartilhando o kernel do sistema operacional de seu host.
Vários serviços em contêineres podem compartilhar uma VM enquanto cada um usa suas próprias bibliotecas de aplicação empacotadas.
Contêineres sem servidor
Contêineres sem servidor executam imagens fornecidas pelo cliente em hosts gerenciados pelo provedor, deixando a configuração da aplicação e a manutenção da imagem com o cliente.
Uma equipe pequena implanta sua imagem de API sem escolher VMs de host ou aplicar atualizações ao sistema operacional do host.
CPU virtual (vCPU)
Uma vCPU é uma unidade de processamento atribuída a uma VM, muitas vezes uma thread de hardware de um núcleo e, em alguns tipos de processador, um núcleo inteiro.
Um tamanho com vCPUs suficientes ainda pode não executar um cache se sua alocação de memória for pequena demais.
Créditos de CPU
Os créditos de CPU registram o acesso acumulado e gasto para processamento acima do nível básico em VMs de desempenho expansível baseadas em créditos, como AWS T e Azure B.
Uma tarefa contínua de CPU esgota os créditos do modo padrão e depois é executada no nível básico mais baixo da VM.

D

Dependência de fornecedor
A dependência de fornecedor é a dependência de serviços ou configurações específicos de um provedor que dificulta a transferência de uma carga de trabalho para outra plataforma.
Uma função fortemente vinculada aos gatilhos de um provedor precisa de adaptação antes de poder ser executada em outro lugar.
Desalocação
A desalocação libera a computação alocada de uma VM do Azure, encerrando as cobranças por essa alocação.
Após desligar o Windows, um administrador desaloca a VM e verifica o status exibido.
Dimensionamento adequado
O dimensionamento adequado ajusta a família e o tamanho de uma VM às necessidades medidas de CPU, memória, armazenamento e rede, sem pagar por capacidade desnecessária.
O baixo uso de CPU leva a uma revisão, mas o alto uso de memória impede a equipe de escolher uma VM menor sem análise.
Disco local temporário
Um disco local temporário mantém dados no host que podem ser perdidos quando a VM para, é movida ou desalocada.
A aplicação grava arquivos temporários descartáveis localmente e salva os registros concluídos em armazenamento persistente.
Disco persistente
Um disco persistente mantém os dados após o fim da sessão de execução de uma VM, a menos que as configurações de exclusão o removam.
Um disco de inicialização mantido pode preservar arquivos após a exclusão da VM e continuar gerando cobranças de armazenamento.
Distribuição circular
A distribuição circular envia trabalho aos destinos disponíveis em sequência, sem selecioná-los pela carga de trabalho atual.
Com requisições iguais e três destinos íntegros, cada um recebe cerca de um terço do tráfego recebido.
Domínio de atualização
Um domínio de atualização agrupa VMs do Azure que podem ser reiniciadas juntas para manutenção planejada, permitindo que outros grupos permaneçam disponíveis.
Uma implantação distribuída entre domínios de atualização evita que todas as suas VMs sejam reiniciadas na mesma etapa de manutenção.
Domínio de falha
Um domínio de falha é um grupo de hardware que compartilha riscos de falha, como energia e comutadores de rede; os conjuntos de disponibilidade do Azure distribuem VMs entre esses domínios.
Distribuir VMs entre domínios de falha reduz a chance de um rack com falha derrubar todas as cópias.
Drenagem de conexões
A drenagem de conexões impede que novo tráfego chegue a um destino em remoção e dá tempo para suas requisições ativas terminarem antes da remoção.
Uma redução horizontal planejada espera pelas requisições em andamento em vez de encerrar imediatamente um destino ocupado.

E

Elasticidade
A elasticidade adiciona e remove recursos automaticamente e com rapidez para que a capacidade acompanhe a demanda da carga de trabalho.
O serviço cresce durante uma promoção e diminui durante a noite sem que um administrador altere a quantidade.
Escalabilidade
A escalabilidade é a capacidade de um sistema de lidar com uma carga de trabalho maior adicionando recursos, dentro dos limites de sua aplicação e suas dependências.
Adicionar servidores web ajuda até que um banco de dados compartilhado se torne o próximo limite para a vazão da aplicação.
Escalonador automático de cluster
Um escalonador automático de cluster ajusta a capacidade dos nós de trabalho quando os pods solicitados não podem ser programados ou quando nós podem ser removidos com segurança.
Pods pendentes que precisam de mais espaço fazem com que outro nó seja adicionado, em vez de apenas outra réplica.
Escalonador horizontal automático de pods (HPA)
Um escalonador horizontal automático de pods ajusta a quantidade de réplicas de pods usando métricas da carga de trabalho, como o uso médio de CPU entre os pods.
A API ganha réplicas de pods durante um período movimentado, usando a capacidade excedente já disponível em seus nós.
Escalonamento a zero
O escalonamento a zero reduz a quantidade de instâncias de um serviço em execução a nenhuma durante períodos ociosos, economizando computação ociosa quando seu modelo de cobrança permite.
Uma API interna com pouco uso chega a zero instâncias durante a noite e inicia uma nova instância para a próxima requisição.
Escalonamento horizontal
O escalonamento horizontal altera a quantidade de instâncias que compartilham o trabalho, adicionando cópias no aumento e removendo-as na redução.
Mais cópias do servidor web atendem a um período movimentado enquanto um balanceador de carga distribui as requisições recebidas.
Escalonamento preditivo
O escalonamento preditivo prevê necessidades futuras de capacidade a partir de padrões históricos de demanda e prepara recursos antes da chegada da carga prevista.
Padrões anteriores de tráfego ajudam o serviço de escalonamento a se preparar para um pico recorrente em vez de reagir tarde.
Escalonamento programado
O escalonamento programado altera a capacidade em horários configurados, permitindo que instâncias estejam prontas para períodos movimentados previsíveis antes que a demanda chegue.
O serviço começa a iniciar VMs adicionais antes de seu pico regular da manhã para que as verificações de integridade terminem a tempo.
Escalonamento vertical
O escalonamento vertical altera os recursos de uma máquina, aumentando ou reduzindo seu tamanho, geralmente com uma reinicialização.
A VM do banco de dados passa para um tamanho com mais memória, então a equipe planeja uma breve interrupção do serviço.
Estado desejado
O estado desejado é a configuração declarada da carga de trabalho que o Kubernetes busca manter, como uma imagem específica em execução com três réplicas.
Após a falha de um pod, o cluster cria outra cópia para restaurar a quantidade declarada de réplicas.

F

Família de instâncias
Uma família de instâncias agrupa tipos de VM com equilíbrio semelhante entre processamento, memória, armazenamento ou aceleradores para necessidades específicas de cargas de trabalho.
A equipe escolhe uma família otimizada para memória antes de selecionar um tamanho suficiente para seu cache.
Fargate
O Fargate é computação gerenciada pela AWS para tarefas do ECS e pods elegíveis do EKS, eliminando a necessidade de os clientes selecionarem e manterem VMs de host.
A equipe escolhe a CPU e a memória da tarefa no Fargate enquanto o ECS fornece a orquestração da aplicação.
Função sem servidor
Uma função sem servidor é um código executado em resposta a eventos em infraestrutura gerenciada pelo provedor, com comportamento e cobranças definidos por seu plano de hospedagem.
Um novo arquivo no armazenamento de objetos aciona uma função que extrai metadados e os salva em um banco de dados.

G

Gatilho
Um gatilho é um evento que inicia a execução de uma função, como uma requisição, um envio, uma mensagem ou um temporizador.
Um temporizador inicia uma função de manutenção às 02:00 sem que ninguém inicie um servidor manualmente.
GB-segundo
Um GB-segundo mede a memória alocada ao longo do tempo de execução: um GB por um segundo, usado na cobrança por consumo de funções no estilo do Lambda.
Uma função que usa 0,5 GB por dois segundos consome um GB-segundo antes de serem acrescentadas as cobranças por requisição.

H

Hipervisor
Um hipervisor é um software que divide um host físico em máquinas virtuais isoladas e controla seu acesso ao hardware do host.
Várias VMs de clientes podem compartilhar um servidor físico mantendo sistemas operacionais convidados separados.
Hospedagem estática
A hospedagem estática distribui arquivos web como HTML, CSS, JavaScript e imagens sem um servidor de aplicação gerenciado pelo cliente para esses arquivos.
Um site de documentação usa o Firebase Hosting para distribuir seus arquivos por uma rede global.
Host dedicado
Um host dedicado é um servidor físico inteiro reservado para um cliente, incluindo a alocação de seus núcleos.
Uma licença de software vinculada a núcleos físicos leva a equipe a verificar os requisitos de host dedicado.

I

Imagem de contêiner
Uma imagem de contêiner é um modelo de aplicação somente de leitura que contém código, bibliotecas e arquivos de ambiente de execução, a partir do qual contêineres em execução são criados.
A equipe implanta a imagem inventory-api testada para manter a produção na mesma versão da aplicação.
Imagem de máquina
Uma imagem de máquina é um modelo do sistema operacional e do software pré-instalado para uma nova VM.
Uma imagem do Ubuntu fornece o software Linux, enquanto o tamanho de instância selecionado fornece CPU e memória.
Inicialização a frio
Uma inicialização a frio é o atraso adicional necessário para preparar um novo ambiente de execução antes que ele possa executar trabalho.
A primeira requisição após uma noite tranquila espera que um novo ambiente de função seja inicializado.
Instância
Uma instância é uma cópia provisionada de um recurso de nuvem, como uma única VM em um serviço de VMs.
A equipe inicia uma segunda instância a partir da mesma imagem para fornecer outra cópia de seu servidor web.
Instância de desempenho expansível
Uma instância de desempenho expansível fornece um nível básico baixo de CPU com acesso temporário a maior desempenho de processamento, conforme as regras do serviço.
Um servidor de teste com pouco uso pode usar capacidade expansível para picos curtos sem precisar de uso contínuo de CPU plena.
Instância em hardware físico direto
Uma instância em hardware físico direto fornece acesso direto ao hardware físico sem uma camada de hipervisor.
Uma carga de trabalho que precisa de acesso direto ao hardware usa uma opção em hardware físico direto em vez de uma VM comum em host compartilhado.
Instância sem estado
Uma instância sem estado não mantém informações locais exclusivas necessárias para requisições posteriores, permitindo que outras instâncias continuem o mesmo trabalho.
Um banco de dados compartilhado de carrinhos permite que a próxima requisição chegue a uma instância web diferente sem perder o carrinho.
Invocação
Uma invocação é uma execução de uma função, iniciada por um evento correspondente em um ambiente novo ou já pronto.
Um pico de eventos independentes de arquivos pode criar muitas invocações simultâneas, sujeitas aos limites do serviço.

M

Máquina virtual
Uma máquina virtual é um computador definido por software com seu próprio sistema operacional convidado, processadores virtuais, memória, armazenamento e rede.
Uma equipe aluga uma VM para executar uma aplicação de servidor com suporte do fornecedor e aplica atualizações ao seu sistema operacional convidado.
Memória por vCPU
A memória por vCPU mede a RAM fornecida por unidade de processamento, ajudando a comparar o equilíbrio de recursos das VMs.
Uma VM com 8 GiB e 2 vCPUs fornece 4 GiB por vCPU, o que ajuda a equipe a comparar famílias.
Microsserviços
Microsserviços são serviços de aplicação conectados pela rede que podem ser implantados e escalonados de forma independente.
O serviço de pagamentos ganha réplicas durante uma promoção sem adicionar cópias do serviço de e-mail.
Modelo de execução
Um modelo de execução define a configuração inicial reproduzível de uma VM da AWS, incluindo imagem, tamanho, configurações de rede e instruções de inicialização.
Instâncias substitutas recuperam a configuração prevista a partir do modelo, em vez de depender de alterações manuais.
Modernização
A modernização altera como uma aplicação é desenvolvida ou executada para usar recursos da nuvem, como plataformas gerenciadas, contêineres ou componentes orientados a eventos.
Após a rehospedagem, a equipe transfere um novo recurso de processamento de envios para funções, evitando outra VM sempre ativa.
Monólito
Um monólito é uma aplicação desenvolvida e implantada como uma única unidade integrada, em vez de serviços separados.
Em uma loja construída como um único pacote de aplicação, atualizar um recurso exige lançar todo esse pacote, em vez de um pequeno serviço.

N

Nó de trabalho
Um nó de trabalho é uma máquina, geralmente uma VM, que fornece recursos para pods e contêineres do Kubernetes.
Quando os nós existentes não comportam os pods solicitados, o escalonamento automático de nós pode adicionar outra máquina de trabalho.
Núcleo do sistema operacional (kernel)
Um kernel é a parte central de um sistema operacional que gerencia recursos de hardware e processos; contêineres comuns compartilham o kernel de seu host.
Contêineres Linux precisam de um kernel Linux mesmo quando seus pacotes de aplicação contêm bibliotecas diferentes.

O

Orquestração
A orquestração coordena a alocação de contêineres, a recuperação de falhas, o escalonamento, as conexões entre serviços e a implantação de versões entre hosts de computação.
Um orquestrador inicia contêineres substitutos quando um host falha e outros hosts têm capacidade suficiente.

P

Período de aquecimento
Um período de aquecimento permite que uma nova instância se inicialize antes que suas medições sejam tratadas como representativas nas decisões de escalonamento.
Uma VM que ainda está iniciando sua aplicação não deve distorcer a próxima estimativa de capacidade útil do grupo.
Período de estabilização
Um período de estabilização é um atraso usado para limitar decisões rápidas de escalonamento em sentidos opostos enquanto o efeito de uma mudança anterior de capacidade se estabiliza.
Um período de estabilização ajuda a evitar a adição e remoção repetidas de instâncias antes que a mudança anterior possa ser avaliada.
Plano de controle
Um plano de controle armazena a configuração desejada de um cluster Kubernetes e coordena a programação e outras ações que mantêm as cargas de trabalho em execução.
Um provedor de Kubernetes gerenciado mantém o plano de controle enquanto a equipe da aplicação corrige seu próprio código.
Plano do App Service
Um plano do App Service define a região, o tamanho e a quantidade de instâncias compartilhadas por suas aplicações hospedadas no Azure; planos dedicados cobram pela capacidade alocada.
Duas aplicações pequenas compartilham as mesmas instâncias do plano, então sua demanda combinada importa ao selecionar a capacidade.
Plataforma como serviço (PaaS)
A plataforma como serviço fornece um ambiente gerenciado para aplicações que você desenvolve e implanta, reduzindo o trabalho com infraestrutura e limitando o controle do host.
A equipe usa o App Service para seu próprio código em vez de alugar uma VM e configurar o servidor web.
Plataforma de hospedagem de aplicações
Uma plataforma de hospedagem de aplicações executa código ou imagens implantados pelo cliente com ferramentas de implantação, gerenciamento de servidores, monitoramento de integridade e escalonamento.
Uma pequena agência implanta sua aplicação de venda de ingressos sem instalar o sistema operacional do host ou o servidor web.
Pod
Um pod é a menor unidade programada pelo Kubernetes, contendo um ou mais contêineres que compartilham um endereço de rede e são executados juntos em um nó.
Dois contêineres fortemente conectados compartilham um pod, então o programador coloca ambos no mesmo nó de trabalho.
Ponto de verificação
Um ponto de verificação salva o progresso do processamento para que o trabalho possa ser retomado desse ponto após uma interrupção.
Uma tarefa de treinamento é retomada a partir do último estado salvo do modelo depois que o provedor interrompe sua instância spot.
Portabilidade
A portabilidade é a facilidade com que uma aplicação e sua implantação podem ser transferidas entre ambientes, incluindo o trabalho necessário para reconectar dependências.
Uma imagem de contêiner é executada em outra nuvem, mas as configurações de identidade do banco de dados e de rede ainda precisam de alterações.

R

Registro de imagens de contêiner
Um registro de imagens de contêiner armazena e distribui imagens para ferramentas de implantação e serviços de execução.
O serviço de implantação obtém uma imagem versionada do Artifact Registry antes de iniciar novos contêineres.
Rehospedagem
A rehospedagem transfere uma aplicação praticamente sem alterações para infraestrutura de nuvem, muitas vezes VMs, mantendo grande parte de seu modelo operacional existente.
Uma empresa deixa seu centro de dados rapidamente ao transferir uma aplicação de servidor com suporte para VMs equivalentes na nuvem.
Requisito da carga de trabalho
Um requisito da carga de trabalho é uma necessidade que a escolha de computação deve atender, como duração, hardware, acesso ao host, tráfego ou suporte operacional.
Uma alteração obrigatória de kernel exclui uma plataforma de hospedagem padrão antes que a equipe compare os custos mensais.
Responsabilidade operacional
A responsabilidade operacional é o trabalho de manutenção que permanece com uma equipe, incluindo atualizações da aplicação, proteção de dados e acesso, mesmo em computação gerenciada.
Migrar para contêineres sem servidor elimina a atualização do host, mas deixa as bibliotecas vulneráveis da aplicação para a equipe corrigir.

S

Serviço do Kubernetes (Service)
Um serviço do Kubernetes fornece um nome e um endereço estáveis para acessar um conjunto variável de pods, separando os clientes dos endereços dos pods.
Os clientes continuam acessando o serviço de pedidos enquanto pods substitutos recebem endereços de rede diferentes.
Slot de implantação
Um slot de implantação é um ambiente de hospedagem separado para uma aplicação do App Service, que permite testar uma versão antes da troca com a produção em camadas adequadas.
A equipe verifica uma versão em homologação enquanto os clientes continuam usando a versão atual de produção.
Software como serviço (SaaS)
O software como serviço fornece uma aplicação pronta operada por seu fornecedor, para que os clientes usem o software em vez de implantar seu próprio código.
Uma organização usa um pacote de escritório hospedado em vez de desenvolver e manter seu próprio editor de documentos.

T

Tamanho da instância
Um tamanho de instância especifica as vCPUs, a memória e a capacidade relacionada fornecidas por um tipo específico de VM.
Passar de m7g.large para m7g.xlarge dobra as vCPUs e a memória, mantendo a mesma família.
Tarefa do ECS
Uma tarefa do ECS é uma unidade de contêineres em execução definida para o Amazon ECS, usando hosts EC2 gerenciados pelo cliente ou a computação do Fargate.
Um serviço ECS mantém a quantidade desejada de tarefas em execução enquanto um balanceador de carga distribui requisições web.
Tarefa em contêiner
Uma tarefa em contêiner executa uma carga de trabalho empacotada até a conclusão, em vez de atender continuamente a requisições.
Uma exportação noturna de dados usa uma tarefa em contêiner com um limite de duração suficiente para concluir o relatório.
Terminação TLS
A terminação TLS descriptografa HTTPS em um ponto de entrada para que ele possa examinar e rotear requisições da aplicação.
Um balanceador de carga de aplicação faz a terminação de HTTPS antes de selecionar um back-end usando o caminho da requisição.

V

Verificação de integridade
Uma verificação de integridade é um teste repetido da capacidade de um destino de atender ao trabalho, usado para retirar destinos com falha do novo tráfego ou acionar reparos configurados.
Várias respostas malsucedidas do ponto de extremidade de integridade da aplicação fazem o balanceador parar de rotear novas requisições para ele.
Virtualização de desktops
A virtualização de desktops executa desktops remotamente e transmite sua interface para os dispositivos dos usuários.
Funcionários acessam desktops hospedados na nuvem pelo Azure Virtual Desktop em vez de executar tudo localmente.

Sobre esta aula

Por StudeliRelatar um erro

Crie seus próprios Materiais de Estudo

Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.

Começar