Você está na página 1de 48

COMPUTAO EM NUVEM

Hlder Pereira Borges1,2, Jos Neuman de Souza2, Bruno Schulze3, and Antonio
Roberto Mury3
1

Federal Institute of Education, Science and Technology of Maranho, So Lus, Brasil


2

Department of Computing, Federal University of Cear, Fortaleza, Brasil

Department of Computing, National Laboratory for Scientific Computing, Petrpolis, Brasil


helderpb@hotmail.com, {bruno.schulze, neuman.souza, a.roberto.m}@gmail.com

RESUMO

A computao em nuvem tem se estabelecido nos ltimos anos como uma


importante plataforma de pesquisa que apresenta uma srie vantagens e de
estimulantes desafios. Tarefas como obteno, compartilhamento, manipulao e
explorao de enorme quantidade de dados so absolutamente comuns no cenrio
atual, porm a execuo das mesmas demanda um grande volume de recursos.
A computao em nuvem pode contribuir com este cenrio a medida que
pode disponibilizar de forma indefinida recursos de processamento, memria,
armazenamento, dentre outros, para utilizao imediata.
A disponibilidade destes recursos agrega uma srie de vantagens para as
organizaes e usurios, visto que preocupaes com complexas instalaes e
manutenes de infra-estruturas deixam de existir e passam a ser de exclusiva
responsabilidade dos provedores de servios, alm de possibilitar que os usurios
se concentrem exclusivamente nas regras dos negcios que lhes so pertinentes.
Este cenrio de escalabilidade de servios, processos e infra-estrutura quase
ilimitados no possui precedentes e efetivamente melhora a flexibilidade relacionada
a estruturas de tecnologia de informao (TI) bem como pode diminuir o custo total
dos negcios pelo provimento de servios sob demanda.

Palavras Chaves: Computao em nuvem, IaaS, PaaS, SaaS.


i

SUMRIO

RESUMO ............................................................................................................................... i
SUMRIO............................................................................................................................. ii
LISTA DE FIGURAS ........................................................................................................... vi
1. INTRODUO ................................................................................................................. 1
1.1 Motivao ................................................................................................................. 1
1.2 Objetivo e Contribuio............................................................................................. 2
1.3 Estrutura do Trabalho ................................................................................................ 2
2. CONCEITOS FUNDAMENTAIS ...................................................................................... 3
2.1 Introduo ................................................................................................................. 3
2.2 Definies ................................................................................................................. 3
2.3 Caractersticas Essenciais .......................................................................................... 4
2.3.1 Virtualizao de Recursos ................................................................................ 5
2.3.2 Servios sob demanda...................................................................................... 5
2.3.3 Independncia de localizao ........................................................................... 5
2.3.4 Elasticidade e Escalabilidade ........................................................................... 6
2.3.5 Medio dos Servios ...................................................................................... 6
2.3.6 Repositrio de Recursos .................................................................................. 7
2.4 Modelos de Servios ................................................................................................. 7
2.4.1 Infraestrutura como Servio - IaaS ................................................................... 8
2.4.2 Plataforma como Servio - PaaS ...................................................................... 9
2.4.3 Software como Servio - SaaS ....................................................................... 10
2.4.4 Outros servios .............................................................................................. 10
2.5 Modelos de Implantao .......................................................................................... 10
2.5.1 Nuvem Privada .............................................................................................. 10
ii

2.5.2 Nuvem Pblica .............................................................................................. 11


2.5.3 Nuvem Comunidade ...................................................................................... 12
2.5.4 Nuvem Hbrida .............................................................................................. 13
2.6 Papis na nuvem ...................................................................................................... 14
2.7 Cenrios na nuvem .................................................................................................. 16
2.7.1 Usurio final Nuvem ................................................................................... 17
2.7.2 Organizao Nuvem Usurio final ........................................................... 17
2.7.3 Organizao Nuvem.................................................................................... 18
2.7.4 Organizao Nuvem Organizao ............................................................ 19
2.8 Concluso ............................................................................................................... 19
3. INFRA-ESTRUTURA COMO SERVIO - IaaS.............................................................. 20
3.1 Introduo ............................................................................................................... 20
3.2 Componentes e conceitos ........................................................................................ 20
3.3 Caractersticas e desafios ......................................................................................... 20
3.3.1 Mquinas Virtuais .......................................................................................... 20
3.3.2 Discos Virtuais............................................................................................... 21
3.3.3 Regio Geogrfica ......................................................................................... 21
3.3.4 Zonas isoladas de falhas................................................................................. 21
3.3.5 Service Level Agreement (SLA) .................................................................... 22
3.3.6 Computao Utilitria .................................................................................... 23
3.3.7 Medio dos servios ..................................................................................... 23
3.3.8 Software da Nuvem ....................................................................................... 23
3.3.9 Plataforma de Virtualizao ........................................................................... 24
3.3.10 Conectividade com redes e internet .............................................................. 25
3.3.11 Hardware do Computador ............................................................................ 25
3.4 Vantagens ................................................................................................................ 25
iii

3.5 Concluso ............................................................................................................... 26


4. PLATAFORMA COMO SERVIO - PaaS ....................................................................... 27
4.1 Introduo ............................................................................................................... 27
4.2 Caractersticas e desafios ......................................................................................... 27
4.2.1 Abstrao ....................................................................................................... 27
4.2.2 Automao..................................................................................................... 27
4.2.3 Servios na Nuvem ........................................................................................ 28
4.2.4 Arquitetura Multi-Clientes ............................................................................. 28
4.2.5 Interface de Usurio customizavel ................................................................. 29
4.2.6 Banco de dados configurveis ........................................................................ 29
4.2.7 Funcionalidades de Wokflow ......................................................................... 30
4.2.8 Controle sobre segurana e compartilhamento ............................................... 30
4.2.9 Modelo de integrao flexvel ........................................................................ 31
4.3 Vantagens ................................................................................................................ 31
4.4 Concluso ............................................................................................................... 32
5. SOFTWARE COMO SERVIO - SaaS............................................................................ 33
5.1 Introduo ............................................................................................................... 33
5.2 Analisando SaaS ...................................................................................................... 33
5.3 Caractersticas de um SaaS ...................................................................................... 34
5.3.1 Arquitetura multi-cliente ................................................................................ 34
5.3.2 Aplicaes configurveis ............................................................................... 35
5.3.3 Rpido desenvolvimento ................................................................................ 35
5.3.4 Rpida atualizao ......................................................................................... 35
5.3.5 Protocolos de integrao abertos .................................................................... 36
5.3.6 Funcionalidades Colaborativas....................................................................... 36
5.3.7 Disponibilidade ............................................................................................. 36
iv

5.3.8 Licenas ........................................................................................................ 37


5.3.9 Gerenciamento............................................................................................... 37
5.4 Desafios para adoo ............................................................................................... 37
5.5 Vantagens ................................................................................................................ 38
5.6 CONCLUSO ........................................................................................................ 38
6. CONCLUSO ................................................................................................................. 39
6.1 Concluso e Trabalhos Futuros ................................................................................ 39
BIBLIOGRAFIA ................................................................................................................. 40

LISTA DE FIGURAS

Figura 2.1 Modelo de Servio ............................................................................................. 8


Figura 2.2 Exemplo de Servios .......................................................................................... 8
Figura 2.3 Nuvem Privada................................................................................................. 11
Figura 2.4 Nuvem Pblica ................................................................................................. 12
Figura 2.5 Nuvem Comunidade......................................................................................... 12
Figura 2.6 Nuvem Hbrida................................................................................................. 13
Figura 2.7 Papis na nuvem ............................................................................................... 14
Figura 2.8 Diagrama dos papis ........................................................................................ 15
Figura 2.9 Cenrio 1 .......................................................................................................... 17
Figura 2.10 Cenrio 2 ........................................................................................................ 18
Figura 2.11 Cenrio 3 ........................................................................................................ 18
Figura 2.12 Cenrio 4 ........................................................................................................ 19

vi

1. INTRODUO

Este trabalho apresenta um estudo sobre a computao em nuvens, abordando


diversos aspectos inerentes a este paradigma com o objetivo de descrever sua
estrutura e principais modelos.
O propsito deste trabalho descrever este paradigma de modo genrico de
forma

abordar

diversos

aspectos

embora

sem

aprofundar

em

suas

especificidades.
Neste captulo sero apresentadas a justificativa e a motivao para o
desenvolvimento deste trabalho, assim como os objetivos e contribuies que se
pretende alcanar e ao final do captulo, ser descrito como est organizada o
restante deste documento.
1.1 MOTIVAO
A proposta bsica da computao em nuvem que a proviso de recursos
computacionais seja de responsabilidade de empresas especializadas ou que seja
abstrado o fornecimento dos mesmos em nveis que apenas especialistas venham
se preocupar em gerenci-los e mant-los, e ainda os mesmo sejam disponibilizados
como servios [Carr, 2008].
Neste contexto, a proviso de recursos precisa ser vista em vrias camadas,
onde cada camada representa um gnero especfico de recursos que podem ser
providos de diferentes formas.
Esta proposta extremamente desafiadora porque representa uma grande
quebra de paradigma, visto que at muito pouco tempo atrs, empresas e pessoas
fsicas utilizavam exclusivamente os recursos computacionais de forma proprietria,
ou seja, os donos e so responsveis pela gesto, manuteno e atualizao dos
recursos computacionais que dispem.
Com o advento deste novo paradigma surgem novos desafios

