Você está na página 1de 14

1

1. Introdução

A Computação em Nuvem permitiu a criação de um novo modelo para a Tecnologia


da Informação (TI) que permite que a infraestrutura tecnológica de uma empresa opere de
forma mais eficiente e responda mais rapidamente às estratégias do negócio. Este novo
paradigma de computação, foi com certeza, um avanço bastante significativo a área da
comunicação, permitindo explorar ao máximo os recursos computacionais, quer seja a
distância ou presente. Neste trabalho, pretendo fazer a abordagem desse paradigma,
apresentando os conceitos principais ligados a ideia de computação em nuvem,
apresentando a relação deste, com os conceitos relacionados a virtualização, descobrindo,
como este, passa a ser importante para computação. De certeza há uma grande diferença,
no que diz respeito a computação, entre os dias antes, e depois da computação em nuvem e
virtualização. De certeza que a ciência da computação passou a ser mais benéfica na
presença destes.

Palavras – chaves: computação-em-nuvem, virtualização, máquina-virtual,


ambiente -virtual, escalabilidade.
2

2. Definição

Segundo a definição do NIST (National Institute of Standards and Technology – USA)


a computação em nuvem representa um conveniente modelo de acesso, sempre que for
necessário, a um conjunto compartilhado de recursos computacionais configuráveis, tais como,
redes, servidores, armazenamento, aplicações e serviços, que podem ser disponibilizados
rapidamente, e para isto o esforço de gerenciamento e interação com o provedor dos serviços
é mínimo ou nenhum (Borges, Souza & Schulze, 2011).

O termo computação em nuvem (do inglês cloud computing) está associado a um novo
paradigma na área de computação. Basicamente, esse novo paradigma tende a deslocar a
localização de toda a infraestrutura computacional para a rede. Com isso, os custos de software
e principalmente de hardware podem ser consideravelmente reduzidos (Vaguero et al. 2009).

Embora este assunto esteja sendo amplamente discutido nos dias de hoje, ainda não há
uma definição completa do termo. Na literatura, podemos encontrar uma infinidade de
definições que em algumas vezes podem ser semelhantes, e em outras podem apresentar
conceitos diferentes. Por exemplo, alguns autores defendem que a escalabilidade e o uso
otimizado dos recursos são características chave da computação em nuvem, enquanto outros
discordam, afirmando que esses elementos não são características, e sim requerimentos de uma
infraestrutura que suporta esse novo paradigma da computação (Vaguero et al. 2009).

O trabalho de VAQUERO et al. 2009 tem o objetivo de encontrar uma definição geral
para o termo, com vista a contemplar a maior parte das características expostas por diversos
autores. A definição universal que foi elaborada considera principalmente três conceitos:
virtualização, ou seja, a criação de ambientes virtuais para os usuários, escondendo as
características físicas da plataforma computacional; escalabilidade, que diz respeito à
capacidade de aumento ou redução do tamanho dos ambientes virtuais, caso seja necessário; e,
por último, modelo pay-per-use, em que o usuário só paga por aquele serviço que consome
(como citado em Chirigati, 2009). Essa definição encontra-se a seguir.

Computação em Nuvem, como o próprio nome sugere, engloba as chamadas nuvens,


que são ambientes que possuem recursos (hardware, plataformas de desenvolvimento e/ou
serviços) acessados virtualmente e de fácil utilização. Esses recursos, devido à virtualização,
podem ser reconfigurados dinamicamente de modo a se ajustar a uma determinada variável,
permitindo, assim, um uso otimizado dos recursos. “Esses ambientes são, em geral,
explorados através do modelo pay-per-use.” (como citado em Chirigati, 2009).
3

De modo que a infraestrutura computacional se localize na rede, os aplicativos e os


dados dos computadores pessoais e portáteis são movidos para grandes centros de
processamento de dados, mais conhecidos como data centers. Os sistemas de hardware e
software presentes nos data centers provêem aplicações na forma de serviços na Internet
(Dikaiakos et al. 2009). Cria-se, assim, uma camada conceitual – uma nuvem (Figura 1) – que
esconde a infraestrutura e todos os recursos, mas que apresenta uma interface padrão que
disponibiliza uma infinidade de serviços. Uma vez que o usuário consiga se conectar a Internet,
ele possui todos os recursos a sua disposição, sugerindo um poder e uma capacidade infinitos
(Voas e Zhang, 2009).

