Se já é complicado definir a computação em nuvem, que dirá falar sobre a arquitetura de
sistemas de computação em nuvem, pois
como este tema ainda é muito recente, não possui uma forma fixa aparente. Cada empresa
possui uma arquitetura otimizada para o
seu tipo de serviço. Vamos aqui inicialmente mostrar uma arquitetura geral dos sistemas de
computação em nuvem e após isso
estudaremos um caso mais específico.
Para entendermos a arquitetura geral de um sistema de computação em nuvem, vamos
primeiro deixar claro o que é uma máquina
virtual. Máquina virtual é um ambiente que é executado isolado das demais máquinas físicas,
apesar de elas compartilharem os
mesmos recursos de hardware. Existe uma camada entre os sistemas operacionais de cada
máquina virtual e a camada de
hardware, a chamada camada de virtualização, ou Hipervisor.
Essa camada de virtualização é responsável por escalonar no tempo as operações requisitadas
por cada sistema operacional de
cada máquina virtual. Toda vez que um sistema operacional faz uma requisição para usar o
hardware, a camada de virtualização fica
encarregada de dar acesso a esse SO de realizar tal operação. Porém como podem ser muitas
máquinas virtuais em cada máquina
física, a camada de virtualização tem de prover este este acesso de forma à não comprometer a
performance de cada máquina virtual
e seguindo um regime de fatias. O conceito de fatia é apenas uma abstração, que dá a idéia de
que cada máquina virtual possui
acesso a apenas uma parcela do hardware. Na realidade as máquinas virtuais são escalonadas
pelo Hipervisor para utilizarem o
hardware alternadamente e seguindo um regime de prioridades.
Cada máquina virtual pode ter uma prioridade diferente no acesso ao hardware. Na computação
em nuvem a sua prioridade de
acesso em geral é proporcional ao preço pago. Tal prioridade é definida também na camada de
virtualização (no nosso caso, pelo
provedor de Infraestrutura). A camada de virtualização em geral é responsável pela instância de
uma nova máquina virtual ou pela
remoção dela.
O Provedor de Serviço então ganha o acesso a uma máquina virtual e cabe a ele operar aquela
máquina virtual e oferecer aos seus
clientes o serviço que preferir.