oportunidades pertinentes ao fornecimento e utilizao deste modelo para que seja


possvel a transio do modelo tradicional. Alm dos novos desafios, problemas j
1

resolvidos podem emergir devido o novo cenrio.


A nuvem pode ser considerada uma metfora para a internet, sendo baseada
em abstraes que ocultam a complexidade de infra-estruturas, onde cada parte
disponibilizada como servio e hospedada em centros de dados que utilizam
hardware compartilhado para computao e armazenamento [Buyya, 2009].
1.2 OBJETIVO E CONTRIBUIO
Este trabalho apresenta um estudo sobre a computao em nuvens, onde o objetivo
principal descrever a estrutura conceitual da nuvem, abordando seus conceitos e
particularidades bsicas e ainda definindo papis e possveis cenrios de utilizao
pertinentes ao ambiente da nuvem.
A principal contribuio deste trabalho o levantamento do estado da arte em
relao a computao em nuvem, descrevendo suas principais caractersticas,
modelos, desafios e vantagens de utilizao.
1.3 ESTRUTURA DO TRABALHO
Os prximos captulos deste trabalho esto estruturados da seguinte forma:

Captulo 2: apresenta algumas definies disponveis na literatura, bem como


caractersticas bsicas da computao em nuvem. Alm disto, so descritos
modelos de servio e implantao, sendo especificados papis de atuao
alm de alguns cenrios do ambiente.

Captulo

3:

descreve

uma

infra-estrutura

como

servio,

apontando

caractersticas, desafios e vantagens.

Captulo 4: aborda uma plataforma como servio, descrevendo suas


caractersticas, desafios e vantagens.

Captulo 5: discute o software como servio, destacando aspectos pertinentes


a sua adoo, caractersticas, desafios e vantagens.

Captulo 6: apresenta as concluses e possveis trabalhos futuros.

2. CONCEITOS FUNDAMENTAIS

2.1 INTRODUO
Uma definio para Computao em Nuvem que seja consenso entre os diversos
participantes do processo ainda no foi encontrada, portanto, a seguir so descritas
algumas definies interessantes e pertinentes encontradas na literatura.
2.2 DEFINIES
A computao em nuvem pode ser definida, de forma simplificada, como um
paradigma de infra-estrutura que permite o estabelecimento do SaaS (software
como servio), sendo um grande conjunto de servios baseados na web com o
objetivo de fornecer funcionalidades, que at ento, necessitavam de grandes
investimentos em hardware e software, e que funciona atravs de um modelo de
pagamento pelo uso.
Um modelo de computao onde as capacidades relacionadas a tecnologias
da informao so escalveis e elsticas, sendo que as mesmas so providas como
servios para os usurios finais atravs da internet, esta uma definio
disponibilizada pelo grupo Gartner em [Cearley, 2009].
Aps estudo onde foram consideradas vrias definies distintas para o
conceito de computao na nuvem, os autores de [Vaquero et al, 2008] chegaram a
definio de que nuvens so grandes repositrios de recursos virtualizados, tais
como hardware, plataformas de desenvolvimento e software, que so facilmente
acessveis. Alm disto, estes recursos podem ser configurados dinamicamente de
modo a ajustar-se a diferentes cargas de trabalho com a inteno de otimizar sua
utilizao. O modelo de cobrana utilizado para a explorao destes repositrios
est baseado em pagamento pelo uso.
Um ponto de vista que considera as caractersticas de hardware fornecido
em [Armbrust 2009], l a computao em nuvem definida como um paradigma
com a iluso de recursos infinitos, que estaro disponveis sempre que houver
necessidade. Ressalta-se que poucos investimentos iniciais em infra-estrutura so
3

necessrios e existe a possibilidade de contratao de recursos computacionais por


prazos curtos e especficos.
Para [Buyya, 2008], uma nuvem um tipo de sistema paralelo e distribudo
que consiste de uma coleo de computadores virtualizados e interconectados que
so provisionados de forma dinmica e apresentados como um ou mais recursos
computacionais unificados. Estes recursos so disponibilizados e controlados
atravs de acordos relacionados aos servios que so estabelecidos entre um
prestador e um consumidor sendo definidos a partir de negociaes entre as partes.
O termo computao em nuvem, segundo [Taurion, 2009], surgiu em 2006 em
uma palestra de Eric Schmidt, da Google, sobre como sua empresa gerenciava seus
data centers. Hoje, computao em nuvem, se apresenta como o cerne de um
movimento de profundas transformaes do mundo da tecnologia.
A nuvem uma representao para a internet ou infra-estrutura de
comunicao entre componentes arquiteturais, baseada em uma abstrao que
oculta complexidade da infra-estrutura. Cada parte desta infra-estrutura provida
como um servio, e estes servios so normalmente alocados em data centers,
utilizando hardware compartilhado para computao e armazenamento, [Sousa,

2009].
Encerrando, porm longe de esgotar as definies disponveis, apresenta-se
a definio do NIST (National Institute of Standards and Technology - USA), onde a
computao em nuvem representa um conveniente modelo de acesso, sempre que
for necessrio, a um conjunto compartilhado de recursos computacionais
configurveis, tais como, redes, servidores, armazenamento, aplicaes e servios,
que podem ser disponibilizados rapidamente, e para isto o esforo de gerenciamento
e interao com o provedor dos servios mnimo ou nenhum.
2.3 CARACTERSTICAS ESSENCIAIS
O NIST definiu algumas caractersticas que descrevem o modelo de computao em
nuvem, porm dado o amadurecimento e enriquecimento do mesmo, para este
trabalho, outras informaes e valores foram agregados. Estas caractersticas
4

representam algumas das vantagens deste paradigma e servem tambm para


melhor identificar e distinguir a computao em nuvem de outros paradigmas.
2.3.1 Virtualizao de Recursos
Existem muitas tecnologias j amadurecidas que proporcionam a virtualizao de
recursos computacionais, dentre elas, pode-se citar as mquinas virtuais,
virtualizao de redes, de memria e de armazenamento de dados.
Graas a este mecanismo, possibilita-se uma separao dos servios de
infra-estrutura dos recursos fsicos como hardware ou redes, sendo ento possvel,
por exemplo, tratar em uma camada inferior os aspectos relativos a localizao de
recursos, tornando ento transparente este contexto para as demais camadas na
estrutura da nuvem.
Com esta abstrao, os recursos podem ser disponibilizados e utilizados
como servios utilitrios, sem a necessidade de uma manipulao direta do
hardware.
2.3.2 Servios sob demanda
O cliente pode, unilateralmente, conforme sua necessidade, requerer maior ou
menor quantidade de recursos computacionais, tais como, tempo de processamento,
armazenamento ou largura de banda, estes recursos devem ser disponibilizados de
forma automtica, sem a necessidade de interao humana com o provedor de cada
servio.
Um provedor de recursos computacionais idealmente deve atender vrios
consumidores atravs de um modelo multi-clientes, utilizando diferentes recursos
fsicos e virtuais que podem ser atribudos e re-atribudos dinamicamente de acordo
com a demanda dos consumidores.
2.3.3 Independncia de localizao
Os recursos devem estar disponveis atravs da rede e internet, estando acessveis
por meio de dispositivos computacionais padres, promovendo sua utilizao por
plataformas heterogneas, como por exemplo, telefones celulares, laptops, PDAs,
etc.
5

Desta forma, a nuvem, aparentemente, seria um ponto de acesso centralizado


para as necessidades computacionais dos seus usurios, estando disponvel o
tempo todo e em qualquer lugar.
2.3.4 Elasticidade e Escalabilidade
A elasticidade provavelmente a caracterstica mais inovadora da computao em
nuvem. a capacidade de disponibilizar e remover recursos computacionais em
tempo de execuo, independente da quantidade solicitada.
Dentro deste contexto, temos a definio de escalabilidade, que est
relacionada com o requisito de aumento da capacidade de trabalho atravs da
adio proporcional de recursos.
Um prestador de servios no pode prever como seus clientes usaro os
servios disponveis, visto que, por exemplo, um cliente pode usar um servio
somente algumas vezes por ano, em pocas de pico, enquanto que outro pode uslo como uma plataforma de desenvolvimento principal para todas as suas
aplicaes.
Desta forma, o servio precisa estar disponvel sete dias por semana, 24
horas por dia, alm de ter sido concebido para escalar para cima em perodos de
alta demanda e para baixo quando a demanda cai, sendo acionada tambm quando
usurios so adicionados ou quando as especificaes do aplicativo mudam.
Esta capacidade de escalar alcanada mediante a caracterstica de
elasticidade dos servios da computao em nuvem.
Enfim, para os usurios, os recursos parecem ser ilimitados e podem ser
adquiridos em qualquer quantidade, ou seja, a demanda do usurio deve determinar
a liberao e aquisio dos recursos e isto deve ser executado de forma rpida,
transparente e sem interveno humana.
2.3.5 Medio dos Servios
Os servios de utilidade pblica, como gua, luz, telefone, devido sua importncia e
frequncia de utilizao no dia-a-dia, devem estar disponveis a qualquer momento,
porm os consumidores pagam aos provedores destes servios apenas a
6