Figura 1. A nuvem é uma camada conceitual que engloba todos os serviços disponíveis,
abstraindo toda a infraestrutura para o usuário (Chirigati, 2009).

Em suma, podemos destacar três principais aspectos que são novos na computação em
nuvem, em relação aos modelos anteriores (Armbrust et al. 2009):

a) a ilusão da disponibilidade de recursos infinitos, ilimitados: o conceito da


nuvem sugere que o usuário tem em suas mãos toda a Internet e os seus serviços;
b) a eliminação de um comprometimento com antecedência por parte dos
usuários: uma empresa pode começar usando poucos recursos de hardware, e, à medida
que for crescendo, ou seja, à medida que for necessário, pode ir aumentando a quantidade
de recursos usados, sem que haja um comprometimento anterior em relação a essa
quantidade; a escalabilidade é uma das características responsáveis por esse aspecto;
4

c) a habilidade de pagar pelo uso dos recursos à medida que eles são utilizados:
o modelo pay-per-use pode usar, por exemplo, uma métrica de processadores por hora, ou
de armazenamento por dia, para cobrar pelos serviços; isso permite que os recursos sejam
liberados caso não sejam utilizados, evitando um consumo desnecessário.
3. Componentes

Os principais componentes sobre os quais a computação em nuvem se baseia não são


idéias ou conceitos novos, mas sim tendências que já haviam sido previamente estabelecidas.
Portanto, com base nesses componentes, a computação em nuvem não é algo novo. Porém, por
outro lado, ela é inovadora no sentido de reunir todos esses componentes em uma infraestrutura
maior com características singulares (Sun, 2009a)

Em seguida apresentarei um dos principais componentes da computação em nuvem.

3.1 Virtualização

Um dos componentes chave da computação em nuvem é a virtualização.

3.1.1 O que é virtualização e quais são suas formas de aplicações?

Para que se possa entender o conceito de virtualização, é interessante fazer um paralelo


entre os significados do que é real e do que é virtual. O primeiro está associado à
características físicas e concretas, o segundo, por sua vez, às características abstratas e
simuladas. Desta forma a virtualização pode ser entendida como a criação de um ambiente
virtual que simula um ambiente real, permitindo a utilização de diversos sistemas e aplicativos
sem a necessidade de acesso físico à máquina na qual estão hospedados. Esse ambiente virtual
é chamado de máquina virtual (Chirigati, 2009; Sousa, Sant’Anna & Vieira, pag. 2, 2017)

As máquinas virtuais, por exemplo, podem ser usadas para emular diversos sistemas
operacionais em uma única plataforma computacional. Assim, forma-se uma camada de
abstração dos recursos dessa plataforma, alocando-se um hardware virtual para cada sistema
(Chirigati, 2009).

Isso, de certa forma, reduz a relação de dependência que os recursos de computação


exercem entre si, pois permite a dissociação entre o aplicativo e o sistema operacional que ele
utiliza. A vantagem deste recurso gira em torno dos custos. A virtualização tem como princípio
otimizar o uso da parte ociosa das máquinas, evitar que energia e espaço sejam desperdiçados
(Sousa et al., pág. 2, 2017).
5

É importante verificar que, com a virtualização, as aplicações e os serviços podem ser


desenvolvidos e implantados sem que haja a preocupação em relação à camada física dos
servidores. As máquinas virtuais são ditas serem as interfaces de mínimo denominador comum
entre os prestadores de infraestrutura e os desenvolvedores (prestadores de serviços) (Sun,
2009a).

Em suma, podemos destacar duas principais vantagens da virtualização para a


computação em nuvem. A primeira é a escalabilidade, ou seja, a capacidade de aumento e
redução da quantidade de recursos utilizados. A segunda é a abstração de toda a
infraestrutura para os usuários, característica muito importante para esse novo modelo de
computação (Chirigati, 2009).

As virtualizações podem ser feitas de diversas maneiras como: (a) virtualização do


hardware, (a) virtualização de servidores e (a) virtualização de aplicativos (Sousa, 2017).

