Fundamentos da computação em nuvem

As 5 características da computação em nuvem

Um mergulho nas 5 características essenciais do NIST, autoatendimento sob demanda, amplo acesso à rede, pooling de recursos, elasticidade rápida e serviço medido, e como usá-las como teste para saber se um serviço é mesmo computação em nuvem.

Iniciante 16 minutos 4 Objetivos de aprendizado
  1. Definir cada uma das 5 características essenciais do NIST para a computação em nuvem
  2. Dar um exemplo concreto de cada característica em ação
  3. Aplicar as 5 características como teste para determinar se um serviço é mesmo computação em nuvem
  4. Explicar como a virtualização especificamente habilita o pooling de recursos e a elasticidade rápida

O teste das 5 perguntas

Duas lições atrás você aprendeu a definição formal do NIST para computação em nuvem. Essa definição nomeia 5 características essenciais, mas só as mencionou pelo nome. Esta lição é onde elas ganham o lugar de verdade: cada uma é um traço específico e testável, e um serviço precisa mostrar as 5 antes de contar de fato como computação em nuvem e não só "um servidor em outro lugar".

Trate esta lição como uma lista de verificação. Quando alguém chamar um serviço de "nuvem", agora você pode perguntar, uma por uma, se ele realmente tem cada traço.

1. Autoatendimento sob demanda

Você consegue provisionar recursos de computação, subir um servidor, pedir mais armazenamento, no momento em que precisa deles, sem ligar para ninguém nem esperar uma pessoa do provedor agir. Você abre um console, uma API ou uma linha de comando, faz o pedido, e acontece.

Compare isso com o exemplo de hospedagem de duas lições atrás: mandar um e-mail ao suporte e esperar um dia por mais RAM falha esse teste na hora. Um serviço de nuvem real nunca coloca uma etapa de aprovação humana entre seu pedido e o recurso aparecer.

2. Amplo acesso à rede

O serviço é alcançado através de redes padrão, na prática a internet, a partir de uma mistura de dispositivos comuns, notebooks, celulares, tablets, usando ferramentas padrão como um navegador ou uma API documentada, em vez de exigir hardware especializado ou uma conexão privada à qual só você tem acesso.

É por isso que você consegue administrar uma conta de nuvem pelo celular em um trem e por um notebook na sua mesa com o mesmo login, a mesma interface e o mesmo resultado. Ao serviço não importa qual dispositivo fez o pedido.

3. Pooling de recursos

O provedor atende muitos clientes a partir do mesmo hardware de base usando um modelo multi-inquilino, e aloca recursos dinamicamente conforme a demanda. O ponto importante é que normalmente você não sabe, nem precisa saber, em qual máquina física ou em qual rack de qual data center sua carga de trabalho está rodando em um dado momento.

Essa é a característica que a virtualização da lição anterior torna possível. Um hypervisor que divide um servidor físico em várias máquinas virtuais isoladas é exatamente como um provedor faz pooling de hardware entre milhares de clientes enquanto mantém os dados e a carga de trabalho de cada um separados.

4. Elasticidade rápida

A capacidade pode escalar para fora, adicionando mais recursos, ou para dentro, liberando recursos, com rapidez, muitas vezes de forma automática, para se ajustar à demanda real, e da perspectiva do cliente o conjunto de recursos disponível parece quase ilimitado.

Imagine o site de uma loja durante uma liquidação: o tráfego dispara 20 vezes acima do normal por 3 horas, e depois cai. Uma configuração em nuvem pode adicionar servidores para absorver esse pico no momento em que ele acontece e removê-los quando a liquidação termina, então a loja paga essa capacidade extra só pelas horas que realmente rodou. A infraestrutura on-premises, lembre-se da primeira lição deste tema, não consegue fazer isso: ela fica presa à capacidade que já foi comprada.

5. Serviço medido

Os sistemas em nuvem medem automaticamente o uso de recursos, sejam horas de computação, gigabytes armazenados ou dados transferidos, e tanto o provedor quanto o cliente conseguem ver esse uso com transparência. Essa medição é o que torna possível o preço de pagamento por uso: você é cobrado pelo que o sistema realmente mediu, não por uma alocação fixa que talvez tenha usado ou não.

Você vai cobrir os modelos de preço construídos sobre essa medição, sob demanda, reservada e outros, mais adiante no tema de Economia da Nuvem deste mesmo domínio.

Rodando a lista de verificação

Junte as 5 e você tem um teste rápido para qualquer serviço que alguém chamar de "nuvem":

CaracterísticaA pergunta que precisa ser feita
Autoatendimento sob demandaVocê consegue obter você mesmo, agora, sem aprovação humana?
Amplo acesso à redeVocê consegue alcançar de qualquer dispositivo comum pela internet?
Pooling de recursosVocê está compartilhando hardware de base com outros clientes, com segurança e de forma invisível?
Elasticidade rápidaA capacidade consegue escalar para cima e para baixo rápido para se ajustar à demanda real?
Serviço medidoVocê é cobrado de acordo com o uso medido e real?

Um serviço ao qual falte mesmo que uma dessas não pode ser chamado de computação em nuvem completa segundo a definição do NIST, não importa como seja vendido. O exemplo de hospedagem de antes falha a característica 1. Um data center privado e virtualizado com um processo de chamado lento para VMs novas falha a característica 1 e muitas vezes a 4. Um serviço que só mostra 3 das 5 ainda pode ser útil, mas chamá-lo de "nuvem" é uma decisão de marketing, não uma decisão técnica.

O que você leva daqui em diante

Você já consegue reconhecer computação em nuvem de verdade testando um serviço contra esses 5 traços em vez de confiar em um rótulo. O próximo tema deste domínio passa do que é a nuvem para como ela é implantada: pública, privada, comunitária e híbrida, os 4 modelos que descrevem quem compartilha o conjunto de recursos com você.