quantidade consumida durante um determinado perodo.


Analogamente, os sistemas de gerenciamento da nuvem, controlam e
aperfeioam o uso dos recursos por meio de medies que consideram cada tipo de
servio provido.
Esta monitorao agrega transparncia tanto para o provedor quanto para o
cliente, sendo que normalmente so utilizados contratos referentes aos servios
(SLA - Service Level Agreement) para especificar as caractersticas dos servios,
parmetros de qualidade (QoS Quality of services)e determinar os valores que
sero cobrados.
Um SLA define os nveis de disponibilidade, funcionalidade, desempenho e
outros atributos relativos aos servios incluindo inclusive penalidades para o caso de
violao das regras por qualquer uma das partes.
2.3.6 Repositrio de Recursos
Os provedores de recursos computacionais so organizados para atender mltiplos
usurios atravs de um modelo multi-clientes. Para isto so utilizados diferentes
recursos fsicos e virtuais que podem ser atribudos e configurados dinamicamente
de acordo com a demanda de cada cliente.
O usurio no conhece a localizao fsica dos recursos computacionais,
porm pode ser possvel especificar sua prioridade de localizao com relao a
pas e centro de dados atravs do SLA.
2.4 MODELOS DE SERVIOS
O modelo conceitual encontrado com maior freqncia na literatura composto por
trs camadas, este modelo define um padro arquitetural para solues em
computao em nuvem e pode ser visto na figura 2.1, que tambm exibe uma breve
especificao de servios compatveis com cada camada. Na figura 2.2, observa-se
exemplos de aplicaes destacadas por tipo de camada.

Figura 2.1 Modelo de Servio

Figura 2.2 Exemplo de Servios

2.4.1 Infraestrutura como Servio - IaaS


Representa a camada inferior do modelo conceitual, sua base, ela composta por
plataformas para o desenvolvimento, teste, implantao e execuo de aplicaes
proprietrias. Segundo [Sousa, 2009], seu principal objetivo tornar mais fcil e
acessvel o fornecimento de recursos, como servidores, redes, armazenamento e
outros que so fundamentais na construo de um ambiente sob demanda podendo
ser tanto sistemas operacionais quanto aplicativos.
A infra-estrutura baseada na virtualizao dos recursos computacionais que
pode ser dinamicamente escalada para aumentar ou diminuir os recursos de acordo
com as necessidades das aplicaes.
Em resumo, IaaS relaciona-se com a capacidade que um provedor tem de
oferecer uma infra-estrutura de processamento e armazenamento de forma
transparente.
8

Algumas vantagens de trabalhar com IaaS so:

A reduo de investimentos em hardware, bem como a preocupao


com a depreciao dos mesmos;

Eliminao de custos com segurana e manuteno;

Otimizao do desempenho;

Liberao de espao fsico no empresa;

Flexibilidade para ampliar e reduzir a capacidade de processamento


e/ou armazenamento.

Alguns exemplos de IaaS so o Amazon Elastic Cloud Computing - EC2, o


Elastic Utility Computing Architecture Linking Your Programs To Useful Systems Eucalyptus e o Open Nebula.
2.4.2 Plataforma como Servio - PaaS
a camada intermediria do modelo conceitual, sendo composta por hardware
virtual disponibilizado como servio. Oferece tipos especficos de servios como
sistemas operacionais, banco de dados, servios de mensagens, servios de
armazenamento de dados e etc.
Uma PaaS fornece ambientes de desenvolvimento de software e facilita a
implantao de aplicaes sem os custos e complexidades relativos a compra e
gerenciamento do hardware e de software adjacentes que so necessrios ao
ambiente de desenvolvimento.
Muitos servios podem ser oferecidos atravs de uma PaaS, facilidades para
o projeto e desenvolvimento de aplicaes, testes, implantao, hospedagem,
integrao de servios web, segurana, integrao de banco de dados, persistncia,
etc. Todos estes servios tambm podem ser configurados como uma soluo
integrada, oferecida atravs da internet.
Como exemplo de PaaS pode-se citar a Google App Engine e Aneka
[Vecchiola et al, 2009].

2.4.3 Software como Servio - SaaS


Corresponde a camada mais externa do modelo conceitual, ela composta por
aplicativos que so executados no ambiente da nuvem. Podem ser aplicaes
completas ou conjuntos de aplicaes cujo uso regulado por modelos de negcios
que permitem customizao.
Os sistemas de software devem estar disponveis na internet atravs de uma
interface com um navegador web, logo devem ser acessveis de qualquer lugar a
partir dos diversos dispositivos dos usurios. Desta forma, novos recursos podem
ser adicionados aos sistemas de forma transparente aos usurios, tornando-se
assim a manuteno e evoluo dos sistemas tarefas bem mais simples.
A aquisio de licenas para uso dispensada para a utilizao do SaaS,
reduzindo-se ento custos operacionais.
Exemplos de SaaS so o Google Docs, Facebook e Microsoft SharePoint.
2.4.4 Outros servios
Existem muitos conceitos derivados, utilizados normalmente para diferenciar um
determinado tipo de servio, dentro os quais podemos citar, banco de dados como
servio (DaaS), testes como servio (TaaS), segurana, simulao, comunicao ,
etc, todos sendo oferecidos como servio.
2.5 MODELOS DE IMPLANTAO
Devido as diversas abordagens de computao em nuvem existem variados
modelos de implantao disponveis na literatura, porm os mais significativos na
literatura so descritos a seguir.
2.5.1 Nuvem Privada
Neste modelo a infra-estrutura da nuvem proprietria ou alugada por uma nica
organizao sendo exclusivamente operada pela mesma. Pode ser local ou remota
e so empregadas polticas de acesso aos servios.
Na figura 2.3 pode ser observado o modelo de nuvem privada.
10

Figura 2.3 Nuvem Privada

Segundo [Taurion, 2009], a caracterstica que diferencia as nuvens privadas


o fato da restrio de acesso, pois a mesma se encontra atrs do firewall da
empresa, sendo uma forma de aderir tecnologia, beneficiando-se das suas
vantagens, porm mantendo o controle do nvel de servio e aderncia s regras de
segurana da instituio.
A dificuldade e custo para se estabelecer uma nuvem privada podem s
vezes ser proibitivos, e o custo de operao contnua da nuvem pode exceder o
custo de uso de uma nuvem pblica. Porm, as nuvens privadas oferecem
vantagens sobre as pblicas, como um controle mais detalhado sobre os vrios
recursos que constituem a nuvem, dando a empresa todas as opes de
configurao possveis.
2.5.2 Nuvem Pblica
Em uma nuvem pblica, a infra-estrutura pertence a uma organizao que vende
servios para o pblico em geral e pode ser acessada por qualquer usurio que
conhea a localizao do servio, no sendo admitidas tcnicas de restrio de
acesso ou autenticao.
A figura 2.4 retrata uma nuvem pblica.

11

Figura 2.4 Nuvem Pblica

As nuvens pblicas tentam fornecer aos clientes elementos de TI livres de


complexidades, onde o provedor da nuvem assume as responsabilidades de
instalao, gerenciamento, disponibilizao e manuteno.
Normalmente os servios so oferecidos com configuraes especficas que
tentam acomodar os casos de uso mais comuns, por isto, nuvens pblicas no
representam a soluo mais adequada para processos que exigem segurana
elevada e restries regulamentares.
2.5.3 Nuvem Comunidade
A infra-estrutura deste modelo de nuvem compartilhada por diversas organizaes
que normalmente possuem interesses comuns, como requisitos de segurana,
polticas, aspectos de flexibilidade e/ou compatibilidade.
A figura 2.5 exibe um modelo de nuvem comunidade.

Figura 2.5 Nuvem Comunidade


12

Uma das organizaes pertencentes a comunidade responsabilizada pela


administrao da nuvem.
2.5.4 Nuvem Hbrida
Neste caso, a infra-estrutura geral deste da nuvem composta por pelo menos duas
nuvens, que preservam as caractersticas originais do seu modelo, porm esto
interligadas por uma tecnologia que possibilite a portabilidade de informaes e de
aplicaes.
Observa-se um modelo de nuvem hibrida na figura 2.6.

Figura 2.6 Nuvem Hbrida

Uma nuvem hbrida bem construda poderia atender processos seguros e


crticos, tais como recebimento de pagamentos de clientes, assim como aqueles que
so secundrios para o negcio, tais como processamento de folha de pagamento
de funcionrios.
A principal limitao desta nuvem a dificuldade em efetivamente se criar e
administrar uma soluo deste porte. Servios de diferentes fontes devem ser
obtidos e disponibilizados como se fossem originados de um nico local, e as
interaes entre componentes pblicos e privados podem tornar a implementao
13

ainda mais complicada.


2.6 PAPIS NA NUVEM
A definio de responsabilidades, acesso e perfil de cada usurio envolvido em uma
soluo de nuvens computacionais fundamental. [Marinos, 2009] classificou os
atores de acordo com o papel que desempenham e esta classificao pode ser vista
na figura 2.7 que exibe a interao entre cada parte.

Figura 2.7 Papis na nuvem

O diagrama da figura 2.8 retrata uma perspectiva de funcionamento do