3.1.2 A virtualização do hardware


A virtualização do hardware basicamente consiste em ter vários sistemas operacionais
operando numa mesma máquina. Para que seja viável faz-se uso de programas específicos que
geram máquinas virtuais, na qual serão operados cada sistema individualmente. Há duas
vantagens neste processo, a primeira é para os usuários que conseguirão usar os programas de
diversos sistemas operacionais em uma única máquina sem as inconveniências da
incompatibilidade dos recursos. A segunda é quanto aos servidores, que permite que, ao invés
de se ter diversos subservidores (que utilizam apenas uma porcentagem dos recursos das
máquinas em que estão hospedados), os processos sejam distribuídos de forma homogênea
entre um número menor de computadores (com isso, chegam mais próximos do aproveitamento
total de sua capacidade). Isso reduz a quantidade de assistência técnica, o espaço para alocar as
máquinas e o gasto com eletricidade necessários, gerando assim economia.
3.1.3 A virtualização de servidores ou hypervisor
A virtualização de servidores ou hypervisor é uma forma de dividir os recursos de um
servidor físico em vários servidores virtuais, também chamados de máquinas virtuais, de modo
que possa operar diversos sistemas operacionais no mesmo hardware físico isolados entre si.
As vantagens da adoção desta tecnologia são múltiplas como: Redução de downtime,
automação e gerenciamento e otimização da infraestrutura. As desvantagens são: grande
uso do espaço em disco, dificuldade de acesso direto ao hardware, grande consumo de
memória RAM e desempenho.
3.1.4 A virtualização de aplicativos
6

A virtualização de aplicativos consiste em ter uma cópia de determinado aplicativo,


instalada em um servidor virtual, os usuários que desejarem ter acesso a tal aplicativo, podem
utilizá-lo diretamente, sem a necessidade de tê-lo instalado na máquina física.

3.1.5 Paravirtualização e Clustering


Dois tipos de virtualização devem ser suportados na computação em nuvem, como
veremos a seguir.
3.1.5.1 Paravirtualização
Permite que um único servidor físico possa ser tratado como diversos servidores
virtuais.
3.1.5.2 Clustering
Permite que múltiplos servidores físicos possam ser tratados como um único servidor
virtual. A Figura 2 apresenta ambos os tipos de virtualização (os servidores virtuais estão
representados através das linhas pontilhadas).

Figura 2. Há dois tipos de virtualização que devem ser suportados na computação


em nuvem: (a) paravirtualização e (b) clustering (Chirigati, 2009).

4. Arquitetura

Os elementos principais da arquitetura sobre a qual a computação em nuvem se baseia


encontram-se mais bem explicados a seguir (Chirigati , 2009).

4.1.Atores
7

A computação em nuvem é composta por três atores principais (Vaquero et al. 2009): os
prestadores de serviços, também conhecidos como SPs (do inglês Service Providers); os
usuários dos serviços, também conhecidos como usuários das nuvens, e os prestadores de
infraestrutura, também conhecidos como IPs (do inglês Infrastructure Providers).

4.1.1. Os prestadores de serviços

Os prestadores de serviços são aqueles que desenvolvem e deixam os serviços


acessíveis aos usuários através de interfaces baseadas na Internet, como já explicado
anteriormente. Esses serviços, por sua vez, necessitam de uma infraestrutura sobre a qual
estarão instalados; essa infraestrutura é fornecida na forma de um serviço pelos prestadores de
infraestrutura. A Figura 3 demonstra essa relação entre os atores.

Figura 3. Os prestadores de serviços possuem uma relação de desenvolvimento


e gerenciamento com a interface da infraestrutura e com os serviços;
4.1.2. Os usuários dos serviços

Os usuários, por sua vez, são aqueles que utilizam os serviços disponíveis na nuvem.
(Figura baseada em Vaquero et al. 2009)

4.2.Camadas

A arquitetura da computação em nuvem pode ser dividida em três camadas abstratas


(Dikaiakos et al., 2009).A camada de infraestrutura é a camada mais baixa. É através dela que
8

os prestadores de infraestrutura disponibilizam os serviços de rede e armazenamento da nuvem.


