• Nenhum resultado encontrado

Figura 2.6: Modelo de execução do KVM

tais como KVM, Xen, VMware ESXi, VMware Workstation/Player, Hyper-V da Micro- soft, entre outros.

A instalação do libvirt inclui APIs, um daemon (libvirtd) e também uma command line interface(CLI), virsh. Usualmente, a gestão de máquinas virtuais num ambiente KVM é feito recorrendo a uma interface de linha de comandos, ou seja, recorrendo à execução de comandos virsh, com auxilio de outras CLI tais como virt-viewer para visualização das VMs, virt-clone para operações de clonagem de VMs; ou através da interface gráfica virt- manager, estas são implementadas com a API do libvirt; estas ferramentas permitem a definição (através de XML) do hardware virtual dos sistemas convidados, o qual permite de uma forma prática a conceção dos recursos para a VM utilizar.

O libvirt integrado com o KVM, permite traduzir várias operações existentes no ci- clo de vida de uma VM, estes podem ser executado através do virsh, os comandos são: start, stop, pause, save, restore e migrate; outros comandos virsh são necessá- rios previamente ao ciclo de vida da VM, ou seja, são necessários para a definição da VM.

2.3

Computação em Nuvem

O recurso à virtualização originou poupanças, muito visíveis ao nível dos custos de aqui- sição e dos gastos de energia, e encurtou consideravelmente o tempo de espera pela en- trega de servidores (e, portanto, até um certo ponto, de aplicações e serviços) que se tra- duzem em melhorias nos serviços de TI que suportam as empresas. No entanto, algumas

2. ESTADO DAARTE 2.3. Computação em Nuvem

tarefas continuaram a ser bastante morosas, como a instalação e/ou (re-) configuração de software base (SO, etc.), a afetação de recursos de rede (interligar as VMs aos switches apropriados, configurar o isolamento entre redes, definir o endereçamento e o encami- nhamento, etc.) e de armazenamento. E, quando tais recursos deixam de ser necessários (por exemplo, VMs disponibilizadas para desenvolvimento e/ou testes) a sua “destrui- ção” (acompanhada das necessárias tarefas administrativas – anotar IPs livres, portas em switches, espaços em disco, etc.) é igualmente uma tarefa morosa.

Tudo estava pronto, então para a computação em nuvem, que, segundo o NIST (Na- tional Institute of Standards and Technology) se define como “. . . a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable com- puting resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”.

A virtualização aparece assim como a tecnologia base que permite criar pools de re- cursos partilhados, e um rápido aprovisionamento e libertação dos mesmos; um sofisti- cado e complexo sistema de orquestração permitirá fazer essas tarefas com um mínimo de interação humana. O acesso remoto à infraestrutura quer-se ubíquo e simples, pelo que a mediação através de portais (de utilizador, de consumidor e de provedor) aparece naturalmente, e o aspeto “a pedido” reforça a noção de que, para o utilizador, os recursos só precisam de ser afetados apenas quando necessários.

2.3.1 Modelos de Implantação

Os modelos de implantação distinguem-se em termos de propriedade (ownership) da nu- vem, ou seja: a quem pertence, quem gere, quem opera e quem consome os serviços disponibilizados pela plataforma.

Nuvem PrivadaÉ operada unicamente por uma organização, e pode ser gerida por

essa mesma organização ou por uma entidade externa. Habitualmente, a organização adquire todos os recursos, incluindo o espaço necessário, hardware, software e equipa- mentos de energia e controlos ambientais (Heat, Ventilation and Air Conditioning - HVAC), o que significa que é um investimento muito dispendioso. Tem, sobre a sua congénere pública a vantagem da propriedade dos dados ser indiscutível, já que estes estão contidos no perímetro da organização.

Nuvem Pública Uma nuvem é considerada pública quando o os seus serviços são

disponibilizados para utilização de um público externo (à organização que detém os recursos) que, naturalmente não necessita de dispor de infraestrutura própria. Sendo infraestruturas de grande dimensão, o seu grau de elasticidade – capacidade de afetar dinamicamente recursos a pedido e de os libertar quando não mais necessários – é ge- ralmente muito superior ao existente em clouds privadas. As questões relacionadas com a propriedade, a confidencialidade, e a segurança dos dados têm sido objecto de grande debate e estudo; por exemplo, alguns provedores de cloud têm criado centros de dados

2. ESTADO DAARTE 2.3. Computação em Nuvem

na Europa para satisfazer as legislações de alguns países europeus.

Nuvem ComunitáriaÉ uma nuvem partilhada entre organizações distintas, mas com

objectivos semelhantes (por exemplo, um grupo de municípios); podem ser geridas inter- namente, por uma ou mais das organizações participantes, ou por uma entidade externa. Os custos são, em geral, divididos entre as organizações o que muitas vezes é o bastante para tornar a aquisição e operação possíveis.

Nuvem HíbridaÉ um modelo pelo qual uma dada nuvem, tipicamente privada, re-

quisita temporariamente recursos a uma outra, tipicamente pública, para responder a picos de tratamento que necessitam de recursos que estão para além da capacidade da requerente. Ao contrário dos modelos anteriores, nos quais há geralmente uma relação de um-para-um entre a nuvem e a pilha de software que implementa os serviços de cloud, é comum nas nuvens híbridas a existência de pilhas distintas – por exemplo, uma organi- zação pode usar o VMware vCloud na sua cloud privada e “fazer burst” (solicitar recursos adicionais) à cloud Amazon EC2.

2.3.2 Modelos de Serviço

A disponibilização de serviços de computação na nuvem pode ser efetuada segundo três paradigmas distintos: Infraestrutura-como-Serviço (Infrastructure-as-a-Service, ou IaaS), Plataforma-como-Serviço (Platform-as-a-Service, ou PaaS), e Software-como-Serviço (Software- as-a-Service, ou SaaS); no entanto, mais recentemente, têm surgido muitos mais, de tal forma que já se fala de XaaS – Anything-as-a-Service.

Infraestrutura-como-ServiçoNo modelo IaaS, o consumidor adquire1 recursos: ser-

vidores (virtuais, quase sempre) com uma dada capacidade, expressa em número de co- res, dimensão da memória, espaço de armazenamento em disco, largura de banda das interligações de rede, etc.. No caso da IaaS ser do tipo privado, o consumidor pode até instalar na VM o sistema de operação e stack de software que desejar, mas nas insfraes- truturas IaaS públicas já não se passa assim: o consumidor pode escolher de entre um conjunto de imagens pré-definidas (designadas templates, ou golden images). A solução software de código aberto mais divulgada para clouds IaaS é sem dúvida o OpenStack; já no domínio das soluções comerciais as mais comuns são o VMware vCloud e o HP Helion. A Amazon, a Google, a IBM, a Microsoft e a Rackspace são exemplos de prove- dores públicos IaaS que usam, respetivamente, os stacks EC2 (Elastic Cloud 2), Google CE (Compute Engine), IBM SmartCloud Enterprise, Azure, e Rackspace Open Cloud (ba- seada no OpenStack).

Plataforma-como-Serviço

No modelo PaaS o fornecedor entrega uma plataforma de computação já assente numa infraestrutura; fornecendo todo o middleware necessário, tal como o ambiente de

1Note-se que o ”adquire” não pressupõe um pagamento efetivo, pois o modelo IaaS tanto pode ser usado