ambiente de nuvem onde os consumidores de servios utilizam os servios
disponveis atravs da nuvem; os provedores de servio, por sua vez gerenciam a
infra-estrutura da nuvem e os desenvolvedores de servio so responsveis por criar
e disponibilizar os servios.
O consumidor de servios pode ser o usurio final ou uma organizao que
utiliza o servio, seja ele software, plataforma ou infra-estrutura. Dependendo do
servio e de suas regras, estaro disponveis diferentes interfaces de usurio e de
programao.
Existem tambm interfaces especificas para as funes administrativas, tais
como iniciar ou parar mquinas virtuais e controlar o armazenamento na nuvem.
O usurio no precisa ter conhecimentos sobre computao em nuvem para
utilizar uma aplicao hospedada na nuvem, porm a expectativa do consumidor e a
reputao do provedor so importantes no momento das negociaes sobre os
14

detalhes dos servios e seus requisitos.


O provedor disponibiliza os servios para os consumidores. No caso do
servio ser uma IaaS o provedor responsvel por manter o armazenamento, as
filas de mensagens, base de dados, outros middlewares e ainda hospedar o
ambiente para as mquinas virtuais. O cliente utiliza um servio como se fosse um
disco rgido, uma base de dados ou uma mquina, todos locais, embora no tenha
acesso a infra-estrutura fsica de suporte.
Quando o servio for uma PaaS, o provedor gerencia a infra-estrutura da
nuvem para uma plataforma que normalmente um framework para um tipo
particular de aplicao, sendo que o cliente no possui acesso a infra-estrutura por
baixo da plataforma.
E na ocasio que o servio for um SaaS, o provedor instala, gerencia e
mantm o software, sendo que no necessariamente o provedor o proprietrio da
infra-estrutura na qual o software est sendo executado. O cliente no possui
acesso a infra-estrutura e pode acessar exclusivamente sua aplicao.

Figura 2.8 Diagrama dos papis

A camada inferior do diagrama do provedor de servios exibe o firmware e o


hardware que so base para todas as outras coisas na estrutura da nuvem. Acima
disso est o kernel de software, tanto o sistema operacional quanto o gerenciador da
15

mquina virtual que hospeda a infra-estrutura da nuvem.


Os recursos e imagens virtuais incluem os servios bsicos da computao
em nuvem. As imagens virtuais que so controladas pelo gerenciador de mquinas
virtuais, incluem tanto as prprias imagens quanto os metadados necessrios para
gerenci-las.
A camada de gerenciamento muito importante para os provedores de
servio, sendo necessrios mecanismos de medies para determinar quem usou e
quanto usou dos servios, alm de formas de proviso para determinar como os
recursos sero alocados para os consumidores. O monitoramento importante para
acompanhar o status do sistema e dos recursos.
No nvel mais alto do gerenciamento, esto a cobrana que utiliza os
resultados da medio e o planejamento que deve garantir que a demanda seja
suprida. A gerncia de SLA serve para monitorar se os acordos esto sendo
cumpridos e ainda devem ser produzidos relatrios para a anlise pelos
administradores.
A segurana deve ser aplicada em todos os aspectos das operaes dos
provedores de servios e ainda podem ser necessrios vrios nveis de segurana.
O uso de padres abertos simplifica as operaes dentro do provedor e a
interoperabilidade com outros provedores.
Os desenvolvedores de servios, criam, publicam e monitoram os servios na
nuvem. Na maior parte dos casos so entregues aplicaes via SaaS, embora
existam desenvolvedores para middlewares (IaaS) e plataformas(PaaS).
O ambiente de desenvolvimento muito variado, quando um desenvolvedor
est criando uma aplicao SaaS, ele escreve cdigo para um ambiente hospedado
na nuvem sendo que a publicao e implantao feita na infra-estrutura do
provedor. Aps a publicao, anlises permitem que os desenvolvedores
monitorem o desempenho do seu servio e faam as alteraes necessrias.
2.7 CENRIOS NA NUVEM
A seguir so descritos alguns dos possveis casos de interao no ambiente da
16

nuvem, ilustrando as possibilidades mais comuns, porm sem representar uma lista
exaustiva.
2.7.1 Usurio final Nuvem
Neste cenrio, o usurio acessa dados ou aplicaes na nuvem. Aplicaes comuns
deste tipo incluem servios de email e sites de redes sociais, como Gmail,
Facebook, Linkedin que acessam seus dados, que so armazenados e gerenciados
na nuvem, atravs de uma aplicao sendo executada a partir de um browser.
A figura 2.9 ilustra este cenrio.

Figura 2.9 Cenrio 1

No existe nenhuma preocupao, com exceo do nome do usurio e a


senha de acesso, sendo que o usurio no tem idia de como a arquitetura
funciona, se ele puder usar a internet ele poder acessar seus dados.
2.7.2 Organizao Nuvem Usurio final
Observa-se que neste cenrio que uma empresa utiliza a nuvem para prover dados
e servios para os usurios. Este cenrio pode ser observado na figura 2.10.
Quando o usurio interage com a instituio, a mesma acessa a nuvem para
manipular os dados e ento retornar os resultados para o usurio requisitante. O
usurio pode ser uma pessoa tanto de dentro quanto um cliente externo.

17

Figura 2.10 Cenrio 2

2.7.3 Organizao Nuvem


Esta situao representa uma empresa que utilize os servios da nuvem para
resolver processos internos, sendo que a figura 2.11 descreve este cenrio.

Figura 2.11 Cenrio 3

Esta provavelmente a forma de utilizao mais comum da computao em


nuvem porque proporciona um maior controle pela instituio.
Os usos mais comuns envolvem o armazenamento de backups na nuvem ou
armazenamento de dados raramente utilizados; uso de mquinas virtuais para trazer
processadores on-line para momentos de alta demanda de recursos e obviamente o
descarte das mesmas quando a demanda diminuir; uso de aplicaes SaaS, como
email, agenda, etc; e ainda utilizao de bases de dados como parte de uma
aplicao o que permite um fcil compartilhamento destas bases com parceiros.

18

2.7.4 Organizao Nuvem Organizao


Pode ser observado neste cenrio duas organizaes que utilizam a mesma nuvem,
sendo o mesmo retratado na figura 2.12.

Figura 2.12 Cenrio 4

A idia principal desta proposta a hospedar recursos na nuvem de modo


que as aplicaes das empresas possam interoperar, sendo a cadeia de suprimento
um exemplo bvio deste cenrio.
2.8 CONCLUSO
Este captulo descreveu definies e caractersticas essncias da computao em
nuvem, bem como definiu modelos de servio e de implantao bem como
apresentou papis e cenrios no ambiente da nuvem, de maneira a fornecer uma
viso geral do ambiente.

19

3. INFRA-ESTRUTURA COMO SERVIO - IAAS

3.1 INTRODUO
muito importante visualizar uma infra-estrutura de tecnologia da informao (TI)
como um conjunto, o hardware, a rede, o software bsico, os links e tantos outros
componentes e conceitos que compem um parque tecnolgico. Ou seja, infraestrutura como um servio, representa um ambiente completo e gerenciado.
3.2 COMPONENTES E CONCEITOS
O modelo de entrega IaaS consiste de vrios conceitos e componentes que foram
desenvolvidos e amadurecidos ao longo dos ltimos anos, entretanto utilizar estes
componentes juntos em um ambiente terceirizado e compartilhado revela vrios
desafios.
Dentre eles, destacam-se a segurana e a privacidade, como os mais
significativos.

[Dawoud, 2010] descreveu uma srie de componentes e conceitos

fundamentais ao contexto de uma IaaS, sendo estes e outros apresentados a seguir.


3.3 CARACTERSTICAS E DESAFIOS
3.3.1 Mquinas Virtuais
Representam uma unidade bsica da computao no sistema, podem ser
persistentes ou no.
Com mquinas virtuais (MV) no persistentes, tudo o que foi alterado durante
sua execuo perdido quando a mesma encerrada. Dados que precisam ser
preservados devem ser movidos da MV para outro meio de armazenamento antes
da mesma ser encerrada. No existe a possibilidade de parar a mquina para depois
continuar o trabalho de onde parou, pois tudo que lhe diz respeito deixa de existir
aps o desligamento.
Ao contrrio disto, MV persistentes suportam armazenamento permanente,
normalmente feito atravs de discos virtuais. Isto permite que uma mquina seja
20

reiniciada no mesmo estado que estava quando foi encerrada pela ltima vez.
Assim com em mquinas fsicas, as virtuais tambm so suscetveis a falhas
de hardware.
3.3.2 Discos Virtuais
Correspondem a um espao de armazenamento permanente com tamanho
configurvel que pode ser disponibilizado para uma mquina virtual em execuo e
mesmo aps o seu desligamento os dados armazenados continuam preservados.
Tambm so suscetveis a falhas de hardware.
3.3.3 Regio Geogrfica
Embora as mquinas e os discos detenham a alcunha de virtuais este recursos
existem de forma fsica em algum lugar.
A regio geogrfica corresponde ao lugar onde residem fisicamente os
recursos que alimentam as entidades virtuais. A sua importncia ressaltada
quando se discute sobre latncia e situaes de calamidade.
O tamanho de uma regio geogrfica varia de uma nuvem para outra, por
exemplo, a Amazon utiliza regies com milhares de quilmetros de distncia,
embora pequenas nuvens possam utilizar regies para representar servidores em
edifcios distintos que estejam inclusive na mesma rua.
Normalmente, quanto maior a distncia entra as regies geogrficas maior
ser o isolamento e a latncia entre eles, tornando-se um efetivo desafio para o
ambiente de nuvem.
3.3.4 Zonas isoladas de falhas
Considerando falhas em grande escala, advindos de catstrofes como terremotos,
furaces, etc., as regies geogrficas so muito teis para contornar estas
situaes.
Porm, as Zonas isoladas de falhas correspondem a sub-divises das regies
geogrficas, que tem o propsito, tanto quanto for possvel, de separar regies
menores de possveis falhas localizadas, como problemas em disco ou falta de
21