Dessa forma, fazem parte dela servidores, sistemas de armazenamento, como os data centers, e
roteadores, por exemplo. A camada de plataforma possui uma abstração mais elevada e provê
serviços para que as aplicações possam ser desenvolvidas, testadas, implementadas e mantidas
no ambiente da nuvem pelos prestadores de serviços. Finalmente, a camada de aplicação é a
de mais alto nível de abstração, e aquela que oferece diversas aplicações como serviços para os
usuários (Figura 4).

Figura 4. Os principais atores que estão relacionados com as camadas de


aplicação, de plataforma e de intraestrutura são, respectivamente, os usuários das
nuvens, os prestadores de serviços e os prestadores de infraestrutura.

É importante lembrar que a nuvem esconde toda a infraestrutura para o usuário. O


elemento Interface da Infraestrutura (Figura 3) é o responsável por fazer a ligação entre a
infraestrutura e os prestadores de serviços. É através dele que tanto a infraestrutura como a
plataforma são oferecidas como serviços, de modo que haja o desenvolvimento das aplicações
que serão disponibilizadas aos usuários.

4.3.Cenários
A computação em nuvem distribui os recursos na forma de serviços. Esses serviços, por
sua vez, podem ser disponibilizados em camadas abstratas. Com isso, podemos dividir a
computação em nuvem em três cenários, em relação aos serviços oferecidos (Chirigati, 2009):
IaaS, PaaS e SaaS.
9

4.3.1 Infrastructure as a Service (IaaS)


IaaS (do inglês Infrastructure as a Service) diz respeito aos serviços oferecidos na
camada de infraestrutura (Sun 2009a). Esses serviços incluem servidores, sistemas de
armazenamento, roteadores e outros sistemas que são agrupados e padronizados a fim de serem
disponibilizados pela rede. É válido ressaltar que são os prestadores de infraestrutura que,
através da virtualização, oferecem esses serviços por demanda aos prestadores de serviços
(Vaquero et al. 2009)
A Computação de Alto Desempenho (em inglês, High-Performance Computing) pode
se beneficiar consideravelmente com as nuvens que provêem IaaS, uma vez que esse tipo de
computação exige uma grande capacidade de processamento. A paralelização dos dados, por
exemplo, pode ser implementada com base na virtualização: as execuções e/ou os dados podem
ser distribuídos através de múltiplas máquinas virtuais (Sun 2009a).
4.3.1.1.Vantagens
Algumas vantagens da utilização de IaaS são descritas a seguir (Borges et al., 2011):
a) real possibilidade dos gestores da empresa ficarem totalmente focados
nas regras dos seus negócios, sem preocupações com gerenciamento e manutenção da
infra-estrutura;
b) Não requer investimentos iniciais em infra-estrutura, visto que os
recursos físicos são propriedade do provedor;
c) possibilidade de prever os investimentos futuros necessários para a
consolidação do ambiente de TI;
d) garantia de evolução tecnológica dos equipamentos e sistemas de rede
necessários ao crescimento da empresa, fornecida pelo provedor da infraestrutura;
e) redução de paradas (downtime) em equipamentos de rede;
f) possibilidade de aumento da produtividade da equipe, visto que o foco
pode ser específico;
g) gestão da TI sem consumir tempo dos gestores locais da empresa e nem
investimentos em capacitação de profissionais de TI;
h) suporte e manutenção são de responsabilidade do provedor;
i) custo operacional fixo, sendo cobrado pela utilização, possivelmente
através de pagamento mensal.
4.3.2 Platform as a Service (PaaS)
PaaS (do inglês Platform as a Service) encapsula uma camada de software e a
disponibiliza como um serviço. Este serviço, por sua vez, serve de plataforma para que serviços
10

