Como anteriormente referimos, o uso crescente de Tecnologias de Informação (TI) nas organizações leva geralmente a uma proliferação de servidores físicos o que as obriga, mais cedo ou mais tarde, a adoptar estratégias de consolidação de servidores, com a consequente redução de custos de hardware e energia. Resolvidas estas questões restam, contudo, outras - o uso de virtualização não reduz, por si só, o esforço de administração das infra-estruturas, nem resolve problemas de disponibilidade, desempenho, segurança, etc., que são questões que nem todas as organizações querem ou estão aptas a resolver, preferindo por vezes que “alguém” assuma esta responsabilidade.
A Computação na Cloud (CC), apresenta-se assim como uma sequência de passos nesse sentido, cada um correspondendo a um modelo de serviço (ver em 3.2) e resolvendo mais uma “fatia” dos problemas enunciados. A CC é actualmente associada a palavras chave como padronização, automatização, velocidade, disponibilidade, elasticidade, acesso global, e à ideia de usar um conjunto de recursos partilhados. As organizações podem então preocupar-se essencialmente com as melhorias operacionais e para isso, procuram soluções que possibilitem uma afectação (e, posteriormente, libertação) de recursos de forma rápida e automática.
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
The NIST Definition of Cloud Computing: [Online] Available: http://www.nist.gov/itl/csd/cloud-102511.cfm
3.1 Perímetro de uma cloud
Designamos por perímetro (ou modelo de implantação) de uma cloud a forma como caracterizamos o conjunto dos utilizadores com acesso aos serviços dessa cloud. Nesta secção apresentamos apenas os três tipos mais comuns, deixando de fora outros, como as clouds partilhadas e federadas.
Clouds Privadas
Ambientes construídos exclusivamente para os utilizadores de uma única organização. Nesta tipologia os recursos (infra-estrutura e aplicações) são totalmente detidos pela organização, podendo ser administrados pela própria organização, por terceiros, ou ainda pela combinação das duas entidades. A infra-estrutura está normalmente instalada num data center privado, e as maiores preocupações são geralmente a garantia de disponibilidade e o desempenho dos serviços e aplicações.
Clouds Públicas
Ambientes construídos para oferecer serviços quer a utilizadores individuais, quer a organizações. Nesta tipologia a infra-estrutura é geralmente detida pela organização que comercializa os referidos serviços, que são tipicamente cobrados na forma “pay-per-use”. As maiores preocupações da entidade gestora são garantir a privacidade e a segurança (note-se que os “utilizadores” podem, de facto, ser administradores dos servidores que detêm, e podem instalar software), o isolamento entre recursos detidos por utilizadores distintos, e ainda assim garantir bom desempenho dos serviços e aplicações.
Clouds Híbridas
As clouds híbridas representam a junção de dois modelos de cloud, privada e pública. Este modelo é normalmente implantado em organizações que têm picos de trabalho que, por uma ou outra razão, não podem suportar na sua cloud privada e, nessas alturas, a “elasticidade” é usada para aprovisionar recursos de uma cloud pública.
3.2 Modelos de serviço
Existem três modelos base de serviços de Cloud Computing que podem ser oferecidos às organizações, e que se diferenciam pelas configurações e responsabilidades do provedor de serviços, figura 17.
IaaS (Infrastructure as a Service)
No modelo “infra-estrutura como serviço”, o provedor oferece ao consumidor uma infra-estrutura de processamento e armazenamento com a configuração que se adequa às suas necessidades; o cliente não tem, assim, necessidade de adquirir servidores, racks, software e até mesmo espaço físico. São exemplos de provedores públicos IaaS a Amazon EC2 [2], e o GoGrid [3]; já o Eucalyptus [4], o vCloud (da VMware) e o HP CloudSystem Matrix são exemplo de produtos software para a criação de clouds privadas.
PaaS (Platform as a Service)
No modelo “plataforma como serviço” o provedor disponibiliza plataformas computacionais completas (incluindo, naturalmente, a infra-estrutura computacional) para os utilizadores/consumidores dessas plataformas integrarem as suas aplicações (existentes ou a desenvolver), sendo que estas serão posteriormente disponibilizadas na cloud. Como exemplo, indicam-se as plataformas LAMP (Linux, Apache, MySQL, PHP), Google AppEngine [5] e Microsoft Azure [6].
SaaS (Software as a Service)
Neste modelo, o provedor disponibiliza ao cliente final uma aplicação pronta- a-usar; como exemplos mencionam-se as Google Apps [7], Google Docs, e Microsoft
SharePoint Online. Este é o paradigma cloud por excelência: utilidade, facilidade
(interacção via browser), disponibilidade e, por vezes, até alguma capacidade de personalização.
Figura 17 - Relação entre serviços e responsabilidades
Associados à CC, vários modelos “As a Service” têm surgido para responder às necessidades das organizações; contudo, todos acabam por ser enquadrados nos três tipos base (Infra-estrutura, Plataforma, e Software) de acordo com os serviços que disponibilizam.
“Database As A Service (DBaaS or DaaS), Network As A Service (NaaS), DataCenter As A Service (DCaaS), Storage As A Service (StoraaS), Everything As A Service (EaaS), Data As A Service (DaaS), Security As A Service (SecaaS), Computing As A Service (CaaS), Desktop As A Service (VDI), Voice As A Service (VaaS), Communication As A Service (ComaaS), Testing As A Service (TaaS), Backup As A Service (BaaS), Monitoring As A Service (MaaS), Recovery As A Service (RaaS), Content Delivery Network As a Service (CDNaaS), Application As A Service (AaaS), Business Intelligence As A Service (BIaaS), etc.”
Cloud9IDE: [Online] Available: https://c9.io/
As relações entre os modelos IaaS, PaaS e SaaS são hierárquicas, como se pode observar na figura 18, que ainda ilustra os papéis do provedor de serviços, equipas de desenvolvimento e utilizadores finais. Como se observa, o IaaS fornece recursos de hardware e software ao PaaS e SaaS, o PaaS oferece ferramentas para desenvolvimento ao SaaS e por fim o SaaS executa e disponibiliza aplicações aos utilizadores finais.
Figura 18 - Relações e papéis dos envolventes nos modelos de Cloud Computing
3.3 Resumo
O presente capítulo descreve a tecnologia de Computação na Cloud (Cloud
Computing), vantagens do seu uso e conceitos tais como perímetro (onde se
enquadram designações como Clouds Privadas e Públicas, passando pelas Híbridas); e modelos de Serviço IaaS, PaaS e SaaS, sendo o IaaS o foco desta dissertação.
A virtualização apresenta-se como a tecnologia chave de todo este processo; ela desempenha e continuará a desempenhar um papel indispensável para que os prestadores de serviço continuem a oferecer ambientes de CC que permitem um dimensionamento correcto e economicamente ajustado das infra-estruturas de TI, oferecendo ainda funcionalidades como gestão centralizada, disponibilidade e segurança.