energia, por exemplo.


A representatividade destas zonas, assim como das regies geogrficas varia
grandemente de uma nuvem para outra.
3.3.5 Service Level Agreement (SLA)
A computao em nuvem agrega um conjunto de complexidades ao gerenciamento
das tecnologias de informao, logo se faz necessrio o uso de SLA para garantir
um nvel aceitvel da qualidade dos servios (Quality of Services - QoS).
Um SLA composto por uma definio do contrato, regras de negociao,
regras de acompanhamento e de execuo [Open Group, 2004].
A definio do contrato e a fase de negociao so muito importantes para
determinar os benefcios e responsabilidades de cada parte, pois mal-entendidos
podem afetar a segurana do sistema e deixar um cliente exposto a
vulnerabilidades.
As fases de acompanhamento e execuo so importantes para construo
de uma relao de confiana entre o provedor e o cliente que imprescindvel para
uma relao duradoura.
Nos ambientes dinmicos das nuvens, para se impor o SLA, deve-se
monitorar constantemente os atributos de QoS [Open Group, 2004]. Em [Frankova,
2007] apresentado um Web SLA, WSLA, que um framework com o propsito de
monitorar e executar SLA em uma arquitetura orientada a servios (SOA).
O uso de WSLA para gerenciar SLA em nuvens computacionais foi proposto
em [Patel, 2009] e apresenta a idia de delegar o controle e execuo do SLA a uma
terceira parte, resolvendo assim, qualquer problema de confiana.
Normalmente,

os

clientes

da

nuvem

so

obrigados

a confiar

no

monitoramento do SLA feito pelos provedores, at uma adequada padronizao do


ambiente da computao em nuvem, fato que um grande desafio, a adoo de
terceiros para mediar o controle de SLA parece ser uma boa soluo.

22

3.3.6 Computao Utilitria


No um conceito novo e j desempenhou um papel muito importante na
implantao das grades computacionais.
De forma resumida, o que acontece que os recursos como tempo de
processamento,

largura

de

banda,

capacidade

de

armazenamento,

so

encapsulados como servios e entregues aos clientes.


Este modelo apresenta pelo menos duas grandes vantagens, uma relacionase a reduo de custos, dado que o cliente no precisa possuir os recursos e s
paga pelo que tiver utilizado.
A segunda vantagem que o modelo foi desenvolvido para suportar sistemas
escalveis, logo, se houver um rpido crescimento com grandes picos de demanda
do sistema, o proprietrio no ter problemas em manter sua aplicao funcionando
adequadamente.
3.3.7 Medio dos servios
Considerando um quadro de cascateamento de servios, onde um provedor de
grande porte fornece um servio para um provedor de servio de porte mdio que
por sua vez tambm fornece servios.
Ambos devem medir a quantidade de servio utilizada pelos seus clientes
para a devida cobrana, porm, estas mltiplas camadas tornam os sistemas mais
complexo e estas medies representam um desafio visto a necessidade de maior
esforo para seu gerenciamento.
Outro desafio so os ataque feitos com a inteno de utilizar os servios sem
pagar e at mesmo controlar o gerenciamento de uma empresa em uma desta
scamadas.
3.3.8 Software da Nuvem
Existem muitas implementaes de software de cdigo aberto para IaaS, como o
Eucalyptus, [Eucalyptus, 2011], e o Nimbus, [Nimbus, 2011], e existem tambm os
softwares proprietrios tambm.
23

Um software da nuvem utiliza diversos componentes juntos. Normalmente


no se pode dar garantias contra vulnerabilidades e bugs nos softwares disponveis,
alm disso, os prestadores de servios, normalmente fornecem APIs para executar a
maioria das funes de gesto.
Como exemplo, um cliente pode usar a ferramentas Amazon EC2, que possui
uma interface amplamente utilizada, para consumir servios implementando
aplicaes prprias ou simplesmente pode utilizar interfaces web oferecidas pelo
provedor.
Em ambos os casos, o usurio utilizar protocolos de servios web sendo que
os servios de segurana da web so muito relevantes e representam
grandes desafios na segurana dos servios na nuvem.
3.3.9 Plataforma de Virtualizao
A virtualizao uma tecnologia fundamental para os servios da nuvem.
Vrios sistemas stand-alone totalmente distintos podem ser utilizados em uma
mesma plataforma de hardware. A abstrao de hardware esconde a complexidade
do

gerenciamento

de

plataformas

computacionais

fsicas

simplifica

escalabilidade dos recursos computacionais.


Desta forma, a virtualizao propicia o atendimento a mltiplos usurios e a
escalabilidade que so caractersticas importantes em nuvens computacionais.
Um supervisor responsvel pelo isolamento das mquinas virtuais (MV)
para que elas no acessem diretamente outros discos, memrias virtuais ou
aplicaes no mesmo host. Em ambientes compartilhados necessrio uma
configurao precisa e segura para manter o isolamento, o que normalmente
representa um grande desafio.
Os provedores de servios na nuvem empreendem um esforo substancial
para proteger seus sistemas, com a inteno de minimizar as ameaas que
resultam dos processos de comunicao, monitorao, alterao, migrao e
mobilidade, sendo que existem muitos riscos e vulnerabilidades que afetam
particularmente a entrega do modelo IaaS.
24

3.3.10 Conectividade com redes e internet


Para manter a disponibilidade e o desempenho, a infra-estrutura da nuvem utiliza
mltiplas regies geogrficas para reduzir a latncia e os danos provenientes de
catstrofes.
Cada site conectado localmente est ligado aos outros sites via conexes de
internet de alta velocidade. O conjunto de todos os sites corresponde a infraestrutura da nuvem que atende remotamente os cliente a partir da internet.
Sendo assim, o ambiente de nuvens, herda as vulnerabilidades inerentes aos
ambientes de redes e da internet sendo vulnervel a ataques como DoS (Denial of
Services), MITM (Man in the middle), IP Spoofing e Port Scanning.
Alm disto, existe a possibilidade de ataques a partir de MV internas contra
servios internos, que acabam sendo mais graves porque normalmente contam com
privilgios de administrador que findam por permitir a instalao e execuo de
aplicaes maliciosas.
Outro fato relevante o contexto dinmico do ambiente IaaS, onde se cria,
remove e migra mquinas virtuais o tempo todo, isto um agravante a mais no
desafio do planejamento de planos de defesa contra eventuais tentativas de
intruso.
Certamente, em todo o ambiente da nuvem, o IaaS o mais suscetvel a
estes tipos de ataques.
3.3.11 Hardware do Computador
Uma IaaS prov uma interface para um repositrio de recursos computacionais
fsicos distribudos, como processador, memria, armazenamento e redes, e entrega
um modelo de negcios compartilhado para atender mltiplos usurios que desejam
utilizar estes recursos.
3.4 VANTAGENS
Algumas vantagens da utilizao de IaaS so descritas a seguir.

A real possibilidade dos gestores da empresa ficarem totalmente focados nas


25

regras dos seus negcios, sem preocupaes com gerenciamento e


manuteno da infra-estrutura.

No requer investimentos iniciais em infra-estrutura, visto que os recursos


fsicos so propriedade do provedor.

Possibilidade de prever os investimentos futuros necessrios para a


consolidao do ambiente de TI.

Garantia de evoluo tecnolgica dos equipamentos e sistemas de rede


necessrios ao crescimento da empresa, fornecida pelo provedor da infraestrutura.

Reduo de paradas (downtime) em equipamentos de rede.

Possibilidade de aumento da produtividade da equipe, visto que o foco pode


ser especfico.

Gesto da TI sem consumir tempo dos gestores locais da empresa e nem


investimentos em capacitao de profissionais de TI;

Suporte e manuteno so de responsabilidade do provedor.

Custo operacional fixo, sendo cobrado pela utilizao, possivelmente atravs


de pagamento mensal.

3.5 CONCLUSO
Neste captulo foram descritos componentes e conceitos de uma infra-estrutura
como servio, alm de diversas caractersticas pertinentes a este modelo.

26

4. PLATAFORMA COMO SERVIO - PAAS