de mais alto nível possam ser desenvolvidos (Sun 2009a) O PaaS é oferecido na camada de
plataforma por prestadores de serviços, e os seus usuários também são prestadores de serviços.
O objetivo do PaaS é facilitar o desenvolvimento de aplicações destinadas aos usuários de uma
nuvem, criando uma plataforma que agiliza esse processo (Chappell 2008).
Os prestadores de serviços que produzem um PaaS, por exemplo, podem construir essa
plataforma considerando a integração de um sistema operacional, de um mediador (em inglês,
middleware), de softwares de aplicação e de um ambiente de desenvolvimento. Os prestadores
de serviços que usarão essa plataforma vêem-na como uma Interface de Programação de
Aplicativos, ou API (do inglês Application Programming Interface). Eles irão interagir com a
plataforma através da API sem ter a preocupação de gerenciar e escalar os recursos, o que torna
o processo de desenvolvimento de aplicações mais rápido e simples. Por outro lado, esses
prestadores de serviços ficam limitados pelas capacidades que a plataforma pode oferecer (Sun
2009a).
Um PaaS é construído utilizando-se um ou mais IaaS. A camada de infraestrutura,
assim, permanece transparente aos prestadores de serviços que utilizam o PaaS. Além disso,
podem ser usados também um ou mais SaaS (estes serão explicados a seguir). Os softwares de
aplicação citados acima, por exemplo, seriam SaaS usados no desenvolvimento da plataforma
(Chappell 2008).
4.3.2.1 Vantagens
Algumas vantagens da utilização de PaaS são descritas a seguir (Borges et al., 2011):
a) menor investimento inicial, fato que representa um menor risco ao
negócio, visto não ser necessário investimentos com infra-estrutura, softwares básicos
como sistemas operacionais e softwares adicionais necessários para executar as
aplicações necessárias ao ambiente de desenvolvimento. Ocorre também uma redução
de custos, considerando que só é pago o que efetivamente for utilizado, sendo os custos
relativos a manutenção da infra-estrutura de responsabilidade do provedor;
b) atualizações e novas funcionalidades são disponibilizadas de forma
imediata, não sendo necessário dedicar especialistas para estas funções;
c) suporte mais ágil com soluções implementadas rapidamente, onde os
problemas encontrados são tratados e a solução é disponibilizada de forma transparente
a todos os usuários sem a necessidade de um tratamento individual que retarda a
disponibilização da correção;
d) a empresa pode focar seus esforços no seu negócio, sem despender
energia com a escolha e manutenção de sistemas;
11

e) aumento da disponibilidade e segurança dos dados. É um aspecto muito


importante porque muitas empresas ainda não possuem procedimentos de backup,
restauração e planos de contingência para o caso da perda de informações ou falha de
hardware.
4.3.3 Software as a Service (Saas)
SaaS (do inglês Software as a Service) representa os serviços de mais alto nível
disponibilizados em uma nuvem. Esses serviços dizem respeito a aplicações completas que são
oferecidas aos usuários. Uma única instância de cada uma dessas aplicações permanece em
execução na nuvem e, através da virtualização, ela serve múltiplos usuários (Sun 2009a).
Um SaaS é disponibilizado por prestadores de serviços na camada de aplicação. Ele
roda inteiramente na nuvem e pode ser considerado uma alternativa a rodar um programa em
uma máquina local. Softwares de aplicação, como processadores de texto e sistemas de banco
de dados, são exemplos de SaaS.
Abaixo, na Figura 5, é mostrado um exemplo simples da relação entre os três cenários
apresentados. Nele, dois IaaS, um que disponibiliza um sistema de armazenamento e outro que
oferece um servidor, são usados para a criação de um PaaS, que, por sua vez, é utilizado para o
desenvolvimento de duas aplicações.

Figura 5. Exemplo simples da relação entre os cenários, onde dois IaaS são
usados para a construção de um PaaS, que, por sua vez, é utilizado para a implementação
de duas aplicações (SaaS).
4.3.3.1 Vantagens
12

Algumas vantagens da utilização de SaaS são descritas a seguir (Borges, 2011):

a) os aplicativos SaaS estão disponíveis a partir de quaisquer computadores