4.1 INTRODUO
A proviso de servios que possibilitem o desenvolvimento, testes, implantao,
hospedagem e gerenciamento de aplicaes objetivando suportar o ciclo de vida do
desenvolvimento de aplicaes a proposta bsica do modelo PaaS.
4.2 CARACTERSTICAS E DESAFIOS
Algumas caractersticas importantes para uma plataforma como servio so
descritas a seguir.
4.2.1 Abstrao
As plataformas de nuvens computacionais so distinguidas pelo alto nvel de
abstrao que elas provem para cada uma de suas camadas. No caso de IaaS o
propsito est em fornecer acesso a infra-estruturas, no caso da PaaS o foco est
em que aplicaes a nuvem deve suportar.
Considerando que uma IaaS fornece ao usurio um conjunto de mquinas
virtuais que devem ser configuradas e nas quais os componentes de aplicaes
devem ser implantados, uma PaaS oferece aos usurios uma forma para implantar
suas aplicaes em um repositrio aparentemente ilimitado de recursos, eliminando
a complexidade de implantao e configurao de infra-estrutura.
Obviamente, sempre que se aumenta o nvel de abstrao de um modelo,
criam-se novos desafios, devido o aumento de complexidade, ao processo de
desenvolvimento de solues neste contexto.
4.2.2 Automao
Ambientes de uma PaaS automatizam o processo de implantao de aplicativos
para uma infra-estrutura, configurando os componentes do aplicativo, aspectos de
provisionamento e o suporte a tecnologias como balanceamento de carga e bancos
de dados, e ainda gerenciam as mudanas no sistema baseado em polticas
27

definidas pelo usurio.


Enquanto a utilizao de IaaS responsvel por alterar custos por meio da
terceirizao, a PaaS capaz de reduzir custos relacionados ao desenvolvimento,
implantao e gerenciamento do ciclo de vida da aplicao.
4.2.3 Servios na Nuvem
PaaS prov aos desenvolvedores e arquitetos servios e APIs
simplificar o

que ajudam a

trabalho de prover elasticidade e escalabilidade, caractersticas

fundamentais em aplicaes na nuvem. Estes servios proporcionam uma larga


variedade de funcionalidades e efetivamente podem representar a diferena chave
entre PaaSs concorrentes.
Tambm representam desafios relevantes o provimento de servios eficientes,
como cache distribudo, gerenciamento da carga de trabalho, armazenamento de
dados e arquivos, identificao de usurio, dentre outros que so possveis
exemplos.
Com a proposta de servios integrados na nuvem, elimina-se a necessidade
de integrao de vrios componentes distintos diminuindo-se o tempo de
disponibilizao para aplicaes na plataforma.
4.2.4 Arquitetura Multi-Clientes
Uma arquitetura multi-clientes aquela que utiliza recursos comuns de computao
como hardware, sistema operacional e softwares com um esquema compartilhado
para suportar vrios usurios simultaneamente, o que difere da arquitetura cliente /
servidor onde se faz necessrio que hardware e software sejam dedicados a cada
cliente.
Quando centenas ou milhares de empresa/clientes esto usando a mesma
infra-estrutura operacional, cada um deles se beneficia de uma forma diferente e
todos tm acesso a quaisquer novas funcionalidades que sejam introduzidas, e
quando uma ameaa qualquer detectada e devidamente corrigida, tambm todos
se beneficiam com o fortalecimento da infra-estrutura.
Uma grande vantagem da arquitetura multi-clientes que como cada um
28

individualmente se mantm em evoluo, isto gera a necessidade de alteraes que


beneficiam a coletividade e ainda pode representar a diferena entre aplicaes
destinadas a ficarem absoletas rapidamente e as que continuam evoluindo com a
nuvem, aproveitando ricas possibilidades conectadas a web.
4.2.5 Interface de Usurio customizavel
Plataformas como servio devem prover funcionalidades flexveis para construo
de interfaces de usurios a partir de uma metodologia arrastar e soltar que permita
a criao e configurao de componentes de interface de usurio (IU) em tempo
real.
Para tanto, devem ser disponibilizados componentes de IU que possam ser
montados como blocos de construo, com uma quantidade mnima de codificao.
No caso de uma personalizao, para atender as necessidade do cliente, deve ser
possvel, de forma simplificada, invocar bibliotecas reutilizveis de componentes IU
sem a necessidade de se escrever cdigos complexos.
Alem disto, dado o enorme crescimento de dispositivos web, se faz
necessrio uma flexibilidade adicional para suportar tecnologias emergentes de
forma que esta caracterstica tambm esteja disponvel para o projeto da IU.
Uma PaaS deve providenciar um controle completo e minucioso das formas
de apresentao para os desenvolvedores de acordo com contextos especficos, de
forma que seja possvel exibir os resultados independente de qual dispositivo o
usurio venha utilizar.
4.2.6 Banco de dados configurveis
A persistncia de dados fundamental em muitas aplicaes, logo, facilitar a
criao, configurao e implantao de persistncia de objetos sem requerer
programao especialista uma caracterstica poderosa da plataforma de nuvem
que representa um excelente desafio.
Por isto, uma PaaS deve suportar a construo de objetos, a definio de
relacionamento entre os objetos e a configurao do comportamento dos dados
dentro de uma janela do navegador atravs do paradigma declarativo apontar e
clicar.
29

A partir de uma interface web que proporcione um controle visual completo


relacionado a meta-dados, deve ser possvel aos desenvolvedores definir objetos
com os atributos que determinam que tipo de dados so armazenados em cada
objeto.
Outra funo bastante relevante a incorporao de regras de validao e
permisso

relacionadas

objetos,

adicionando

especificao

de

um

comportamento adequado para futuras auditorias.


4.2.7 Funcionalidades de Wokflow
A execuo de processos de negcio atravs de automao dos processos o
propsito bsico das aplicaes de negcio.
Uma plataforma de nuvem deve oferecer um mecanismo de lgica de
negcios que suporte a definio de processos workflow e a especificao de regras
de negcios para gerar a automao dos processos.
Um workflow define os diferentes estados de um objeto durante seu ciclo de
vida. As aes em um worflow direcionam os objetos atravs de diferentes estados
dentro de um contexto, podendo ser acionado a partir da interveno humana, se o
usurio possuir permisso para isto, ou atravs de um evento no ambiente.
Com a utilizao de uma combinao de processos, estados, aes, eventos
e regras que definem as aes, os desenvolvedores devem ser capazes de modelar
diversos e distintos processos de negcio usando ferramentas apontar e clicar
dentro de uma janela de navegador.
4.2.8 Controle sobre segurana e compartilhamento
Uma PaaS deve oferecer um controle de acesso flexvel que permita um controle
detalhado sobre o que os usurios de uma aplicao SaaS podem ver e quais dados
podem acessar.
A definio de acesso ao nvel da aplicao, tais como permisso por menus,
guias, relatrios, etc., tambm devem ser possveis, bem como a especificao de
um modelo de controle de acesso atravs da criao de grupos e regras em funo
dos usurios deve ser factvel.
30

Os usurios tambm podem ser segmentados atravs de uma estrutura


organizacional comum que fornece acesso detalhado a dados e recursos.
4.2.9 Modelo de integrao flexvel
Uma PaaS facilita a rpida construo de aplicaes na nuvem fornecendo
elementos fundamentais como persistncia de dados e funcionalidades de workflow
que so essenciais para a criao de qualquer aplicao de negcios.
Considerando que ambientes complexos de TI (Tecnologia da Informao)
esto presentes na maioria das empresas hoje, a oferta de PaaS contribui com a
disseminao de princpios da Service Oriented Architecture (SOA) que permitem a
integrao de dados e funcionalidades de aplicativos que residem na plataforma de
nuvem com outros sistemas e aplicaes on-premise ou on-demand.
Minimamente

uma PaaS deve suportar um

modelo

de integrao flexvel,

baseado na web que deve fornecer o padro CRUD (creat read update delete
/ criar ler atualizar

excluir), bem como mtodos de pesquisa, upload

e download de arquivos, mtodos para trabalhar com arquivos e imagens e ainda


mtodos para trabalhar com os relacionamentos.
As APIs devem possuir s mesmas permisses e restries de controle de
acesso que foram especificados por meio do modelo de segurana. Alm disso, para
acelerar a integrao entre as aplicaes em nuvem e em sistemas empresariais onpremise, a plataforma da nuvem pode fornecer uma variedade de conectores prfabricados.
4.3 VANTAGENS
Algumas vantagens da utilizao de PaaS so descritas a seguir.

Menor investimento inicial, fato que representa um menor risco ao negcio,


visto no ser necessrio investimentos com infra-estrutura, softwares bsicos
como sistemas operacionais e softwares adicionais necessrios para executar
as aplicaes necessrias ao ambiente de desenvolvimento. Ocorre tambm
uma reduo de custos, considerando que s pago o que efetivamente for
utilizado, sendo os custos relativos a manuteno da infra-estrutura de
31

responsabilidade do provedor.

Atualizaes e novas funcionalidades so disponibilizadas de forma imediata,


no sendo necessrio dedicar especialistas para estas funes.

Suporte mais gil com solues implementadas rapidamente, onde os


problemas encontrados so tratados e a soluo disponibilizada de forma
transparente a todos os usurios sem a necessidade de um tratamento
individual que retarda a disponibilizao da correo.

A empresa pode focar seus esforos no seu negcio, sem despender energia
com a escolha e manuteno de sistemas.

Aumento da disponibilidade e segurana dos dados. um aspecto muito


importante porque muitas empresas ainda no possuem procedimentos de
backup, restaurao e planos de contingncia para o caso da perda de
informaes ou falha de hardware.

4.4 CONCLUSO
Caractersticas, desafios e vantagens de utilizao de uma plataforma como servio
foram apresentados neste captulo.

32

5. SOFTWARE COMO SERVIO - SAAS

5.1 INTRODUO
O fornecimento de software como servio um conceito atrativo para os
profissionais de TI que se defrontam com interminveis atualizaes, correes e
disputas de licenas de software.
5.2 ANALISANDO SAAS
Quando se pensa em utilizar aplicaes SaaS em detrimento de softwares
tradicionais, certas premissas precisam ser analisadas, porque efetivamente podem
se tornar barreiras para adoo deste modelo, algumas delas so descritas a seguir.
A confiana no fornecedor um quesito fundamental em qualquer soluo.
Para software licenciado, a confiana resume-se basicamente na qualidade dos
servios de suporte e atualizao e ainda na longevidade do fornecedor.
Qualquer soluo SaaS oferece uma interface mais ntida de terceirizao,
com responsabilidades definidas e vinculadas ao servio entregue. Isto permite
estabelecer relaes de confiana em um novo nvel, onde qualquer falha interna
imediatamente imputada direta e exclusivamente ao provedor.
De certa forma, esta analogia tambm pode ser utilizada em relao a
segurana, lgica e fsica, visto que, teoricamente, quanto mais encapsulado for o
produto final, mais seguro ser o servio, porque os componentes, e conseqentes
possveis falhas, ficam encapsulados na infra-estrutura do fornecedor, sendo este o
nico responsvel.
A propriedade de dados um aspecto muito impactado com esta mudana
de paradigma, onde a questo preponderante seria, onde esto armazenados os
dados e quem tem acesso a eles?
Os servios normalmente oferecem garantias de recuperao, cpia e
redundncia de dados em um nvel muito mais abstrato que parties e tabelas. Algo
que possvel porque a prpria infra-estrutura sob demanda exige grande abstrao
33

para permitir eficincia no gerenciamento e escalabilidade.


As plataformas proprietrias sempre geram uma preocupao legtima, isto
discutido ao longo dos anos e a discusso repete-se agora sobre plataformas de
computao em nuvem.
A baixa interoperabilidade entre plataformas no impediu de forma
consistente o avano das mesmas no passado, porm se deve escolher um
provedor com expectativas em longo prazo e com boa capacidade de execuo.
Quanto a aplicaes, a interoperabilidade em software licenciado mnima e
a vinculao a um fornecedor uma condio comum. Mais uma vez a maior
abstrao de aplicaes e componentes para servios encapsulados favorecem o
surgimento de protocolos de interoperabilidade em relao aos negcios que so
garantidos contratualmente.
No difcil imaginar que aplicaes rodando na nuvem podem substituir em
larga escala aplicativos que precisam de licena para utilizao.
Avaliando

aspecto

disponibilidade,

por

exemplo,

aplicaes

de

produtividade precisam de vrios recursos disponveis para funcionar a partir de um


dispositivo, da rede sem fio, da internet e do provedor.
Somado a isto, o acelerado crescimento das plataformas mveis gera a
necessidade de disponibilidade constante, em qualquer lugar e a qualquer tempo,
logo, como este quesito afeta diretamente os consumidores, obviamente os produtos
precisam apresentar esta caracterstica.
5.3 CARACTERSTICAS DE UM SAAS
5.3.1 Arquitetura multi-cliente
Nesta arquitetura, todas as partes compartilham uma estrutura comum e uma base
de cdigo que mantida centralizada.
Por estarem na mesma infra-estrutura os fornecedores podem inovar mais
rapidamente, liberando novas verses mais corretas e com maiores funcionalidades,
e com isto economizar um valioso tempo de desenvolvimento que anteriormente era
34

gasto com a manuteno de inmeras verses com cdigo desatualizado.


5.3.2 Aplicaes configurveis
Como aplicativos SaaS so dirigidos a uma arquitetura multi-cliente, normalmente
no aceitam customizaes, de forma que, ao contrrio do modelo tradicional, no
possvel um cliente alterar o cdigo fonte da aplicao, o esquema do banco de
dados ou as interfaces grficas.
Porm, aplicaes SaaS so projetadas para suportar configuraes, que so
um conjunto de opes, parmetros, que afetam as funcionalidade e aparncia da
aplicao. Cada cliente pode ter seus prprios parmetros para as opes de
configurao.
Aplicaes SaaS podem permitir que um cliente fornea atravs de uma
interface seu logotipo e ainda um conjunto de cores embora no seja permitido
alterar o layout das pginas para algo diferente do que foi projetado, sendo que
estas especificidades so preservadas quando ocorrem atualizaes.
5.3.3 Rpido desenvolvimento
Considerando que no h preocupaes com instalao, configurao e
manuteno do ambiente de desenvolvimento, os desenvolvedores podem se
preocupar unicamente com os detalhes das regras de negcios, diminuindo o tempo
para

desenvolvimento do software

e aumentando por

consequncia sua

produtividade.
5.3.4 Rpida atualizao
Segundo [Creese, 2010], aplicaes SaaS so atualizadas mais frequentemente que
os softwares tradicionais, muitas vezes semanalmente ou mensalmente.
Isto acontece porque a hospedagem centralizada, ento quaisquer
atividades de atualizao se tornam visveis, e de forma transparente, a todos os
clientes sem haver necessidade de reinstalao especfica no cliente.
Como a configurao nica, os testes do desenvolvimento tambm so
mais rpidos. Alm disto, o provedor da soluo pode ter acesso ao comportamento
35

do usurio dentro da aplicao, atravs de uma web analtica, o que torna mais fcil
identificar reas com necessidade de melhorias.
5.3.5 Protocolos de integrao abertos
Visto que aplicaes SaaS no podem acessar os sistemas internos de uma
empresa, elas precisam oferecer protocolos de integrao bem como APIs que
possibilitem conexes atravs da rede.
A ubiquidade de aplicaes SaaS e de outros servios da internet, alm da
padronizao de APIs, aumentou o desenvolvimento de mashups, que so
aplicaes que combinam dados, apresentao e funcionalidades de mltiplos
servios criando ento um servio composto, fato este que aumenta a diferena para
os softwares licenciados visto que estes no so facilmente integrados fora do
firewall da empresa.
5.3.6 Funcionalidades Colaborativas
Certamente inspirado no sucesso das redes socias, aplicaes SaaS podem prover
caractersticas

que

permitam

os

usurios

colaborarem

compartilharem

informaes.
Estas funcionalidades tambm podem ser utilizadas para identificar novas
idias para melhorar o software. Uma colaborao, implcita ou explcita, entre
usurio de clientes distintos s possvel a partir de um software com hospedagem
centralizada.
5.3.7 Disponibilidade
Software como servio permite o acesso e utilizao dos softwares disponveis no
mercado atravs de uma rede remota ou conexo Internet.
Isso significa que o software no est instalado no computador do assinante,
mas sim no servidor do provedor de SaaS. Isso tambm faz com que o software
esteja disponvel para o assinante a qualquer tempo e independentemente de sua
localizao.
O SaaS ainda deve ser acessvel por qualquer tipo de dispositivo
36

computacional, garantindo que todos possam ver as informaes ao mesmo tempo,


sendo um desafio melhorar o acesso aos dados, de forma a tornar mais fcil o
gerenciamento de privilgios e o controle da utilizao dos dados.
5.3.8 Licenas
Os SaaS possuem um modelo de licenciamento baseado em assinatura, ao
contrrio de uma taxa nica para uso perptuo, como feito com o softwares
tradicionais.
Este modelo utiliza uma abordagem simples, baseada em tempo de uso,
sendo cobrado somente aquilo que foi utilizado pelo usurio, como feito, por
exemplo, pelas companhias de energia eltrica.
5.3.9 Gerenciamento
As aplicaes SaaS so completamente gerenciadas pelo fornecedor, e acordos
SLA, regem a qualidade, disponibilidade e suporte que o provedor deve prover para
o cliente.
Algumas formas de gerenciamento essncias para SaaS incluem o
provisionamento, funes de configurao, controle de pagamento, monitorao e
suporte.
5.4 DESAFIOS PARA ADOO
Algumas limitaes podem atrapalhar a aceitao de aplicaes SaaS e at
inviabilizar sua utilizao em alguns casos.
Como os dados esto sendo armazenados na nuvem, nos servidores do
provedor, a segurana dos mesmos pode ser visto como um problema [Lisserman,
2010].
O software como servio est hospedado na nuvem, longe dos usurios da
aplicao. Este fato introduz latncia para o ambiente, tornando o modelo SaaS
inadequado para aplicaes que exigem tempo de resposta muito pequeno.
Arquiteturas multi-clientes, que impulsionam a eficincia de custos para os
provedores de soluo, no permitem uma customizao verdadeira para clientes
37

em larga escala, proibindo sua utilizao em cenrios que a customizao


imprescindvel.
Algumas aplicaes de negcio requerem acesso ou integrao com dados
atuais do cliente. Quando o volume de dados muito grande, ou os dados so
informaes sigilosas a integrao com o software remoto cara ou apresenta
muitos riscos.
5.5 VANTAGENS
Algumas vantagens da utilizao de SaaS so descritas a seguir.

Os aplicativos SaaS esto disponveis 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 adoo, com pouco esforo para
aprendizagem, dado que j existe uma familiarizao geral com o uso da
internet.

No existem taxas de licena, sendo cobrado apenas pela utilizao, 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.