ou dispositivos computacionais, a qualquer hora e em todos os lugares, por isto SaaS
tende a ter altos índices de adoção, com pouco esforço para aprendizagem, dado que já
existe uma familiarização geral com o uso da internet;
b) não existem taxas de licença, sendo cobrado apenas pela utilização, o que
significa menor custo inicial, sendo o provedor o gerente de toda a infraestrutura de TI,
bem como seus custos e ainda os gerentes humanos;
c) as atualizações são transparentes e de única responsabilidade do
provedor, não existem arquivos para download ou para serem instalados. Além disto, o
provedor gerencia a disponibilidade e o cliente não tem que se preocupar em adicionar
hardware ou largura de banda com o crescimento de usuários;
d) os provedores podem escalar sua infra-estrutura de forma indefinida para
atender a demanda de um cliente, além de poder oferecer funcionalidades para atender
necessidades específicas, agregando integração a sistemas ERP (Enterprise Resource
Planning) legados ou sistemas de produtividade.
e) uma vantagem direta da computação em nuvem é a possibilidade de
acesso aos dados a partir de qualquer lugar, desde que haja uma conexão de boa
qualidade com a Internet. Os usuários não ficam presos a uma infraestrutura física
porque os seus dados e aplicativos são acessados através de serviços. Além disso, graças
ao modelo pay-per-use, o usuário só paga por aquilo que consome, não havendo gastos
excessivos e consumos desnecessários de recursos. Isso é possível graças à
escalabilidade dos recursos em uma nuvem. A escalabilidade, por sua vez, ainda é um
desafio nesse novo paradigma, e será mais bem descrita na próxima subseção.

f) outra vantagem que também pode ser obtida a partir da escalabilidade é


a minimização dos riscos de infraestrutura. Uma empresa, por exemplo, não precisa
comprar muitos recursos físicos, como servidores, para desenvolver uma aplicação que
pode ser ou não ser bem-sucedida. Uma nuvem híbrida também pode ser utilizada para
que os riscos de infraestrutura sejam minimizados. A responsabilidade da infraestrutura
passa a ser dos prestadores de infraestrutura, e não mais do usuário (Sun 2009a).
13

5. Conclusão
A computação em nuvem oferece vários benefícios para os seus usuários , possibilitando uma
ótima exploração dos recursos computacionais, garantindo o acesso a este pela internet,
podendo ser acessada mesmo a distancia, disponibilizando maior espaço de armazenamento e
evitando desperdícios de energia e outros recursos. Esta também oferece desvantagens como: o
acesso so é possível através da internet; pouca segurança quando comparada a outros sistemas
de operacionais. A virtualização é considerada, por algumas literaturas, um dos principais
componentes cda computação em nuvem.
14

6. Referências bibliográficas
VAQUERO, L., RODERO-MERINO, L., CACERES, J., LINDENER, M. A break in the
clouds: towards a cloud definition. SIGCOMM, 2008. ARMBRUST, M., FOX, M., GRIFFITH,
R., et al. Above the Clouds: A Berkeley View of Cloud Computing. University of Califórnia at
Berkeley Technical Report, 2009.
SOUSA, F., MOREIRA, L., MACHADO, J. Computação em Nuvem: Conceitos, Tecnologias,
Aplicações e Desafios. In: Antônio Costa de Oliveira;Raimundo Santos Moura;Francisco Vieira
de Souza. (Org.). III Escola Regional de Computação Ceará, Maranhão e Piauí (ERCEMAPI).
1 ed. Teresina: SBC, 2009, v. 1, p. 150-175.
DIKAIAKOS, M. D.; PALLIS, G.; KATSAROS, D.; MEHRA, P.; VAKA
SOUZA FILHO, F. Cloud Computing totalmente nacional. PC Magazine, setembro 2009.LI, A.
Cloud Computing – Distributed Internet Computing for IT and Scientific Research. IEEE
Internet Computing, 13(5): 10-13, setembro/outubro 2009.
VOAS, J.; ZHANG, J. Cloud Computing: New Wine or Just a New Bottle? IT Professional,
11(2): 15-17, março/abril 2009.
CHIRIGATI, Fernando Seabra. Computação em nuvem. Rio de janeiro, 2009.
SOUSA, Caroline Maciel. SANT’ANNA, Isys Nogueira de. VIERA, Lara Brenda Luz.
Computação em nuvem e virtualização. Brasil, 2017.
BORGES, Hélber Pereira, et al., Computação em nuvem. Brasil, 2017.
CHAPPELL, D. A Short Introduction to Cloud Platforms: An Enterprise-Oriented View. David
Chappell & Associates, agosto 2008.

Você também pode gostar