As atualizaes so transparentes e de nica responsabilidade do provedor,


no existem arquivos para download ou para serem instalados. Alm disto, o
provedor gerencia a disponibilidade e o cliente no tem que se preocupar em
adicionar hardware ou largura de banda com o crescimento de usurios.

Os provedores podem escalar sua infra-estrutura de forma indefinida para


atender a demanda de um cliente, alm de poder oferecer funcionalidades
para atender necessidades especficas, agregando integrao a sistemas
ERP (Enterprise Resource Planning) legados ou sistemas de produtividade.

5.6 CONCLUSO
Neste captulo foram analisadas algumas perspectivas relevantes a adoo de um
SaaS e descritas caractersticas, desafios e vantagens deste modelo.
38

6. CONCLUSO

A computao como um servio um fato em ebulio e tem se tornando um


paradigma cada vez mais reconhecido, por isto, diversas empresas que j
perceberam suas vantagens tm apoiado e incentivado o seu desenvolvimento. O
meio cientfico tambm tem demonstrado muito interesse no desenvolvimento e
adoo deste paradigma.
Este trabalho apresentou um estudo sobre a computao em nuvens, sendo
discutidos aspectos conceituais da estrutura deste paradigma. Este estudo abordou
os conceitos fundamentais do ambiente da nuvem bem como descreveu os modelos
de servios mais retratados na literatura.
6.1 CONCLUSO E TRABALHOS FUTUROS
A computao em nuvem, nos diversos aspectos que lhe dizem respeito, tais como
infra-estrutura, plataforma e software como servio tem apresentado uma grande
aceitao tanto no meio empresarial quanto no cientfico devido as diversas
vantagens que apresenta em relao ao modelo tradicional.
Este trabalho apresentou os principais aspectos referentes a computao em
nuvem, destacando suas caractersticas e modelos. Foi possvel perceber que este
paradigma muito flexvel e podem ser ressaltadas muitas vantagens advindas da
sua adoo.
A principal contribuio deste trabalho foi apresentar um overview do
ambiente de nuvens computacionais.
Como trabalho futuro pretende-se, estudar mais detalhadamente os
fundamentos para desenvolvimento de software com servios, bem como quais
ferramentas esto disponveis para este propsito, de forma que seja possvel o
efetivo desenvolvimento de software para nuvens.
Tambm se espera, com as informaes obtidas nestes estudos, a criao de
uma abordagem voltada ao desenvolvimento automtico de SaaS utilizando uma
arquitetura dirigida a modelos.
39

BIBLIOGRAFIA

[Creese, 2010] CREESE, G. SaaS vs. Software: The Release Cycle for SaaS Is
Usually (Not Always) Faster.Gartner blog. Gartner, Inc. Retrieved 24 April 2011.
(http://blogs.gartner.com/guy-creese/2010/05/18/saas-vs-software-the-developmentcycle-for-saas-is-usually-not-always-faster/)
[Lisserman,

2010]

LISSERMAN,

M. SaaS And

The

Everlasting

Security

Concerns. Forrester Research, 2010.


[Dawoud, 2010] DAWOUD, W., TAKOUNA, I., MEINEL, C. Infrastructure as a
service security: Challenges and solutions. Informatics and Systems (INFOS),
2010 The 7th International Conference on , vol., no., pp.1-8, 28-30 March 2010.
[Open Group, 2004] The Open Group. SLA Management Team, SLA Management
Handbook. Enterprise Perspective, 2004.
[Frankova, 2007] FRANKOVA, G. Service Level Agreements: Web Services and
Security. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin,
2007, vol. 4607.
[Patel, 2009] PATEL, P., RANABAHU, A., SHETH, A. Service Level Agreement in
Cloud Computing. Cloud Workshops at OOPSLA09, 2009. Disponvel em:
<http://knoesis.wright.edu/aboutus/visitors/summer2009/PatelReport.pdf>. Acessado
em 12 mai 2010.
[Cearley, 2009] CEARLEY, D. et al Hype Cycle for Applications Development
Gartner

Group

Reporter

number

G00147982.

Disponvel

em:

<http://www.gartner.com>. Acessado em: 08 mai 2011.


[Armbrust , 2009] ARMBRUST, M., FOX, M., GRIFFITH, R., et al. Above the
Clouds: A Berkeley View of Cloud Computing. University of Califrnia at Berkeley
Technical Report, 2009.
[Vaquero, 2008] VAQUERO, L., RODERO-MERINO, L., CACERES, J., LINDENER,
M. A break in the clouds: towards a cloud definition. SIGCOMM, 2008.
[Buyya, 2008] BUYYA, R., YEO, C. VNUGOPAL, S. Market-oriented cloud
40

computing: Vision, hype, and reality for delivering it services as computing


utilities. 2008.
[Nist, 2009] NIST. The NIST Definition of

Cloud Computing. Disponvel em:

<http://csrc.nist.gov/publications/drafts/800-145/Draft-SP-800-145_clouddefinition.pdf>. Acessado em: 08 mai 2011.


[Vecchiola, 2009] VECCHIOLA, C., CHU, X., BUYYA, R. Aneka: A Software
Platform for .NET-based Cloud Computing. High Speed and Large Scale Scientific
Computing. IOS Press. Amsterdam. 2009.
[Google,

2009

Google.

Google

App

Disponvel

Engine.

em:

<http://code.google.com/appengine/>. Acessado em: 08 mai 2011.


[Amazon,

2009]

Amazon.

Amazon

EC2.

Disponvel

em:

<http://http://aws.amazon.com/ec2/>. Acessado em: 08 mai 2011.


[Eucalyptus,

2011]

Eucalyptus.

Eucalyptus

Systems.

Disponvel

em:

<http://www.eucalyptus.com/>. Acessado em: 08 mai 2011.


[Nimbus,

2011]

Nimbus.

Nimbus

Project.

Disponvel

em:

<http://www.nimbusproject.org/>. Acessado em: 09 mai 2011.


[Marinos, 2009] MARINOS, A., Briscoe, G. Community Cloud Computing. Lecture
Notes in Computer Science. Springer. 2009.
[Taurion, 2009] TAURION, C. Computao em Nuvem: Transformando o mundo
da tecnologia da informao. Rio de Janeiro: Brasport, 2009.
[Sousa, 2009] SOUSA, F., MOREIRA, L., MACHADO, J. Computao em Nuvem:
Conceitos, Tecnologias, Aplicaes

Desafios.

In: Antnio

Costa

de

Oliveira;Raimundo Santos Moura;Francisco Vieira de Souza. (Org.). III Escola


Regional de Computao Cear, Maranho e Piau (ERCEMAPI). 1 ed. Teresina:
SBC, 2009, v. 1, p. 150-175.
[Carr, 2008] CARR, N. Big Switch: Rewiring the World,from Edison to Google.
Norton & Company, 2008.
[La, 2009] La, H., Choi, S., Kim, S. Technical Challenges and Solution Space for
Developing SaaS and Mash-Up Cloud Services. e-Business Engineering, 2009.
41

ICEBE '09. IEEE International Conference on , vol., no., pp.359-364, 21-23 Oct.
2009.
[Liu, 2010] Liu, F., Guo, W., Zhi, Q., Chou, W. SaaS Integration for Software Cloud.
Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference on , vol., no.,
pp.402-409, 5-10 July 2010.
[Lin, 2008] Lin, G.; Dasmalchi, G.; Zhu, J. Cloud Computing and IT as a Service:
Opportunities and Challenges. Web Services, 2008. ICWS '08. IEEE International
Conference on , vol., no., pp.5-5, 23-26 Sept. 2008.
[Dawoud, 2010] Dawoud, W., Takouna, I., Meinel, C. Infrastructure as a service
security: Challenges and solutions. Informatics and Systems (INFOS), 2010 The
7th International Conference on , vol., no., pp.1-8, 28-30 March 2010.
[Namjoshi, 2009] Namjoshi, J., Gupte, A. Service Oriented Architecture for Cloud
Based Travel Reservation Software as a Service. Cloud Computing, 2009.
CLOUD '09. IEEE International Conference on , vol., no., pp.147-150, 21-25 Sept.
2009.
[Godse, 2009] Godse, M., Mulik, S. An Approach for Selecting Software-as-aService (SaaS) Product. Cloud Computing, 2009. CLOUD '09. IEEE International
Conference on , vol., no., pp.155-158, 21-25 Sept. 2009.
[Pervez, 2010] Pervez, Z., Khattak, A., Sungyoung L., Young-Koo L. Dual Validation
Framework for Multi-Tenant SaaS Architecture. Future Information Technology
(FutureTech), 2010 5th International Conference on , vol., no., pp.1-5, 21-23 May
2010.
[Wu, 2008] Wu C. Web Services: Software-as-a-Service (SaaS), Communication,
and Beyond. Congress on Services Part II, 2008. SERVICES-2. IEEE , vol., no.,
pp.1-1, 23-26 Sept. 2008.
[Das, 2010] Das, C., Mohan, G., Roy, R., Bhattacharya, S . Quo vadis, SaaS a
system dynamics model based enquiry into the SaaS industry. Information
Management and Engineering (ICIME), 2010 The 2nd IEEE International
Conference. pp.732-737, 16-18 April 2010.
42

Você também pode gostar