Você está na página 1de 102

UNIVERSIDADE REGIONAL INTEGRADA DO ALTO URUGUAI E DAS MISSES

CAMPUS DE ERECHIM
DEPARTAMENTO DE ENGENHARIAS E CINCIA DA COMPUTAO
CURSO DE CINCIA DA COMPUTAO
DANIEL FERNANDO PIGATTO
ESTUDO E IMPLEMENTAO DE UMA SOLUAO DE SOFTWARES
APLICATIVOS UTILIZANDO COMPUTAO NAS NUVENS
ERECHIM
2009
DANIEL FERNANDO PIGATTO
ESTUDO E IMPLEMENTAO DE UMA SOLUAO DE SOFTWARES
APLICATIVOS UTILIZANDO COMPUTAO NAS NUVENS
Traba!" #$ C"%&'()" #$ C'r("*
a+r$($%,a#" a" C'r(" #$ C-.%&-a #a
C"/+',a0)"* D$+ar,a/$%," #$
E%1$%!ar-a( $ C-.%&-a #a C"/+',a0)" #a
U%-2$r(-#a#$ R$1-"%a I%,$1ra#a #" A,"
Ur'1'a- $ #a( M-((3$( 4 Ca/+'( #$
Er$&!-/5
Pr"65 Or-$%,a#"r7 A$8a%#r" Ma1%" #"(
Sa%,"( A#9r-"
ERECHIM
2009
AGRADECIMENTOS
Aos meus pais, Agenor e Dinora, pela dedicao e carinho que sempre tiveram
comigo, seja em questes de formao de carter, como no incentivo aos estudos e
graduao. E a minha irm, ernanda, que da mesma forma prestou seu apoio e parceria
comigo em todos os projetos que decidi participar, especialmente no presente.
Aos familiares, especialmente a minha tia Dinaura e meus av!s Augusto e "enaide,
por entenderem minhas faltas aos encontros de fam#lia e pelo carinho que sempre me foi
dedicado.
Aos mestres, que al$m de desempenhar com m$rito seus pap$is de educadores,
mostraram%se profissionais apoiadores e amigos em todas as etapas conclu#das. Especial
agradecimento ao &rof. Ale'andro Adrio, meu orientador neste tra(alho, pela preparao e
apoio dedicados, desde a mais simples d)vida sanada at$ o mais comple'o pro(lema
resolvido.
Aos colegas de graduao, especialmente aos mais presentes, *oo &aulo, +aulo,
*onas, ,odrigo, *oel, -aur#cio, -ateus, Elias, .ucas, .uis, *ulior, entre muitos outros, os
quais no s! foram colegas, mas verdadeiros amigos, especialmente pelo apoio em momentos
de tenso, pelo respeito demonstrado e pela parceria em todas as situaes vivenciadas.
Aos amigos de curta e longa data e aos colegas de tra(alho, os quais sou(eram
entender algumas aus/ncias em importantes eventos ou quando da indisponi(ilidade em
comparecer a um programa diferente de la0er.
Ao 1oogle, porque sem ele grande parte deste tra(alho de pesquisa no teria sido
poss#vel ou no teria sido to eficiente.
"Perfection is achieved, not when there is nothing more to add,
but when there is nothing left to take away."
Antoine de Saint-Exupery
RESUMO
A era da computao (aseada na 2e( e o recente conceito de virtuali0ao desencadearam no
surgimento de uma nova a(ordagem para minimi0ar custos com infraestrutura de tecnologia
da informao em am(ientes corporativos3 a cloud computing ou 4computao nas nuvens5.
6rata%se de um 4aluguel5 de servidores de terceiros para arma0enagem de dados e e'ecuo
remota de aplicaes. Este tra(alho mostra as vantagens da computao nas nuvens para
empresas de pequeno, m$dio e grande porte, incluindo comparaes de desempenho e relao
custo%(enef#cio entre o modelo tradicional e esta nova a(ordagem. +o demonstradas algumas
ferramentas do mercado, apurando seus respectivos resultados e implementando um am(iente
com a unio das melhores, tendo por finalidade proporcionar uma soluo de (ai'o custo,
escalvel 7 com possi(ilidade de crescimento 7 e com e'celente grau de cola(orao online.
8 tra(alho tam($m (usca um am(iente altamente dispon#vel e com alto grau de a(strao a
fim de minimi0ar o impacto para o usurio final.
Palavras-!ave" cloud computing. computao nas nuvens. alta disponi(ilidade. am(iente
corporativo. sistemas distri(u#dos.
A#STRACT
6he computing era (ased on 9e( and the recent concept of virtuali0ation initiated the
emergence of a ne9 approach to minimi0e the costs 9ith infrastructure of technolog:
information in corporative environments3 the cloud computing. ;t deals of the renting of third%
part: servers for data storage and remote e'ecution of applications. 6his stud: sho9s the
advantages of cloud computing for companies of small, medium and (ig si0e, including
comparisons of performance and cost%(enefit relation (et9een the traditional model and this
ne9 approach. +ome mar<et tool are demonstrated, chec<ing their respective results and
implementing an environment 9ith the union of the (est, aiming at providing a solution of
lo9 cost, scala(le 7 9ith possi(ilit: of gro9th 7 and an e'cellent degree of on line
colla(oration. 6his stud: also searches for an environment highl: availa(le and 9ith a great
degree of a(straction intending to minimi0e the impact for the final user.
$ey%ords" cloud computing. high availa(ilit:. corporative environment. distri(uted s:stems.
&ISTA DE 'IGURAS
igura = % Diferenas entre as camadas dos protocolos ;+8>8+; e 6?&>;&.............................@@
igura @ % 8rgani0ao do cluster Beowulf...............................................................................@A
igura B % 8rgani0ao virtual provida pela computao em grade.........................................@C
igura D % E#veis de diviso da computao nas nuvens segundo a ontologia proposta..........BA
igura F % Aplicativos de computao nas nuvens divididos em grupos de usurios...............DB
igura G % 8rgani0ao do H-9are v+phere, o primeiro sistema operacional em nuvem do
mercado.....................................................................................................................................DI
igura A % Login de usurio no modo de simulao local do 1oogle App Engine...................FI
igura C % 6ela de criao de nova aplicao no 1oogle App Engine......................................GJ
igura I % 6ela de Login do aplicativo%e'emplo para 1oogle App Engine...............................G=
igura =J % 6ela do &ainel do Ksurio do aplicativo%e'emplo para 1oogle App Engine.........G@
igura == % E'emplo de e%mail enviado atrav$s do aplicativo%e'emplo...................................GB
igura =@ % Holume de (uscas no 1oogle para os termos 1oogle Docs, -icrosoft 8ffice e
8pen8ffice................................................................................................................................GF
igura =B % Hariao no tempo de upload de documentos de te'to..........................................GA
igura =D % Hariao no tempo de carregamento de documentos de te'to................................GA
igura =F % Hariao no tempo de impresso de documentos de te'to.....................................GC
igura =G % Hariao no tempo de upload de planilhas de clculo............................................GI
igura =A % Hariao no tempo de carregamento de planilhas de clculo.................................GI
igura =C % Hariao no tempo de impresso de planilhas de clculo......................................AJ
igura =I % Hariao no tempo de tarefas so(re apresentaes de slides..................................A=
igura @J % Hariao no tempo de upload de uma imagem para o 1oogle Docs......................A@
igura @= % 6empo de upload e converso de arquivos de te'to com o mesmo conte)do........AB
igura @@ % Lrea de tra(alho e (arra de iniciali0ao rpida com atalhos de aplicativos
remotos apresentados de forma semelhante a aplicativos desktop tradicionais........................AA
igura @B % -enu ;niciar com atalhos de aplicativos remotos apresentados de forma
semelhante a aplicativos desktop tradicionais...........................................................................AC
igura @D % 1oogle ?ontacts apresentado de maneira semelhante a um aplicativo desktop.....AI
igura @F % 1oogle Docs apresentado de maneira semelhante a um aplicativo desktop..........AI
igura @G % "oho &rojects apresentado de maneira semelhante a um aplicativo desktop.........CJ
igura @A % 1mail apresentado de maneira semelhante a um aplicativo desktop.....................CJ
igura @C % .in<ed;n apresentado de maneira semelhante a um aplicativo desktop.................C=
igura @I % 1oogle ?alendar apresentado de maneira semelhante a um aplicativo desktop....C=
igura BJ % 6o Do .ist apresentado de maneira semelhante a um aplicativo desktop..............C@
igura B= % "oho ?hat apresentado de maneira semelhante a um aplicativo desktop..............C@
&ISTA DE TA#E&AS
6a(ela = % ?omparativo entre 6; ;nterno e +ervios 6erceiri0ados...........................................BI
6a(ela @ % ?omparativo entre +ervios 6erceiri0ados e ?omputao nas Euvens...................DJ
6a(ela B % ?aracter#sticas dos arquivos utili0ados para os testes..............................................GG
6a(ela D % ?ompati(ilidade entre elementos das su#tes............................................................AD
&ISTA DE A#RE(IATURAS E SIG&AS
A&; 7 Application Programming Interface
?aa+ 7 ommunication as a !ervice
?AE 7 ampus Area "etwork
?DE 7 ontent #elivery "etwork
?1; 7 ommon $ateway Interface
?++ 7 ascading !tyle !heet
Daa+ 7 #ata%!torage as a !ervice
D8? 7 E'tenso padro do -icrosoft 2ord @JJB
D8?M 7 E'tenso padro do -icrosoft 2ord @JJA
E?@ 7 &lastic ?ompute ?loud
Eucal:ptus 7 &lastic 'tility omputing Architecture Linking (our Programs )o 'seful
!ystems
6& 7 *ile )ransfer Protocol
1+ 7 $oogle *ile !ystem
Naa+ 7 +ardware as a !ervice
N6-. 7 +yper)e,t -arkup Language
;aa+ 7 Infrastructure as a !ervice
;D. 7 Interface #efinition Language
;& 7 Internet Protocol
*&E1 7 .oint Photographic &,perts $roup
OP 7 /ilobyte
O(ps 7 /ilobit por segundo
.AE 7 Local Area "etwork
-AE 7 -etropolitan Area "etwork
-P 7 -egabyte
-(ps 7 -egabit por segundo
8D& 7 0pen #ocument Presentation
8D+ 7 0pen #ocument !preadsheet
8D6 7 0pen #ocument )e,t
&aa+ 7 Platform as a !ervice
&AE 7 Personal Area "etwork
&? 7 Personal omputer
&DA 7 Personal #igital Assistants
&D 7 Portable #ocument *ormat
&&6 7 E'tenso padro do -icrosoft &o9er&oint @JJB
&&6M 7 E'tenso padro do -icrosoft &o9er&oint @JJA
Qo+ 7 1uality of !ervice
,A- 7 2andom Access -emory
,E+6 7 2epresentational !tate )ransfer
s 7 segundos
+B 7 !imple !torage !ervice
+aa+ 7 !oftware as a !ervice
+AE 7 !torage Area "etwork
+DO 7 !oftware #evelopment /it
+-+ 7 !hort -essage !ervice
+-6& 7 !imple -ail )ransfer Protocol
+8 7 +istema 8peracional
+8A 7 !ervice%0riented Architecture
+8A& 7 !imple 0b3ect Access Protocol
+&B 7 !ervice Pack 4
6?& 7 )ransmission ontrol Protocol
6?&>;& 7 )ransmission ontrol Protocol 5 Internet Protocol
6; 7 6ecnologia da ;nformao
K,. 7 'niform 2esource Locator
H&? 7 6irtual Private loud
H&E 7 6irtual Private "etwork
2AE 7 7ide Area "etwork
2+1; 7 7eb !erver $ateway Interface
M.+ 7 E'tenso padro do -icrosoft E'cel @JJB
M.+M 7 E'tenso padro do -icrosoft E'cel @JJA
M-. 7 e8tensible -arkup Language
SUM)RIO
* INTRODU+,O--------------------------------------------------------------------------------------------------------------------*.
/ SISTEMAS DISTRI#U0DOS---------------------------------------------------------------------------------------------*1
@.= -E6A+...............................................................................................................................=G
/-*-* Aesso a reursos------------------------------------------------------------------------------------------------------------*2
/-*-/ Transpar3nia da distri4ui56o--------------------------------------------------------------------------------------*7
/-*-. A4ertura--------------------------------------------------------------------------------------------------------------------------*8
@.@ ,EDE+ DE ;E6E,?8EEMR8.........................................................................................=I
/-/-* Or9ani:a56o das Redes--------------------------------------------------------------------------------------------------/;
/-/-/ Tipos de Redes----------------------------------------------------------------------------------------------------------------/;
/-/-. Protoolos de Rede---------------------------------------------------------------------------------------------------------/*
@.@.B.= -odelo de refer/ncia 8+;.............................................................................................@@
@.@.B.@ &rotocolo 6?&>;&..........................................................................................................@B
/-/-< Se9uran5a e= Redes------------------------------------------------------------------------------------------------------/<
@.B E+?A.AP;.;DADE..........................................................................................................@F
@.D +;+6E-A+ DE ?8-&K6ASR8 D;+6,;PKTD8+..........................................................@G
. COMPUTA+,O NAS NU(ENS----------------------------------------------------------------------------------------.;
B.= ?8E?E;6KASR8.............................................................................................................BJ
B.@ ?A,A?6E,T+6;?A+........................................................................................................B=
B.B -8DE.8+ DE +E,H;S8.................................................................................................B@
.-.-* N>vel de Aplia56o----------------------------------------------------------------------------------------------------------..
.-.-/ N>vel de A=4iente de So?t%are-------------------------------------------------------------------------------------..
.-.-. N>vel de In?raestrutura de So?t%are-----------------------------------------------------------------------------.<
.-.-< N>vel de Kernel de So?t%are------------------------------------------------------------------------------------------.2
.-.-1 N>vel de @ard%are e Firmware-------------------------------------------------------------------------------------.7
B.D E?8E8-;A.......................................................................................................................BC
B.F A&.;?ASUE+ E &VP.;?8%A.H8...................................................................................DJ
.-1-* UsuArios Do=Bstios------------------------------------------------------------------------------------------------------<*
.-1-/ Co=unidades e Grupos-------------------------------------------------------------------------------------------------</
.-1-. Corpora5Ces--------------------------------------------------------------------------------------------------------------------</
< PRO(EDORES DE SER(I+OS EM NU(EM----------------------------------------------------------------<<
D.= A-A"8E 2EP +E,H;?E+..............................................................................................DD
<-*-* A=a:on Elasti Co=pute Cloud DA=a:on EC/E--------------------------------------------------------<<
<-*-/ A=a:on Si=pleD#---------------------------------------------------------------------------------------------------------<1
<-*-. A=a:on Si=ple Stora9e Servie DA=a:on S.E------------------------------------------------------------<1
<-*-< A=a:on Cloud'ront-------------------------------------------------------------------------------------------------------<1
<-*-1 A=a:on Elasti MapRedue-----------------------------------------------------------------------------------------<2
<-*-2 A=a:on (irtual Private Cloud DA=a:on (PCE-----------------------------------------------------------<2
D.@ +KE.....................................................................................................................................DG
D.B ;P-.....................................................................................................................................DA
D.D EK?A.W&6K+...................................................................................................................DC
D.F H-2A,E...........................................................................................................................DC
<-1-* (M%are vCloud-------------------------------------------------------------------------------------------------------------<8
<-1-/ (M%are vSp!ere------------------------------------------------------------------------------------------------------------<F
D.G -;?,8+86......................................................................................................................FJ
D.A 1881.E............................................................................................................................FJ
1 ESTUDOS DE CASO----------------------------------------------------------------------------------------------------------1*
F.= E+6KD8 DE ?A+8 =3 *2A-&702/ 1881.E A&& EE1;EE....................................F=
1-*-* ConGunto de APIs-----------------------------------------------------------------------------------------------------------1/
1-*-/ &i=ita5Ces-----------------------------------------------------------------------------------------------------------------------1<
1-*-. (anta9ens------------------------------------------------------------------------------------------------------------------------1<
1-*-< Desvanta9ens------------------------------------------------------------------------------------------------------------------11
1-*-1 Tutorial de Desenvolvi=ento de Apliativo-exe=plo--------------------------------------------------11
F.=.F.= &reparao do am(iente de desenvolvimento...............................................................FG
F.=.F.@ ?riando um novo projeto..............................................................................................FG
F.=.F.B 6estando o projeto.........................................................................................................FC
F.=.F.D Efetuando upload do projeto.........................................................................................GJ
1-*-2 Avalia56o dos Resultados-----------------------------------------------------------------------------------------------2.
F.@ E+6KD8 DE ?A+8 @3 &.A6A8,-A 1881.E D8?+...............................................GD
1-/-* Testes de Dese=pen!o e= Rela56o H (eloidade de Aesso---------------------------------------21
1-/-/ Testes de Co=pati4ilidade---------------------------------------------------------------------------------------------7.
1-/-. Avalia56o dos Resultados-----------------------------------------------------------------------------------------------7<
2 SO&U+,O EM NU(EM PARA AM#IENTES CORPORATI(OS-------------------------------71
G.= &,8&8+6A DE A-P;EE6E.............................................................................................AF
G.@ +;+6E-A 6,AD;?;8EA. M +8.KSR8 E- EKHE-.................................................CB
CONC&US,O-------------------------------------------------------------------------------------------------------------------------8<
RE'ERINCIAS----------------------------------------------------------------------------------------------------------------------87
ANEJOS----------------------------------------------------------------------------------------------------------------------------------F;
AEEM8 A 7 .imitaes do 1oogle App Engine......................................................................I=
AEEM8 P 7 ?!digo%fonte do aplicativo%e'emplo para 1oogle App Engine..........................ID
AEEM8 ? 7 6a(ela de Dados ?oletados nos 6estes com 1oogle Docs................................=J=
* INTRODU+,O
A necessidade de reinveno $ uma caracter#stica comum ci/ncia. Eovos modelos e
solues devem surgir para que a evoluo seja poss#vel e de fato alcanada. Eo meio
corporativo esta premissa $ (astante importante, uma ve0 que inovao $ a palavra%chave para
qualquer empreendimento, seja ele atuante no ramo que for. ?ontudo, a preocupao com o
crescimento no pode ser atrapalhada por fatores que deveriam facilitar as tarefas cotidianas,
como o setor de tecnologia da informao. Ele pode, muitas ve0es, representar um 4peso5 na
estrutura de uma empresa, significando atrasos devido a determinadas defici/ncias e gastos
adicionais com mo%de%o(ra e infraestrutura.
Dentro dos sistemas distri(u#dos, visando a economia no meio corporativo, surgiu o
modelo recente conhecido por computao nas nuvens. A ideia $ nova e ainda est
amadurecendo. ?onsiste no 4aluguel5 de espaos em servidores de terceiros para hospedagem
de dados e aplicativos da empresa, eliminando a necessidade de manter desenvolvedores e
equipamentos su(utili0ados dentro das depend/ncias da empresa. 8 investimento $
consideravelmente menor se comparado ao modelo tradicional e, ainda, elimina a
preocupao com 6;, permitindo que a empresa concentre%se apenas no seu ramo de
atividade.
Este tra(alho o(jetiva conceituar o modelo computacional distri(u#do em questo,
evidenciando vantagens e desvantagens, avaliando o desenvolvimento de um aplicativo para a
infraestrutura, efetuando comparaes de servios dispon#veis na 2e( j adaptados ao modelo
e, por fim, sugerindo uma soluo gen$rica em nuvem. 8 que motiva a reali0ao deste
estudo $ o fator econXmico que possui grande evid/ncia, a possi(ilidade de aumento da vida
)til do hard9are e a vantagem de possi(ilitar empresa direcionar suas preocupaes para o
neg!cio, no focando tanto no setor de 6;. Y poss#vel comprovar por meio de testes com
sistemas em nuvem, que o uso do modelo $ vivel, e'igindo uma a(ordagem ligeiramente
diferentes da tradicional. 8s grficos apresentados demonstram onde $ necessrio atuar para
o(ter o desempenho aceitvel e o equil#(rio adequado na adoo de um sistema
computacional distri(u#do em nuvem.
Eo ?ap#tulo @, apresenta%se uma caracteri0ao dos sistemas distri(u#dos,
especificao de metas a serem cumpridas quando da adoo dos mesmos e apresentao dos
=D
principais sistemas computacionais distri(u#dos. Em seguida, no ?ap#tulo B, o foco passa a ser
o modelo computacional distri(u#do conhecido por computao nas nuvens, apresentando
vantagens e desvantagens, classificao do modelo em n#veis e caracteri0ao das aplicaes
e do p)(lico%alvo. 8 ?ap#tulo D mostra alguns servios em nuvem j em uso no mercado e sua
classificao dentro dos n#veis previamente a(ordados. Em seguida, no ?ap#tulo F, so
apresentados dois estudos de caso para justificar a possi(ilidade de adoo da computao nas
nuvens como soluo de (oa relao custo%(enef#cio para am(ientes corporativos. 8 primeiro
deles a(ordando o desenvolvimento para a plataforma 1oogle App Engine e o segundo
avaliando o desempenho, a compati(ilidade e os fatores de migrao para o servio 1oogle
Docs. &ara concluir, o ?ap#tulo G apresenta uma proposta de am(iente em nuvem, com custo
redu0ido e que pode ser aplicada de maneira geral.
/ SISTEMAS DISTRI#U0DOS
Ao mesmo tempo em que se iniciaram as primeiras interligaes de computadores,
surgiu a ideia de distri(uir aplicaes entre eles de modo a melhor utili0ar recursos que
poderiam estar ociosos durante parte do tempo. ?om o aprimoramento da velocidade e da
confia(ilidade das redes, cada ve0 mais computadores no mundo tornaram%se interconectados,
dando fim a uma era em que apenas grandes corporaes e am(ientes acad/micos eram
detentores de tal estrutura.
8s avanos da era da informao so cada ve0 mais rpidos e capa0es de oferecer
facilidades no dia%a%dia da sociedade moderna. 6odos os segmentos de mercado t/m migrado
para aplicaes 2e( visando oferecer maior comodidade ao cliente, que pode reali0ar
transaes (ancrias, efetuar reservas em hot$is e companhias a$reas, ler not#cias ou acessar
documentos oficiais a partir de casa, escrit!rio, dispositivos m!veis etc., a qualquer hora do
dia. 6ais avanos foram via(ili0ados pelo notvel aumento da facilidade de aquisio de
microcomputadores, uma ve0 que estes tiveram seu custo redu0ido significativamente, e pelo
avano nas redes de comunicao pelo mundo, as quais populari0aram o acesso ;nternet,
especialmente em am(ientes dom$sticos.
?om o aumento do n)mero de computadores e dos servios disponi(ili0ados na rede
mundial, a preocupao passou a residir no desempenho dos equipamentos utili0ados. A
ind)stria de microprocessadores no conseguiu manter o mesmo ritmo de crescimento no
poder de processamento de seus novos produtos, contudo a demanda por este crescimento
continuava aumentando.
As limitaes na capacidade de processamento impem restries aos muitos tipos
de soft9are, tais como os programas de escrit!rio, de manipulao de imagens,
jogos, cient#ficos e servidores utili0ados nas organi0aes. Kma forma de contornar
a limitao local de processamento $ a utili0ao de t$cnicas que possi(ilitem o
processamento distri(u#do. ZDAE6A+, @JJF, p. B, D[
8 uso de computao distri(u#da passou a ganhar espao em universidades, centros de
=G
pesquisas e empresas de tecnologia da informao, sendo vista como uma alternativa vivel
ao uso das arquiteturas computacionais centrali0adas e suas limitaes. 4Km sistema
distri(u#do $ um conjunto de computadores independentes que se apresenta aos seus usurios
como um sistema )nico e coerente5, como define 6anen(aum Z@JJA, p. =[. Devido s
caracter#sticas de aumento e'ponencial de processamento de tarefas, alta disponi(ilidade e por
apresentar maior toler\ncia a falhas $ que os sistemas distri(u#dos passaram a ser
considerados sistemas de alto desempenho ou alta disponi(ilidade, atendendo a um vasto
mercado de sistemas conhecidos como cr#ticos.
8s sistemas distri(u#dos so a soluo para aqueles am(ientes onde h a necessidade
de aumento da capacidade de processamento de informaes, compartilhamento de dados e
sem grandes custos. ica claro que no $ recomendado aplicar sistemas distri(u#dos onde no
h necessidade, (aseando%se apenas no fato de que esta a(ordagem pode tra0er (oas
vantagens.
@.= -E6A+
Y necessrio ter metas ao decidir pelo uso de sistemas distri(u#dos e algumas destas
metas, segundo 6anen(aum Z@JJA, p. @%=J[, devem ser devidamente cumpridas.
/-*-* Aesso a reursos
A principal meta desejada com o uso de um sistema distri(u#do $ o compartilhamento
de recursos controlado, tanto para aplicaes, quanto para usurios. N algumas ra0es para
querer compartilhar recursos, como por e'emplo, compartilhando uma impressora na rede ou
o acesso a um supercomputador permite que um n)mero maior de cola(oradores usufrua deste
recurso, resultando em um melhor aproveitamento do mesmo com economia financeira.
A cola(orao e a troca de informaes $ um fator muito relevante e cada ve0 mais
(uscado. Km e'emplo claro $ a ;nternet com seu crescimento acelerado, que utili0a
protocolos simples para trocas de arquivos, o que possi(ilitou que grupos dispersos
geograficamente pudessem esta(elecer uma forma eficiente de cola(orao e edio.
=A
/-*-/ Transpar3nia da distri4ui56o
Kma meta importante no uso de sistemas distri(u#dos $ a ocultao da distri(uio de
seus processos, isto $, torn%lo transparente de modo que o sistema seja capa0 de se apresentar
ao usurio como sendo um )nico sistema de computador. E'istem vrios tipos de
transpar/ncia3
Transpar3nia de aesso3 oculta as diferenas de representao dos dados e como se
d o acesso aos recursos, esta(elecendo padres de e'i(io de arquivos ao usurio e
s aplicaes, escondendo as diferenas entre sistemas operacionais e suas variaes
quanto nomeao de arquivos. Al$m das diferenas entre sistemas operacionais, a
transpar/ncia de acesso (usca ocultar diferenas entre arquiteturas de mquinas,
devendo oferecer a mesma viso do sistema para qualquer estao de tra(alho
e'istente em uma rede heterog/nea.
Transpar3nia de loali:a56o3 $ responsvel pela ocultao da locali0ao f#sica de
um recurso dentro do sistema. A nomeao $ a principal forma de o(ter este tipo de
transpar/ncia, onde $ poss#vel utili0ar uma nomenclatura que no oferea pistas so(re
a locali0ao do recurso. Km e'emplo disso $ o uso de K,.s, as quais no
especificam qual servidor est e'atamente hospedando aquele site.
Transpar3nia de =i9ra56o3 oculta a mudana f#sica de um recurso, o que no deve
necessariamente alterar a forma de acesso ao mesmo. Ainda utili0ando o e'emplo das
K,.s, fica transparente aos utili0adores se determinado site sempre esteve locali0ado
no servidor M ou se anteriormente esteve hospedado no servidor W.
Transpar3nia de reloa56o3 no momento em que um sistema d suporte migrao
de recursos em tempo real, ele possui transpar/ncia de relocao. Y a mesma ideia da
transpar/ncia de migrao, com o diferencial de que o sistema no necessita ter seu
funcionamento interrompido para efetuar a migrao, sendo transparente aos usurios
e aplicaes, os quais podem prosseguir com suas atividades.
Transpar3nia de replia56o3 consiste no ato de replicar um recurso para aumentar
sua disponi(ilidade. &or e'emplo, um arquivo muito requisitado pode ter uma c!pia
criada e a forma de acesso gerenciada para que o caminho permanea sendo o mesmo.
&ara tal, $ necessrio haver transpar/ncia de locali0ao no sistema, a fim de ocultar
fisicamente o recurso replicado.
Transpar3nia de onorr3nia3 e'iste quando $ poss#vel a dois ou mais usurios ou
=C
aplicaes possu#rem acesso a um mesmo recurso, ao mesmo tempo, sem que estes
perce(am a concorr/ncia de acesso. &ara um sistema distri(u#do $ muito importante a
cola(orao entre as estaes de tra(alho, sendo primordial tratar a concorr/ncia de
acesso a recursos compartilhados e ocultar este fato da camada de usurio e aplicao.
Transpar3nia H ?al!a3 um sistema distri(u#do est mais suscet#vel a falhas, uma ve0
que a comple'idade da estrutura aumenta com heterogeneidade, acesso concorrente a
recursos, compartilhamento eficiente etc., dificultando, por conseq]/ncia, o
gerenciamento do sistema. A transpar/ncia a falhas (usca ocultar a ocorr/ncia de
falhas, permitindo que o sistema recupere%se do erro e continue seu funcionamento
normal.
Algumas ve0es no $ trivial e nem adequado o uso de transpar/ncia para ocultar todos
estes detalhes de usurios ou aplicaes, uma ve0 que sistemas geograficamente distri(u#dos a
longas dist\ncias, certamente estaro limitados pela velocidade da rede que os conecta e
capacidade de processamento dos computadores intermedirios Z6AEEEPAK-, @JJA, p. D[.
As transpar/ncias so (oas metas de projeto, mas necessitam ser avaliadas juntamente com
outras questes para determinar a via(ilidade e a necessidade de implement%las.
/-*-. A4ertura
6anen(aum Z@JJA, p. D[ define um sistema distri(u#do a(erto como um 4sistema que
oferece servios de acordo com regras padroni0adas que descrevem a sinta'e e a sem\ntica
desses servios.5 8s servios que em redes de computadores so padroni0ados por protocolos,
nos sistemas distri(u#dos so especificados por meio de interfaces, normalmente descritas por
uma linguagem de definio de interface ZInterface #efinition Language 7 ;D.[.
A e'ist/ncia de interfaces permite que, por e'emplo, uma aplicao A comunique%se
com uma aplicao P, desde que P disponi(ili0e uma interface padro de comunicao que $
entendida por A. Kma interface deve ter todas as especificaes necessrias para haver uma
comunicao completa, por$m isto normalmente ine'iste. &ara ser completa ela deve
especificar tudo que $ necessrio para uma implementao, mas normalmente uma interface
no $ a(solutamente completa, e'igindo que o desenvolvedor especifique algumas questes
de implementao.
?om a o(teno de uma interface neutra e completa, duas caracter#sticas importantes
=I
para sistemas distri(u#dos so tam($m o(tidas3
Interopera4ilidade caracteri0a at$ que ponto duas implementaes de sistemas ou
componentes de fornecedores diferentes devem coe'istir e tra(alhar em conjunto,
com (ase na mera confiana m)tua nos servios de cada um, especificados por um
padro comum. Porta4ilidade caracteri0a at$ que ponto uma aplicao
desenvolvida para um sistema distri(u#do A pode ser e'ecutada, sem modificao,
em um sistema distri(u#do P que implementa as mesmas interfaces que A.
Z6AEEEPAK-, @JJA, p. F, grifo do autor[
@.@ ,EDE+ DE ;E6E,?8EEMR8
A computao $ sem d)vida sinXnimo de evoluo. As principais conquistas
tecnol!gicas do s$culo MM se deram no campo do processamento e da distri(uio de
informaes. Entre os principais desenvolvimentos surgiram as redes de telefonia, o rdio, a
televiso, os precedentes da informtica e o lanamento de sat$lites de comunicao. ?omo
resultado do crescimento acelerado, estas reas esto convergindo cada ve0 mais, diminuindo
as diferenas entre coleta, transmisso, arma0enamento e processamento de informaes.
Noje $ poss#vel comunicar%se em questo de segundos com estaes de tra(alho
locali0adas a milhares de quilXmetros de dist\ncia geograficamente. E, medida que evoluem
as maneiras de coleta e tratamento da informao, novos sistemas mais sofisticados devem
surgir.
8 velho modelo de um )nico computador atendendo s necessidades computacionais
de uma organi0ao foi, h muitos anos, su(stitu#do pelas redes de computadores, nas quais o
tra(alho $ distri(u#do entre todas as estaes interconectadas Z6AEEEPAK-, @JJB, p. @[.
+himons<i Z@JJF, p. D[ define redes como sistemas que esto interconectados de alguma
maneira e suportam troca de informaes entre si. 6anen(aum Z@JJB, p. @[ e'plica que redes
so um 4conjunto de computadores autXmatos interconectados por uma )nica tecnologia.5
Eeste cap#tulo definiremos aspectos a respeito das redes de computadores, citando
fundamentos de sua organi0ao.
@J
/-/-* Or9ani:a56o das Redes
8 que define uma rede e a torna diferente das demais so alguns elementos citados
como fundamentais por +himons<i Z@JJF, p. F, G[3
@ard%are. ;nclui os componentes f#sicos de um computador ou de uma rede, tais
como adaptadores de rede que permitem a troca de informaes atrav$s dela. 8utros
dispositivos que podem ser classificados como hard9are so os roteadores, switches e
hubs.
M>dia. ?onsiste nos ca(os ou tecnologias sem fio, as quais transferem os dados por
toda a rede.
Protoolos. +o esp$cies de regras que controlam como os dados so enviados entre
os computadores. 8 protocolo mais popular $ o 6?&>;& Z)ransmission ontrol
Protocol 5 Internet Protocol[.
Topolo9ia. Define o projeto da rede, como ela $ organi0ada e descreve como os
computadores esto conectados fisicamente.
Tipo de rede. Define o tamanho da rede e sua escala em uma rea geogrfica.
Modelo de rede. Define os n#veis de segurana dispon#veis e os componentes
necessrios para efetuar as cone'es.
Aesso. Determina quem pode utili0ar a rede e como ser este acesso, al$m de ditar se
recursos devero ser p)(licos ou privados.
Siste=a Operaional de Rede. A rede pode ter um servidor que disponi(ili0a
servios para diversos computadores, o qual dever rodar um sistema operacional de
rede, como 2indo9s ou .inu'.
Outros so?t%ares e dispositivos. &ermitiro acesso a recursos como sites internos,
correio eletrXnico, (ancos de dados etc.
/-/-/ Tipos de Redes
,edes podem conectar estaes de tra(alho pr!'imas, em um limitado espao f#sico,
ou estaes a longas dist\ncias geogrficas. &odem ainda ser consideradas redes criadas para
algumas finalidades espec#ficas. &ara identificar as redes de computadores quanto a sua
@=
a(rang/ncia f#sica, foram convencionadas algumas nomenclaturas3
Rede &oal D&AN K Local Area NetworkE. +o redes privadas contidas em um )nico
edif#cio ou campus universitrio com at$ alguns quilXmetros de e'tenso. Elas t/m
tamanho limitado, o que implica que o pior tempo de transmisso $ limitado e
conhecido com anteced/ncia.
Rede Geo9ra?ia=ente Distri4u>da DLAN K Wide Area NetworkE. A(range uma
grande rea geogrfica, podendo ser at$ mesmo um pa#s ou continente.
Rede Metropolitana DMAN K Metropolitan Area NetworkE. A(range uma cidade.
Km (om e'emplo deste tipo de rede so as redes de transmisso de 6H a ca(o, criadas
para levar sinal at$ lugares onde no era poss#vel utili0ar a transmisso pelo ar.
Rede de Ar=a:ena9e= DSAN K Storage Area NetworkE. +erve para conectar
dispositivos de arma0enagem a altas velocidades, sem a necessidade da
implementao de uma .AE ou 2AE para tal.
Rede Pessoal DPAN K Personal Area NetworkE. 6rata%se do uso (em limitado de redes
9ireless de poucos metros de alcance para comunicao entre dispositivos pessoais,
como note(oo<s, &DAs, telefones m!veis, entre outros.
Rede de Ca=pus DCAN K Campus Area NetworkE. Y a nomenclatura utili0ada para
uma s$rie de .AEs e'istentes em edif#cios pr!'imos fisicamente, muito comumente
encontradas em empresas e campus universitrios. Y maior que uma .AE e menor que
uma -AE.
/-/-. Protoolos de Rede
8 esta(elecimento de uma cone'o f#sica entre dois computadores no $ suficiente
para que eles se comuniquem. A comunicao livre de erros, confivel e eficiente
entre computadores e'ige a implementao de sistemas de soft9are ela(orados que
geralmente so chamados protocolos. ^..._ E'ige que os meios de transmisso sejam
capa0es de manipular a heterogeneidade de equipamentos e cone'es. Z8"+`a
HA.DK,;E", @JJ=, p. GC[
A arquitetura ;+8>8+; serviu como (ase para o protocolo mais conhecido nas redes do
tipo 2AE. Entre cada camada de n!s, est especificada uma interface clara que define a
@@
passagem de informaes entre as camadas de soft9are e hard9are. +emelhante ao 8+;, outro
protocolo muito difundido $ o 6?&>;&, que possui menos camadas e no especifica a camada
de host para rede. 8 8+; possui sete camadas, enquanto o 6?&>;& apresenta cinco. As
diferenas entre os protocolos e as camadas e'istentes em cada protocolo podem ser vistas na
igura =.
Figura 1 : D-6$r$%0a( $%,r$ a( &a/a#a( #"( +r","&""( ISO;OSI $ TCP;IP
8 protocolo coloca caracteres de controle no in#cio e no final do conjunto de dados
transmitidos. Estes controles so conferidos ao chegarem na outra ponta, pelo outro
programa>protocolo id/ntico ao anterior. +e ao longo da transmisso ocorreu algum
erro, o protocolo deve tentar enviar novamente os mesmos, at$ que cheguem
corretamente. Z+8K+A, =IIG, p. BI[
/-/-.-* Modelo de re?er3nia OSI
8 modelo 8+; Z0pen !ystems Interconnection[ $ um protocolo que permite a
integrao de diversos componentes. Ele divide as etapas de transmisso, definindo como
deve proceder cada etapa do processo ao transferir dados. ?ada n#vel oferece servios ao n#vel
seguinte e esto assim classificados3
N>vel 7 K Aplia56o3 trata%se dos programas aplicativos do usurio, o que pode ser
@B
(anco de dados, correio eletrXnico etc.
N>vel 2 K Apresenta56o3 $ onde ocorre a converso dos dados. E'.3 compresso de
dados, converso de formatos, criptografia entregando os dados convertidos
aplicao.
N>vel 1 K Sess6o3 esta(elece a cone'o entre aplicaes, definindo como vai ser feita a
troca de informaes e o modo de transmisso.
N>vel < K Transporte3 fa0 o controle da transfer/ncia de dados entre os computadores,
garantindo que a mensagem seja entregue e evitando duplicaes.
N>vel . K Rede3 encaminha pacotes, fa0 conta(ili0ao e transfer/ncia de dados para
outra rede.
N>vel / K Controle de lin!a3 fa0 a deteco e a correo de erros, fa0endo com que a
linha f#sica parea livre de erros.
N>vel * K '>sio3 especifica cone'es el$tricas, ca(os, n#vel de voltagem de lu0 etc.
/-/-.-/ Protoolo TCPMIP
8 protocolo 6?&>;& foi criado para atender necessidades de endereamentos e
pro(lemas de intercone'o de redes, garantindo interopera(ilidade entre diferentes sistemas e
o(jetivando ser transparente aos diferentes hard9ares de diferentes plataformas, protocolos e
interfaces do n#vel f#sico e'istentes Z+8K+A, =IIG, p. I=[. 6rata%se de um grupo de
protocolos e padres que definem como deve funcionar o acesso a correio eletrXnico,
transfer/ncia de arquivos etc., que interagem entre si a fim de transferir dados de um ponto a
outro.
8s protocolos mais comuns dentro da arquitetura 6?&>;& so3
IP3 envia datagramas, mas no controla envio>rece(imento correto dos dados.
TCP3 transporta os dados, efetuando correo de dados para garantir sua integridade.
'TP3 8 *ile )ransfer Protocol $ utili0ado para efetuar o compartilhamento e a
transfer/ncia de arquivos remotos, atrav$s do 6?&.
SMTP3 8 !imple -ail )ransfer Protocol $ o protocolo que trata de acessos a correio
eletrXnico.
@D
/-/-< Se9uran5a e= Redes
8 fator segurana $ uma das grandes preocupaes ao utili0ar redes e, principalmente,
no momento em que dados passam a ser trafegados pela ;nternet.
A segurana $ um assunto a(rangente e inclui in)meros tipos de pro(lemas. Em sua
forma mais simples, a segurana se preocupa em garantir que pessoas mal%
intencionadas no leiam ou, pior ainda, modifiquem mensagens secretamente
enviadas a outros destinatrios. Z6AEEEPAK-, @JJB, p. AGA[
+o necessrias algumas t$cnicas para trafegar dados com segurana. +egundo
6anen(aum Z@JJB, p. AAJ%CJD[, as mais utili0adas so3
Cripto9ra?ia3 As informaes a serem enviadas so transformadas em c!digos que
seguem um padro especificado por uma chave. &ara ser poss#vel desfa0er esta
criptografia e ler a mensagem no destino, $ necessrio possuir uma c!pia da chave de
encriptao e reali0ar o processo inverso.
Al9orit=os de !ave si=Btria3 +o algoritmos de criptografia que (uscam criar
chaves mais ela(oradas, procurando tornar praticamente imposs#vel o entendimento da
encriptao. Este tipo de algoritmo utili0a a mesma chave para codificao e
decodificao.
Al9orit=os de !ave pN4lia3 Eeste caso, a chave de criptografia e a chave de
descriptografia so diferentes e $ muito dif#cil derivar uma a partir da outra. Desta
maneira, uma chave de criptografia $ criada e distri(u#da pu(licamente, mas a chave
de descriptografia $ mantida em segredo, permitindo que qualquer indiv#duo
interessado no envio de mensagens secretas a algu$m possa fa0/%lo tendo garantia de
que apenas o destinatrio ser capa0 de decifr%la.
Assinaturas di9itais3 Puscam su(stituir assinaturas que em documentos impressos
so feitas mo, procurando uma identificao digital para documentos enviados pela
;nternet.
@F
@.B E+?A.AP;.;DADE
A escala(ilidade $ uma das metas mais importantes em sistemas distri(u#dos.
4Escala(ilidade permite que um sistema distri(u#do cresa Zadicione mais mquinas ao
sistema[ sem afetar as aplicaes e os usurios e'istentes5 ZDE;6E., @JJF, p. FJA[.
;nfeli0mente, um sistema escalvel perde capacidade de desempenho medida que $
ampliado.
Em um sistema que, por e'emplo, um servidor tra(alha para oferecer servios
centrali0ados de acesso a dados e aplicativos, medida que o sistema $ ampliado haver
gargalo de comunicao no servidor, logicamente, mesmo que este possua alta capacidade de
processamento. +e por um lado em alguns casos $ necessrio manter (ancos de dados
centrali0ados por questes de segurana de dados, de outro fica claro que seria imposs#vel
tra(alhar sem replicar e distri(uir dados visto que diversos sistemas tra(alham com milhares
de requisies ao mesmo tempo.
-esmo algoritmos centrali0ados no constituem uma (oa prtica. Ao ampliar o
n)mero de estaes de tra(alho em uma rede, o crescimento do roteamento de mensagens $
e'ponencial, o que resulta em funcionamento no eficiente se for centrali0ado. Desta maneira,
o tra(alho dos algoritmos quando distri(u#dos deve utili0ar comunicao ass#ncrona, tendo em
vista que a perfeita sincroni0ao de rel!gios demandaria considervel esforo.
Eo s! algoritmos, mas sistemas distri(u#dos como um todo devem se utili0ar de
comunicao ass#ncrona para ocultar a lat/ncia de comunicao, distri(uio e replicao. A
ideia, de acordo com 6anen(aum Z@JJA, p. A[, $ que ap!s efetuar uma requisio, a aplicao
no fique parada aguardando por um retorno, devendo esta e'ecutar outra tarefa at$ a chegada
da resposta, o que dispara o funcionamento de um manipulador especial para finali0ar a
requisio emitida anteriormente.
N casos em que esta t$cnica no se aplica, porque no $ poss#vel aguardar uma
resposta e e'ecutar outra operao naquele intervalo de tempo. Eeste caso, $ poss#vel fa0er a
transfer/ncia de informaes constantemente ao servidor, podendo assim, por e'emplo, fa0er
a validao de um formulrio enviando campo por campo durante o preenchimento do
mesmo. Enquanto o usurio digita o conte)do dos campos do formulrio, o sistema vai
fa0endo a verificao dos dados j digitados e informa ao usurio em tempo de edio so(re
um poss#vel erro de sinta'e, acelerando o processo no momento de su(misso definitiva do
formulrio.
@G
?onsiderando que pro(lemas de escala(ilidade frequentemente aparecem so( a
forma de degradao do desempenho, em geral $ uma (oa ideia replicar
componentes por um sistema distri(u#do. A replicao no somente aumenta a
disponi(ilidade, mas tam($m ajuda a equili(rar a carga entre componentes, o que
resulta em melhor desempenho. Al$m disso, em sistemas de ampla disperso
geogrfica, ter uma c!pia por perto pode ocultar grande parte dos pro(lemas de
lat/ncia de comunicao j mencionados. Z6AEEEPAK-, @JJA, p. I[
Kma das melhores formas de o(teno de replicao $ o uso de cache. Km (om
e'emplo de replicao por cache $ o uso de servidores Pro,y que arma0enam o conte)do de
pginas recentemente acessadas pelos clientes de uma .AE ZLocal Area "etwork[ e, ao ser
requisitada novamente pelo mesmo ou por um cliente diferente, a pgina $ carregada a partir
do cache, diminuindo ento a lat/ncia e o tempo de resposta.
A e'ist/ncia de uma s$rie de c!pias de um mesmo recurso s ve0es pode gerar
inconsist/ncia. +e uma das c!pias for atuali0ada, todas as outras ficam inconsistentes e $
necessrio utili0ar t$cnicas especiais de controle de consist/ncia. Em alguns casos $ aceitvel
para um cliente rece(er uma pgina verificada h poucos minutos, tendo em vista que no $
um site de informaes constantemente atuali0adas. * em casos onde os resultados so
informados em tempo real e atrasos de alguns minutos podem fa0er muita diferena, o uso de
cache no $ uma (oa prtica.
@.D +;+6E-A+ DE ?8-&K6ASR8 D;+6,;PKTD8+
E'istem tr/s modelos de sistemas de computao distri(u#dos, sendo dois deles
largamente empregados atualmente para aplicaes de alto desempenho, e o terceiro
comeando a compor o cenrio de alternativas viveis voltadas para, de modo especial, o
meio corporativo.
Eo modelo o=puta56o de luster, 4o hard9are su(jacente consiste em um conjunto
de estaes de tra(alho ou &?s semelhantes, conectados por meio de uma rede local de alta
velocidade5 Z6AEEEPAK-, @JJA, p. =J[. 8 sistema operacional utili0ado tam($m $
semelhante entre elas. 8 uso deste tipo de computao surgiu a partir da diminuio do custo
para aquisio de computadores pessoais e da viso de que a unio de vrios computadores
para e'ecuo de tarefas paralelas poderia ser uma alternativa compra de
@A
supercomputadores e reutili0ao de recursos o(soletos. Km e'emplo (astante conhecido $
o cluster Beowulf (aseado em .inu', cuja organi0ao est representada na igura @.
Figura 2 : Or1a%-<a0)" #" cluster =$">'6
Esta(elecendo uma comparao entre os clusters e os sistemas em grade perce(emos
que o primeiro $ homog/neo, apresentando mesmo sistema operacional, mesma arquitetura e
estando todos os nodos conectados mesma rede, o que no acontece em sistemas em grade.
Eestes, e'iste alto grau de heterogeneidade3 hard9are, sistemas operacionais, redes, dom#nios
administrativos, pol#ticas de segurana, entre outros. Km aspecto importante na o=puta56o
e= 9rade $ o fato de que 4recursos de diferentes organi0aes so reunidos para permitir a
cola(orao de um grupo de pessoas ou instituies5 Z6AEEEPAK-, @JJA, p. ==[.
A organi0ao de um sistema em grade se d por meio de grupos conectados uns aos
outros em uma organi0ao virtual, como apresenta a igura B. Dessa maneira, cada grupo
tem dentro de seu dom#nio, acesso e'clusivo a determinados recursos, que podem ser clusters
ou impressoras, por e'emplo, os quais no esto dispon#veis a outros grupos. Quanto a outros
recursos o compartilhamento pode ser total, como por e'emplo, a distri(uio de tarefas de
processamento entre grupos para melhor utili0ao de nodos ociosos.
@C
Figura 3 : Or1a%-<a0)" 2-r,'a +r"2-#a +$a
&"/+',a0)" $/ 1ra#$
A o=puta56o e= nuve= deriva dos modelos acima citados e $ um conceito recente.
6rata%se de um modelo emergente de infraestrutura de tecnologia da informao desenvolvido
para oferecer recursos computacionais a alta velocidade. As estaes de tra(alho necessitam
(asicamente de um sistema operacional e algumas configuraes de acesso a recursos
dispon#veis em servidores remotos. ?omo o usurio no sa(e onde esto locali0ados
fisicamente estes recursos, adotou%se a nomenclatura 4nuvem5, que representa um
aglomerado de servidores espalhados pelo mundo acess#veis via ;nternet. 8s servios so
entregues de maneira simples, provendo escala(ilidade, qualidade diferenciada e enfoque no
usurio para prover inovao e eficiente tomada de decises Z;P-, @JJI[.
A tecnologia de servios 2e(, que representa o pr!'imo estgio da
computao distri(u#da, afetar profundamente as organi0aes no futuro. +ervios
2e( a(rangem um conjunto de padres relacionados que podem ha(ilitar quaisquer
duas aplicaes de computador a se comunicar e trocar dados via ;nternet. -uitos
fatores indicam que os servios 2e( mudaro radicalmente as arquiteturas de 6; e os
relacionamentos entre parceiros. ZDE;6E., @JJF, p. FF=[
@I
8 que Deitel Z@JJF[ afirmou pode ser visto hoje com o nome de computao nas
nuvens. As vantagens, desvantagens e outros detalhes a respeito deste novo modelo
distri(u#do sero discutidos no pr!'imo cap#tulo.
. COMPUTA+,O NAS NU(ENS
B.= ?8E?E;6KASR8
8 termo computao nas nuvens, do ingl/s cloud computing, surgiu como um novo
modelo de computao distri(u#da que aproveita conceitos de clusters e grids, al$m de (asear%
se nos avanos de t$cnicas de virtuali0ao conquistados nos )ltimos anos. 8 conceito de
4nuvem5 surge da disposio f#sica dos elementos envolvidos no modelo. Em outras palavras,
os servidores que hospedam dados e aplicativos ficam locali0ados em datacenters de
empresas de qualquer parte do mundo, o que nos leva necessidade de um termo que a(straia
esta locali0ao. &ara tal, adotou%se o termo 4nuvem5, significando ento, um emaranhado de
servidores dispon#veis via ;nternet.
De acordo com And: Pechtolsheim Z@JJC[, o modelo de computao em nuvem $ a
quinta gerao da computao, depois do mainframe, &? ZPersonal omputer[, modelo
cliente%servidor e 2e(. 6rata%se de uma evoluo do modelo cliente%servidor, diferindo na
distri(uio do processamento, o qual $ em grande parte centrali0ado no servidor remoto,
ca(endo ao terminal cliente efetuar pequenas tarefas de processamento locais.
?omputao em nuvem, portanto, trata%se da utili0ao de soft9ares ou sistemas em
rede e da capacidade de prover recursos ao usurio so( demanda. Desta maneira, as
informaes so permanentemente arma0enadas em servidores na ;nternet Zlocali0ados na
4nuvem5[, sendo reali0adas caches destes dados em computadores desktop, note(oo<s,
dispositivos m!veis, entre outros, os quais estaro fa0endo uso da infraestrutura em nuvem.
Y comum referir%se ao modelo como utility computing Zcomputao como uma
utilidade[, o que significa que o usurio poder acessar aplicaes de neg!cio online, a partir
de qualquer dispositivo virtualmente dispon#vel, mediante um pagamento por uso.
Devido ao fato de permitir escala(ilidade e elasticidade, o modelo oferece aos
administradores de tecnologia da informao uma maneira de aumentar a capacidade de
acordo com a demanda. 8u seja, com a adoo do modelo, no e'iste a necessidade de alto
investimento na su(stituio de hard9are o(soleto, na compra de licenciamento de soft9ares
ou no treinamento de pessoal, uma ve0 que todo o processamento se d em servidores
locali0ados nas bnuvensb, pagando apenas pelo trfego que de fato for gerado.
B=
B.@ ?A,A?6E,T+6;?A+
Ea computao tradicional, os soft9ares rodam so( plataformas individuais e so
c!pias instaladas em cada unidade de tra(alho. 6odos os documentos criados por tais
soft9ares so arma0enados localmente no disco r#gido do computador e podem ser acessados
por computadores de uma mesma rede, mas no por terminais locali0ados fora da mesma.
Esta a(ordagem pode ser considerada orientada a ter=inal.
De modo contrrio a(ordagem supra%citada surge a computao nas nuvens. As
aplicaes e os documentos utili0ados no rodam e no so arma0enados, respectivamente,
em unidades de tra(alho, mas em servidores acess#veis a partir de outro dispositivo ou estao
via ;nternet. +e ocorrer alguma falha na unidade de tra(alho, soft9ares e documentos
permanecem acess#veis, uma ve0 que esto arma0enados em uma coleo de servidores.
6rata%se de uma a(ordagem orientada a dou=ento.
A computao em nuvem no deve ser confundida com computao em rede. Eesta
)ltima, as aplicaes e os documentos esto hospedados em servidores locali0ados dentro de
uma companhia e acess#veis apenas na rede da mesma. * a computao em nuvem envolve
vrias companhias, vrios servidores e vrias redes de transmisso, disponi(ili0ando servios
e documentos em qualquer local do mundo que oferea acesso ;nternet. ?ontudo, esta
infraestrutura de comunicao, processamento e arma0enagem deve ser transparente ao
usurio final, mesmo que parcialmente.
Esta transpar/ncia vem do conceito de a(strao caracter#stico de todo sistema
computacional distri(u#do. 4Km sistema distri(u#do $ um conjunto de computadores
independentes que se apresenta aos seus usurios como um sistema )nico e coerente5, definiu
6anen(aum Z@JJA, p. =[. A infraestrutura $ transparente ao usurio permitindo que o acesso
ocorra a partir de qualquer dispositivo com acesso ;nternet, esteja ele rodando qualquer
sistema operacional e qualquer navegador devidamente atuali0ados.
De acordo com -iller Z@JJC[, a organi0ao pioneira na disponi(ili0ao de servios
em computao nas nuvens, o 1oogle, elenca seis propriedades do modelo3
Orienta56o ao usuArio3 Kma ve0 que o usurio est conectado nuvem, qualquer
documento arma0enado 7 arquivos de te'to, mensagens, imagens, aplicaes 7 torna%
se propriedade do usurio.
Orienta56o H tare?a3 Em ve0 de focar na aplicao e o que ela pode fa0er, o foco est
no que o usurio necessita reali0ar e em como a aplicao pode au'ili%lo. Aplicaes
B@
tradicionais 7 editores de te'to e planilhas de clculo, e%mail, etc. % esto tornando%se
menos importantes que os documentos criados por elas.
E?iAia3 8 fato de se conectar centenas ou milhares de computadores a uma nuvem
cria uma rique0a de poder computacional imposs#vel de ser implementada com um
)nico computador.
Aessi4ilidade3 Kma ve0 que dados so arma0enados diretamente nas nuvens, o
usurio tem a possi(ilidade de instantaneamente (uscar mais informaes de diversos
reposit!rios. Eo h limitao a uma )nica fonte de dados, como em uma unidade
individual de tra(alho.
Inteli93nia3 ?om grandes montantes de informao arma0enados em servidores nas
nuvens, a minerao e anlise de dados so t$cnicas necessrias para um
aproveitamento mais inteligente da informao acess#vel. Arquiteturas em nuvem
facilitam estas tarefas, uma ve0 que todos os dados e aplicaes encontram%se
centrali0ados.
Pro9ra=Avel3 -uitas tarefas do modelo em nuvem devem ser automati0adas. &or
e'emplo, para proteger a integridade dos dados, as informaes arma0enadas em um
)nico computador na nuvem devem ser replicadas para outros computadores da
mesma nuvem. +e este computador ficar indispon#vel, a programao da nuvem
automaticamente redistri(ui os dados daquele nodo para outro. 6ratam%se de t$cnicas
de toler\ncia a falhas.
Em resumo, a computao em nuvem torna poss#vel a mudana de foco do
computador para o usurio, da aplicao para a tarefa e do isolamento de dados para dados
acess#veis em qualquer local e compartilhados com qualquer mem(ro que possua permisso.
B.B -8DE.8+ DE +E,H;S8
E'istem alguns tipos de computao em nuvem que caracteri0am a a(ordagem
utili0ada, cuja qual pode variar de acordo com a necessidade do consumidor e ser classificada
como3 aplicaes, am(ientes de soft9are, infraestrutura de soft9are, kernel de soft9are e
hard9are ZW8K+E, @JJC[. Esta a(ordagem est representada em n#veis na igura D.
BB
.-.-* N>vel de Aplia56o
8 n#vel de aplicao $ o mais vis#vel ao usurio final. Eormalmente, os servios
prestados por este n#vel so acess#veis por usurios atrav$s de portais 2e( e, em alguns casos,
so servios pagos. Este modelo mostrou%se atrativo para muitos usurios, uma ve0 que
diminui o peso da preocupao com a manuteno de soft9are e o alto custo com operaes e
suporte cont#nuos. Em outras palavras, o tra(alho computacional $ transferido aos datacenters
nos quais as aplicaes em nuvem so desenvolvidas. Esta caracter#stica diminui as restries
de hard9are necessrias ao usurio final, al$m de fornecer !timo desempenho a estaes de
tra(alho com hard9are mais antigo, sem a necessidade de investimento na compra de novos
equipamentos.
Este modelo simplifica e facilita at$ mesmo o tra(alho dos provedores de servios em
nuvem. Kma ve0 que a aplicao $ desenvolvida e mantida na infraestrutura da companhia
que prov/ o servio, os desenvolvedores podem criar pequenos pacotes de atuali0ao e
adicionar novas funcionalidades sem atrapalhar o tra(alho dos usurios. ;sto convenciona uma
receita garantida ao desenvolvedor e tra0 comodidade ao utili0ador, sendo (en$fica para
am(os os lados e normalmente referenciada como +aa+ % !oftware as a !ervice Z+oft9are
como +ervio[.
Apesar dos diversos (enef#cios oferecidos pelo modelo em questo, alguns pro(lemas
de implantao limitam seu uso em larga escala. Especificamente, a segurana e a
disponi(ilidade de aplicaes em nuvem so dois dos maiores pro(lemas do modelo que
devem ser enfrentados por provedores e utili0adores. -ais um motivo para o retardo na
adoo de +aa+ $ a dificuldade na migrao de dados para as nuvens.
.-.-/ N>vel de A=4iente de So?t%are
8 segundo n#vel de acordo com a proposta de Wouseff Z@JJC[ $ o am(iente de
soft9are, tam($m chamado de plataforma de soft9are. Este n#vel $ utili0ado por
desenvolvedores de aplicaes para as nuvens, que implementam e implantam suas aplicaes
diretamente na nuvem. 8s provedores destes servios nas nuvens oferecem aos
desenvolvedores um conjunto definido de A&;s, as quais facilitam a interao entre o
am(iente e as aplicaes em nuvem, assim como o aumento da agilidade de implantao e o
BD
suporte escala(ilidade necessria para tais aplicaes. 8 servio oferecido neste n#vel $
comumente tido como &aa+ 7 Platform as a !ervice Z&lataforma como +ervio[. Km e'emplo
deste tipo de servio $ o 1oogle App Engine, o qual oferece um am(iente de desenvolvimento
em &:thon e A&;s que permitem aplicaes interagirem com a nuvem do 1oogle. 8
framework App Engine ser a(ordado em detalhes mais adiante.
E'istem alguns (enef#cios para desenvolvedores de aplicaes que voltam%se para
am(ientes de programao em nuvem, incluindo estruturas que via(ili0am escala(ilidade e
(alanceamento de carga automticos, (em como a integrao facilitada com outros servios
para reali0ao de tarefas como autenticao, tarefas de e%mail e interface com o usurio.
Desta forma, grande parte da comple'idade de desenvolvimento $ a(stra#da pelo am(iente de
programao e o desenvolvedor ganha a ha(ilidade de integrar novos servios a sua aplicao
de acordo com a necessidade. Em resumo, o desenvolvimento torna%se uma tarefa menos
complicada, h uma acelerao no tempo de implantao e minimi0ao de falhas l!gicas na
aplicao.
.-.-. N>vel de In?raestrutura de So?t%are
8 n#vel de infraestrutura de soft9are fornece recursos fundamentais para camadas de
n#vel superior, permitindo a criao de novos am(ientes de soft9are ou novas aplicaes.
&rosseguindo na viso de Wouseff Z@JJC[, este n#vel pode ser categori0ado em3 recursos
computacionais, arma0enamento de dados e comunicaes.
a[ Reursos Co=putaionais3 Eeste n#vel, mquinas virtuais Zvirtual machines[ so a
melhor maneira de fornecer recursos computacionais, j que oferecem ao usurio
maior fle'i(ilidade, uma ve0 que ele normalmente possui permisso total para uso da
mquina virtual, estando apto a personali0ar o soft9are e o(ter maior performance e
efici/ncia. Estes servios so normalmente chamados ;aa+ 7 Infrastructure as a
!ervice Z;nfraestrutura como +ervio[. A virtuali0ao $ a tecnologia responsvel pela
e'ist/ncia deste componente de nuvem, o qual via(ili0a ao usurio uma fle'i(ilidade
jamais vista em termos de configurao na proteo da infraestrutura f#sica do
datacenter. ,ecentemente, os avanos em virtuali0ao de sistemas operacionais
trou'eram dois conceitos plaus#veis para o n#vel em questo3 a paravirtuali0ao e a
BF
virtuali0ao assistida por hard9are. Em(ora am(as as tecnologias a(ordem o
isolamento como uma forma de aumento de desempenho entre mquinas virtuais
compartilhando os mesmos recursos f#sicos, a interfer/ncia de desempenho entre
mquinas virtuais que fa0em uso da mesma cache no pode ser descartada. A perda de
desempenho em mquinas virtuais compartilhando o mesmo meio f#sico, resulta na
incapacidade dos fornecedores de servios nas nuvens em oferecerem garantias
aceitveis de desempenho aos seus clientes.
([ Ar=a:ena=ento de Dados3 8 segundo recurso de infraestrutura $ o arma0enamento
de dados, o qual permite ao usurio arma0enar seus dados em discos remotos e acess%
los a qualquer momento e de qualquer lugar. Este servio $ comumente conhecido
como Daa+ 7 #ata%!torage as a !ervice ZArma0enamento de Dados como +ervio[,
um facilitador de tarefas de escala(ilidade que podem ir al$m de servidores limitados.
+istemas de arma0enamento de dados surgiram para suprir alguns requisitos so(re
gerenciamento de dados e informaes, incluindo alta disponi(ilidade, confia(ilidade,
desempenho, replicao e consist/ncia de dados. ?ontudo, devido nature0a
conflitante destes requisitos, no e'iste um sistema capa0 de implementar todos eles.
Alguns e'emplos de sistemas de arma0enamento de dados so3 sistemas de arquivos
distri(u#dos e (ancos de dados relacionais com replicao.
c[ Co=unia56o3 Kma ve0 que a necessidade de garantia de Qo+ 7 1uality of !ervice
Zqualidade de servio[ para uma rede de comunicao cresce ao tratar%se de um
sistema em nuvem, a comunicao se torna um componente vital da infraestrutura em
questo. Em consequ/ncia disto, estes sistemas possuem a o(rigao de fornecer
certas capacidades de comunicao 4orientadas a servio5, configurveis,
programveis, previs#veis e confiveis. ?om estas vantagens, o conceito de ?aa+ 7
ommunication as a !ervice Z?omunicao como +ervio[ surgiu para oferecer
suporte a determinados requisitos, tais como segurana em redes, encriptao de dados
e monitoramento de rede. Apesar deste ser o modelo comercialmente menos adotado
entre todos os servios em nuvem e'istentes, segundo Wouseff Z@JJC[, $ poss#vel
o(servar em algumas pesquisas que vrias decises, protocolos e solues de projeto
arquitetural necessitam fornecer ?aa+ com Qo+.
BG
Alguns recursos comuns de projeto so compartilhados entre os tr/s componentes de
infraestrutura. &or e'emplo, segurana, disponi(ilidade e qualidade de servios esto entre as
caracter#sticas mais importantes. Entretanto, o oferecimento de outros mecanismos de
segurana para arquiteturas 4orientadas a servio5 $ uma rica rea de estudos e pesquisas, com
enfoque um pouco diferente das comunidades de +8A 7 !ervice%0riented Architecture
ZArquitetura 8rientada a +ervios[ e das comunidades de segurana.
A interface com o usurio para componentes de insfraestrutura em nuvem varia
su(stancialmente de um sistema para outro. E'emplos de interfaces utili0adas neste modelo
so3 +8A& 7 !imple 0b3ect Access Protocol e ,E+6 7 2epresentational !tate )ransfer.
?ontudo, a pr!pria caracter#stica de implementao 4orientada a servio5 muito atrapalha,
sendo plaus#vel projetar uma interface unificada e interativa atrav$s de um portal 2e( para
comunicar com servios 2e( a fim de oferecer uma interface padroni0ada para servios em
nuvem neste n#vel.
.-.-< N>vel de Kernel de So?t%are
8 n#vel de Oernel de +oft9are $ o responsvel por oferecer o gerenciamento de
soft9are (sico para os servidores f#sicos que compem a nuvem. Eeste n#vel, o Oernel de
+oft9are tem a possi(ilidade de ser implementado como um Oernel de +8, hypervisor,
mquina virtual e>ou clustering middleware. Algumas aplicaes em grid foram implantadas e
rodadas neste n#vel com algumas mquinas conectadas em cluster. ?ontudo, a falta de (ons
mecanismos de a(strao de virtuali0ao em computao em grid, tornam o tra(alho muito
semelhante infraestrutura de hard9are e o suporte migrao, pontos de checagem e
(alanceamento de carga para aplicaes deste n#vel sempre foram tarefas dif#ceis.
8 campo de pesquisa da computao em grid $ vasto e alguns dos conceitos
desenvolvidos com tais estudos podem ser perce(idos atualmente na computao nas nuvens.
+egundo Wouseff Z@JJC[, pesquisas na rea da computao em grid podem au'iliar
potencialmente nos avanos da computao nas nuvens, possi(ilitando mudanas
significativas da id$ia atual do novo modelo para uma computao nas nuvens como utilidade
Zutility computing[.
BA
.-.-1 N>vel de @ard%are e Firmware
8 )ltimo n#vel proposto na ontologia de Wouseff Z@JJC[ $ composto pelo hard9are e
pelos componentes de rede, os quais formam o esqueleto da nuvem. Desta forma, o cenrio de
usurios deste n#vel de computao nas nuvens $ composto por empresas de grande porte que
necessitam suprir grandes requisitos na parte de 6; e podem adotar o modelo Naa+ 7
+ardware as a !ervice ZNard9are como +ervio[.
Eeste tipo de servio, a empresa fornecedora responsa(ili0a%se por gerenciar, operar e
atuali0ar o hard9are de seus consumidores, por tempo determinado de su(locao. Este
modelo $ vantajoso para o usurio a partir do momento em que elimina%se a preocupao com
investimentos na criao e manuteno de datacenters. Al$m disso, os fornecedores possuem
conhecimento t$cnico e infraestrutura de custo%(enef#cio necessrios para manter seus
sistemas, tornando%se especialistas no ramo. As caracter#sticas mais importantes de um
provedor de Naa+, entre outras, so agilidade e efici/ncia em escalar sistemas, manter
datacenters e minimi0ar o consumo de energia.
6odos os n#veis apresentados esto ilustrados em camadas na igura D.
Figura 4 : N?2$-( #$ #-2-()" #a &"/+',a0)" %a( %'2$%( ($1'%#" a "%,""1-a +r"+"(,a
Fonte7 A#a+,a#" #$ @"'($66 A200BC
BC
B.D E?8E8-;A
8s primeiros clientes a demonstrarem interesse na adoo da computao nas nuvens
foram as empresas. 6anto grandes quanto pequenas companhias t/m a possi(ilidade de
reduo de custos em 6; e melhorias em produtividade com a utili0ao de ferramentas
(aseadas na 2e( para gerenciamento de projetos, cola(orao em documentos e
apresentaes, gerenciamento de contatos empresariais, agendas e compromissos, etc. A
grande vantagem da computao nas nuvens para o meio empresarial $ a capacidade de fa0er
mais com oramentos limitados.
8utra vantagem que a computao nas nuvens tra0 para uma empresa so os
(enef#cios da porta(ilidade. Ao inv$s de prender%se a documentos e aplicaes arma0enados e
instalados em computadores locali0ados em escrit!rios ou empresas, os cola(oradores podem
ter acesso a qualquer dado necessrio a partir de qualquer lugar com acesso ;nternet 7 em
casa, no tra(alho, na rua.
+egundo pesquisa pu(licada por 1eorge ,eese Z@JJC[, o mundo est passando por
uma crise financeira jamais vista na hist!ria, o que impulsiona a (usca por alternativas mais
(aratas para dar continuidade a operaes em empresas. 48s mercados de capitais esto
congelados e as empresas que necessitam fa0er investimentos de capital para crescer ou
continuar as suas operaes esto enfrentando um desafio5 Z,EE+E, @JJC[. A falta de capital
ocasiona uma falta de fle'i(ilidade em aproveitamento da tecnologia para operar e
desenvolver um neg!cio. Eo momento em que no $ poss#vel para uma empresa conseguir um
empr$stimo (ancrio, passa a ser necessrio utili0ar receitas da pr!pria empresa para comprar
novos servidores e estaes de tra(alho.
6ipicamente, quando uma empresa quer ampliar sua estrutura de 6;, e'istem duas
alternativas apontadas por ,eese Z@JJC[3
;mplement%la por si pr!pria, alugar equipamentos caso necessrioa
6erceiri0ar a infraestrutura para um provedor de servios.
Kma caracter#stica comum s duas alternativas $ a necessidade de suprir picos de uso
independentemente do tempo gasto por eles, ou seja, a empresa deve possuir infraestrutura
capa0 de sanar momentos de maior demanda, sejam eles de apenas uma hora durante um ano
ou de praticamente o ano inteiro. Em casos de pouca frequ/ncia destes picos, os equipamentos
ficam ociosos e>ou su(utili0ados.
A anlise proposta por ,eese Z@JJC[ supe que, para determinado cliente, dois
BI
servidores de aplicao apoiados por dois servidores de (anco de dados, mais um (alanceador
de carga sejam a soluo do pro(lema. As opes seriam semelhantes s apresentadas na
6a(ela =.
Ta4ela * % ?omparativo entre 6; ;nterno e +ervios 6erceiri0ados
TI Interno DOE Servi5os Tereiri:ados DOE
;nvestimento de ?apital DJ.JJJ J
?ustos de ;mplantao =J.JJJ F.JJJ
+ervios -ensais J D.JJJ
6ra(alho -ensal B.@JJ J
?usto ap!s B anos =DI.JJJ =@I.JJJ
'onte3 ,eese Z@JJC[
De acordo com as o(servaes feitas pelo pesquisador, assumem%se os seguintes
fatores3 servidores com (oa quantidade de mem!ria ,A- e um (om (alanceador de cargaa
custo ap!s tr/s anos $ tido como =Jc do custo do capitala um (om fornecedor de servios
terceiri0ados com custo%(enef#cio. ?om esta viso, no cenrio especificado acima, os servios
terceiri0ados conseguem uma economia de =B,Fc so(re a a(ordagem de manter um setor
interno de 6; na empresa.
Km dos atrativos de servios terceiri0ados $ a ine'ist/ncia de investimento de capital.
Analisando a pesquisa de ,eese Z@JJC[, para uma a(ordagem com 6; interno, o investimento
inicial seria de DJ.JJJ d!lares, o que representa um alt#ssimo investimento inicial diante da
situao atual da economia. Esta concluso, mostra que os argumentos sugerem a adoo da
a(ordagem de servios terceiri0ados, mas ,eese compara esta com a computao nas nuvens,
como pode ser visuali0ado na 6a(ela @.
Em comparao com o modelo de 6; interno na empresa, a computao nas nuvens
consegue uma economia de @Ic. E em comparao com servios terceiri0ados, a computao
nas nuvens economi0a =Cc dos custos. Y importante ressaltar que nesta pesquisa no esto
sendo consideradas questes como compra por capacidade e compra por uso, o que
aumentaria os ganhos com a computao nas nuvens, cuja qual $ paga por uso.
DJ
Ta4ela / % ?omparativo entre +ervios 6erceiri0ados e ?omputao nas Euvens
Servi5os Tereiri:ados DOE Co=puta56o nas Nuvens DOE
;nvestimento de ?apital J J
?ustos de ;mplantao F.JJJ =.JJJ
+ervios -ensais D.JJJ @.DJJ
6ra(alho -ensal J =.JJJ
?usto ap!s B anos =@I.JJJ =JG.JJJ
'onte3 ,eese Z@JJC[
Al$m dos n)meros, ,eese afirma que e'istem outros (enef#cios econXmicos com a
adoo da a(ordagem em nuvem, tais como3 investimento inicial nulo, sejam quais forem as
necessidades do consumidora discrep\ncia entre o pico e a m$dia de uso de processamento
torna a diferena entre o custo da computao em nuvem cada ve0 mais vantajosa em relao
a outras opesa no modelo em nuvem h automaticamente a incluso de um (om espao de
arma0enamento, o qual $ elstico e cresce de acordo com a necessidade, diferentemente de
outras opes que se tornariam consideravelmente mais caras quando da adio de novos itens
de hard9area redund\ncia se torna mais (arata a partir do momento em que esta $ uma
preocupao e'tremamente importante por parte dos provedores de servios em nuvem.
B.F A&.;?ASUE+ E &VP.;?8%A.H8
E'istem diversas atividades desempenhadas por grupos de pessoas que podem ser
melhor reali0adas e gerenciadas por sistemas computacionais, especialmente sistemas em
nuvem. &ode%se esta(elecer formas de cola(orao para tomadas de deciso, agendamento de
tarefas, eventos e compromissos, criao de oramentos, controle de despesas, apresentaes,
entre outras. De acordo com -iller Z@JJC[, a migrao de aplicativos para as nuvens permitiu
o crescimento de grupos de cola(orao, (em como a facilitao da e'ecuo de suas
atividades, especialmente com o surgimento de novos aplicativos para as nuvens. Ele ainda
divide usurios de computao nas nuvens em tr/s grupos3 usurios dom$sticos, comunidade
e grupos e corporaes.
D=
.-1-* UsuArios Do=Bstios
Y comum que todos os mem(ros de uma fam#lia tra(alhem em locais diferentes e
tenham, ento, poucos momentos de comunicao ver(al e pessoal. Y poss#vel centrali0ar as
comunicaes entre mem(ros em comunicaes (aseadas em 9e(mail, aca(ando com a ideia
de e%mail acess#vel em um )nico computador via aplicaes como o -icrosoft 8utloo< que
efetuam do9nload das mensagens para a estao de tra(alho.
Da mesma forma que a comunicao via e%mail, a arma0enagem de compromissos em
agendas de aplicativos locais impedia ou dificultava a cola(orao e visuali0ao de eventos
programados entre mem(ros de um grupo familiar. &ara assegurar confirmaes e
notificaes de compromissos nos sistemas atuais, esto dispon#veis estruturas automati0adas
para desempenhar tal tarefa. 8u seja, uma ve0 criado um evento por algum mem(ro possuidor
de permisso, cada mem(ro do grupo poder rece(er notificaes via e%mail ou mensagem
+-+, sendo capa0 de confirmar ou no a sua participao. Al$m disso, o usurio pode
configurar seu sistema de agenda para ser notificado novamente alguns instantes antes da
ocorr/ncia do evento, de acordo com as possi(ilidades de configurao oferecidas por seu
servio de agenda.
8utros servios funcionam semelhantemente ou servem apenas como refer/ncia cujo
qual um grupo de mem(ros pode editar. Eeste caso, temos e'emplos como listas de compras
de supermercado, listas de afa0eres, gerenciamento de oramentos e projetos escolares. Km
servio muito comum e de ampla utili0ao, segundo -iller Z@JJC[, $ a su#te de aplicativos
online 1oogle Docs, que oferece servios de edio de te'tos, planilhas e apresentaes,
todos com possi(ilidade de cola(orao online por n)mero ilimitado de usurios. Al$m deste,
servios de e%mail como 1mail, 2indo9s .ive Notmail e Wahood -ail propiciam o
compartilhamento e introdu0em novidades tais como a evid/ncia do compartilhamento e os
servios de comunicao instant\nea. &ode%se citar tam($m servios de listas de tarefas como
&lanner, ,emem(er the -il<, 6a%da .ist, Pla%(la .ist, 6udu .ist e Hoo@Do, que possuem
caracter#sticas diferentes entre si e os servios de compartilhamento de l(uns de fotos online,
como o famoso lic<r. Heja a igura F, que demonstra uma nuvem de servios divididos em
grupos, criada a partir da anlise de servios e com (ase em citaes de -iller Z@JJC[.
D@
.-1-/ Co=unidades e Grupos
+emelhantemente s possi(ilidades de cola(orao dispon#veis para grupos familiares,
e'istem ferramentas em nuvem para facilitar e gerenciar a troca de informaes entre grupos e
comunidades de qualquer segmento. 8 gerenciamento de agendas e compromissos funciona
de modo a permitir que todos tenham como confirmar a participao em eventos, tra(alhando
com notificaes e permitindo a mais de um usurio gerenciar a agenda do grupo. De acordo
com a necessidade, e'istem algumas opes como 1oogle ?alendar, Wahood ?alendar,
?alendarNu( e "vents.
&ara o gerenciamento de oramentos de projetos $ poss#vel encontrar servios como o
+alesforce.com AppE'change, um integrante da fam#lia +alesforce.com que tra0 um
detalhamento maior e mais preciso nos resultados. ?ontudo, gratuitamente $ poss#vel
encontrar algumas outras opes, tais como 1oogle +preadsheets e "oho +heet que oferecem
planilhas de clculo online e cola(orativas. 8utra necessidade comum a grupos e
comunidades so ferramentas de mar<eting para projetos. 8s servios 1oogle Docs e "vents
facilitam estas atividades e redes sociais como ace(oo< e -:space podem au'iliar no
aumento da visi(ilidade destes eventos entre nichos espec#ficos. Heja a igura F, que ilustra a
diviso em grupos de alguns aplicativos em nuvem mais conhecidos, criada a partir da anlise
de servios e com (ase em citaes de -iller Z@JJC[.
.-1-. Corpora5Ces
Esta $ a classe de usurio que antes aderiu aos sistemas de computao nas nuvens,
segundo a viso de -iller Z@JJC[. A economia e o aumento de produtividade so interessantes
a pequenas e grandes empresas, as quais podem fa0er mais com oramentos limitados. Este $
o motivo pelo qual e'istem su#tes dedicadas a oferecer conjuntos de ferramentas em um )nico
pacote, com integrao entre elas, voltadas a empresas. E'emplos disto so +alesforce.com e
1oogle Apps. Am(os oferecem aplicativos de diversas esp$cies integrados, que juntos
su(stituem os soft9ares tradicionais instalados localmente nas estaes de tra(alho.
8 uso de computao nas nuvens ajuda empresas a gerenciar projetos com efici/ncia,
englo(ando agendas de compromissos compartilhadas entre mem(ros da organi0ao,
gerenciamento de projetos, relat!rios, ferramentas de mar<eting, oramentos, relat!rios de
DB
despesas, apresentaes e mo(ilidade. Aplicativos como Pig?ontacts e Nighrise facilitam o
gerenciamento e a cola(orao de listas de contatos e>ou clientes, da mesma forma que
projetos podem ser totalmente gerenciados por aplicativos como Ace&roject, Pasecamp,
on&roject e &roject ;nsight.
E'istem alguns servios de agendas de compromissos voltados para o meio
empresarial que pode%se citar, como o Appointment Quest, hitAppoint e +chedule(oo<, todos
oferecendo maiores opes de compartilhamento e visi(ilidade. &ara um melhor entendimento
de aplicativos voltados a este meio, ela(orou%se a igura F a partir da anlise de servios e
com (ase em citaes de -iller Z@JJC[.
Figura 5 : A+-&a,-2"( #$ &"/+',a0)" %a( %'2$%( #-2-#-#"( $/ 1r'+"( #$ '('9r-"(
Fonte7 " a',"r
< PRO(EDORES DE SER(I+OS EM NU(EM
E'istem alguns n#veis de computao nas nuvens como visto no cap#tulo anterior.
?ada servio possui detalhes que o diferenciam dos demais, como por e'emplo, o custo de
uso e as limitaes impostas. Algumas empresas dedicadas em disponi(ili0ar servios de
computao nas nuvens tra(alham com m!dulos a(ertos a desenvolvedores, facilitando o
crescimento de suas plataformas e a(straindo a comple'idade no desenvolvimento de sistemas
escalveis.
-uitos so os servios e'istentes no mercado, mas e'istem alguns que podem ser
destacados. 8s sistemas de co(rana da Ama0on, por e'emplo, seguem a ideia de pagamento
so(%demanda, co(rando do cliente apenas o que ele utili0a de fato. Al$m deste fator, um ponto
positivo dos servios entregues pela Ama0on $ a integrao entre eles.
D.= A-A"8E 2EP +E,H;?E+
A Ama0on 2e( +ervices e'iste desde @JJG e oferece uma s$rie de servios em
computao nas nuvens, cada um voltado a um espec#fico nicho de usurio, para atender
desde a necessidade de ta'as altas de processamento at$ a alta demanda de disponi(ilidade.
<-*-* A=a:on Elasti Co=pute Cloud DA=a:on EC/E
A Ama0on Elastic ?ompute ?loud ZAma0on E?@[ $ uma plataforma paga que oferece
remotamente um conjunto de computadores rodando .inu'>KE;M ou 2indo9s com
permisses de administrador do sistema, cuja qual $ capa0 de ampliar ou redu0ir de acordo
com a necessidade do cliente. ;sto possi(ilita 4alugar5 tantos computadores quanto forem
necessrios e acess%los remotamente, podendo o cliente instalar, acessar e desenvolver
aplicaes para este am(iente, al$m de arma0enar dados e documentos. 6rata%se de uma
;nfraestrutura como +ervio Z;aa+[, uma ve0 que oferece recursos para camadas de n#vel
superior, permitindo a criao de novos am(ientes de soft9are e de novas aplicaes.
DF
8 oferecimento do Ama0on E?@ se d de vrias formas. 8 cliente decide quantas
estaes de tra(alho necessita, seja usurio dom$stico ou corporativo, e contrata o tipo de
sistema operacional e outros recursos.
<-*-/ A=a:on Si=pleD#
8 Ama0on +impleDP $ um servio que prov/ as principais funes de um (anco de
dados voltado para as nuvens. 8 o(jetivo do +impleDP $ diminuir a comple'idade de uso de
(ancos de dados escalveis, permitindo ao desenvolvedor preocupar%se apenas com a
aplicao em desenvolvimento. Este tipo de servio $ classificado como Arma0enamento de
Dados como +ervio ZDaa+[, visto que ele permite ao usurio arma0enar seus dados em
discos remotos e acess%los a qualquer momento e de qualquer lugar.
8 Ama0on +impleDP tra(alha com uma a(ordagem que elimina a necessidade de
modelagem de dados, constantes manutenes e preocupao com aumento de desempenho, o
que normalmente acontece com desenvolvedores que utili0am (ancos relacionais. 8 servio
oferece um conjunto de A&;s para arma0enagem e acesso aos dados, possi(ilitando
implementar escala(ilidade, pagando somente por recursos utili0ados.
<-*-. A=a:on Si=ple Stora9e Servie DA=a:on S.E
8 Ama0on +B $ outro e'emplo de Arma0enamento de Dados como +ervio ZDaa+[,
que diferencia%se do +impleDP por ser voltado apenas ;nternet. 6rata%se de um sistema de
arma0enamento de arquivos que vai desde =P:te at$ F1P, escalvel, preparado para servios
2e( que reali0em muitas requisies simult\neas.
<-*-< A=a:on Cloud'ront
Ama0on ?loudront $ um servio 2e( para distri(uio de conte)do. Ele integra%se a
outros servios da Ama0on para prover a desenvolvedores e empresas uma forma fcil de
distri(uir conte)do para seus clientes, com (ai'a lat/ncia e alta velocidade de transfer/ncia de
DG
dados. A distri(uio de conte)do se d por meio de uma rede glo(al distri(u#da. As
requisies so automaticamente encaminhadas para a localidade mais pr!'ima, garantindo
assim que o conte)do seja fornecido com o menor tempo poss#vel.
8 ?loudront $ outro servio classificado na categoria Arma0enamento de Dados
como +ervio ZDaa+[, um dos mais (aratos da Ama0on.
<-*-1 A=a:on Elasti MapRedue
8 Ama0on Elastic -ap,educe $ um servio 2e( que permite a empresas,
pesquisadores, analistas de dados e desenvolvedores reali0arem o processamento de grandes
quantidade de dados de forma fcil e rentvel. 6rata%se de um servio utili0ador dos recursos
de infraestrutura do Ama0on E?@ e do Ama0on +B. 8s usos mais indicados para o servio
so tarefas como inde'ao da 2e(, minerao de dados, anlise de arquivos de log,
aprendi0ado de mquina, anlise financeira, simulao cient#fica e investigao
(ioinformtica. 6rata%se de uma ;nfraestrutura como +ervio Z;aa+[.
<-*-2 A=a:on (irtual Private Cloud DA=a:on (PCE
8 Ama0on Hirtual &rivate ?loud ZAma0on H&?[ $ uma forma de transmisso de dados
com segurana e transpar/ncia entre a infraestrutura de 6; de uma empresa e a infraestrutura
em nuvem da Ama0on. 8 servio permite que uma empresa conecte sua infraestrutura
e'istente a um conjunto de recursos oferecidos pela Ama0on, de forma isolada atrav$s de uma
,ede Hirtual &rivada ZH&E[, ampliando suas capacidades de gesto, tais como servios de
segurana, firewalls e sistemas de deteco de intruso. Eeste caso, classifica%se o Ama0on
H&? em ?omunicao como +ervio Z?aa+[, uma ve0 que h uma forte necessidade de
garantia de Qo+ na transmisso de dados via ;nternet.
D.@ +KE
A +un oferece a plataforma +un 8pen ?loud, uma 4infraestrutura open source de
DA
cloud computing ativada por tecnologias de soft9are l#deres da ind)stria, incluindo *ava,
-:+Q., 8pen+olaris e 8pen +torage5 Z+KE, @JJI[. A estrat$gia da +un $ o oferecimento de
nuvens p)(licas para garantir maior interopera(ilidade, isto $, assegurar a livre troca de
informaes entre nuvens p)(licas e privadas.
8utro compromisso assumido pela +un enquanto provedora de servios em nuvem $ o
oferecimento de A&;s para o p)(lico desenvolvedor. A empresa tem hist!rico forte na criao
de comunidades cola(orativas para fa0er com que seus produtos cresam e desenvolvam de
forma livre, caracter#stica que a +un pretende implantar com servios em nuvem da mesma
forma.
A +un 8pen ?loud $ oferecida so(%demanda e classifica%se em &lataforma como
+ervio Z&aa+[, uma ve0 que oferece aos desenvolvedores um conjunto definido de A&;s para
facilitar a interao entre o am(iente e as aplicaes em nuvem, assim como o aumento da
agilidade de implantao e o suporte escala(ilidade.
48s principais parceiros e entusiastas dos padres de cloud ^nuvem_ esto apoiando
a +un -icros:stems para oferecer uma plataforma a(erta de cloud que ajudar a
garantir que os desenvolvedores tenham um ecossistema ro(usto de aplicaes e
servios para acelerar a criao e a implementao de aplicaes cloud%enabled
Zvia(ili0adas para clouds[ e para simplificar o gerenciamento5. Z+KE, @JJI[.
D.B ;P-
A ;P- mant$m o ;P- ?loud .a(s em nove centros de larga e'panso no mundo,
incluindo +o &aulo. E'iste um grupo de soft9ares oferecidos para dar suporte a cada etapa
de migrao de um am(iente tradicional para outro em nuvem, atrav$s dos quais a ;P-
facilita as tarefas mais essenciais. 8utros soft9ares esto dispon#veis para o controle,
gerenciamento e segurana do am(iente em nuvem para serem utili0ados ap!s a aquisio do
modelo. 6ivoli e .otus.ive so alguns dos soft9ares disponi(ili0ados.
A plataforma para desenvolvedores da ;P- chama%se developer2or<s, a qual possui
sees espec#ficas para computao nas nuvens.
DC
D.D EK?A.W&6K+
Eucal:ptus Z&lastic 'tility omputing Architecture Linking (our Programs )o 'seful
!ystems[ $ uma infraestrutura open source para implementao de computao nas nuvens em
cluster, por meio de ferramentas em .inu' e servios 2e( (sicos. Atualmente, a interface do
Eucal:ptus $ capa0 de comunicar%se com os servios E?@ e +B da Ama0on, mas o projeto
(usca oferecer suporte a todos os servios p)(licos ou privados e'istentes no mercado que
estiverem interessados em firmar parcerias.
8 projeto surgiu no departamento de ?i/ncia da ?omputao da Kniversidade da
?alif!rnia como projeto de pesquisa, sendo posteriormente transformado em organi0ao por
seus criadores.
D.F H-2A,E
A H-9are tornou%se reconhecida mundialmente devido ao desenvolvimento da
plataforma de mesmo nome para virtuali0ao. ?omo propulsora da computao nas nuvens,
a virtuali0ao utili0a de maneira mais efica0 recursos de hard9are su(utili0ados. A aposta da
H-9are no campo de computao nas nuvens $ a associao da virtuali0ao a este novo
modelo computacional distri(u#do, aplicada como H-9are v?loud e H-9are v+phere.
<-1-* (M%are vCloud
8 H-9are v?loud $ a soluo em computao nas nuvens oferecida pela H-9are. 8
diferencial deste servio $ o esta(elecimento de parcerias com provedores de computao nas
nuvens para garantir a interopera(ilidade entre nuvens p)(licas e privadas e a correta
e'ecuo de aplicativos j e'istentes. &ara tal, o H-9are v?loud esta(elece padres de
comunicao via interfaces (em esta(elecidas.
DI
<-1-/ (M%are vSp!ere
H-9are v+phere, o primeiro sistema operacional em nuvem do setor, utili0a os
recursos da virtuali0ao para transformar datacenters em infraestruturas de
computao em nuvem consideravelmente simplificadas e permite que as
organi0aes de 6; forneam a pr!'ima gerao de servios de 6; fle'#veis e
confiveis usando recursos internos e e'ternos com segurana e (ai'o risco.
ZH-2A,E, @JJI[
Figura 6 : Or1a%-<a0)" #" VM>ar$ 2S+!$r$* " +r-/$-r" (-(,$/a "+$ra&-"%a $/
%'2$/ #" /$r&a#"
Fonte7 VM>ar$ A2009C
FJ
8 H-9are v+phere $ oferecido em seis verses diferentes. Est dispon#vel juntamente
com a plataforma um soft9are para efetuar migrao de aplicativos j e'istentes para a
plataforma do v+phere. Al$m disso, cada caracter#stica importante segundo a viso da
H-9are para sistemas de computao nas nuvens, possui um soft9are ou servio
especiali0ado. &or e'emplo, para controlar a parte de segurana da plataforma, e'iste o
H-9are H-safe que 4permite o uso de produtos de segurana que funcionam em conjunto
com a camada de virtuali0ao para oferecer a mquinas virtuais n#veis mais altos de
segurana do que os oferecidos por servidores f#sicos ZH-2A,E, @JJI[. Ea figura G $
poss#vel visuali0ar as camadas de tra(alho do v+phere.
D.G -;?,8+86
ompute, !torage e *abric so os tr/s n#veis oferecidos pela -icrosoft no 2indo9s
A0ure como forma de facilitar a migrao da plataforma tradicional para a a(ordagem em
nuvem. *untamente com o am(iente de desenvolvimento do 2indo9s A0ure, eles fornecem
uma ponte para desenvolvedores que quiserem hospedar seus aplicativos.
8 A0ure $ parte do A0ure +ervices &latform, que visa prover um am(iente similar ao
sistema operacional 2indo9s, voltado a neg!cios e clientes. Dados e aplicativos dos usurios
so arma0enados em servidores controlados pela -icrosoft e ficam acess#veis via 2indo9s
A0ure a partir de qualquer lugar no mundo.
D.A 1881.E
8 1oogle oferece gratuitamente uma plataforma para desenvolvimento de aplicativos
nas linguagens de programao &:thon e *ava, juntamente com A&;s de desenvolvimento.
6rata%se do 1oogle App Engine, classificado no tipo &lataforma como +ervio Z&aa+[,
fa0endo parte do n#vel de am(iente de soft9are de acordo com a ta'onomia definida por
Wouseff Z@JJC[, no qual os provedores de servios oferecem um conjunto de A&;s para
desenvolvedores, como $ o caso do 1oogle. ?ontudo, h a necessidade de utili0ar o Big)able,
o (anco de dados do 1oogle e e'iste uma limitao natural linguagem de programao e aos
recursos oferecidos por ela Z2AWEE,, @JJC[.
1 ESTUDOS DE CASO
&ara melhor condu0ir o entendimento desta pesquisa, efetuou%se dois estudos de caso,
de modo que se possa avaliar diferentes caracter#sticas de sistemas desenvolvidos para as
nuvens.
F.= E+6KD8 DE ?A+8 =3 *2A-&702/ 1881.E A&& EE1;EE
Y recente a possi(ilidade de um desenvolvedor hospedar aplicativos na 2e( sem
custos ou com #nfimos gastos. N poucos anos atrs, no era poss#vel dispor de servidores
gratuitamente para hospedagem de pginas pessoais ou aplicaes voltadas 2e(. Esta $ uma
realidade que veio sendo mudada graas ao crescimento do uso da ;nternet em todo o mundo
e aos investimentos de grandes empresas do ramo de 6;, que investiram em servidores e
servios (aseados em navegadores 2e(.
Km dos fatores que possi(ilitaram a evoluo da 2e( foram as ,edes de Distri(uio
de ?onte)do Z?DE 7 ontent #elivery "etwork[. 6rata%se de um sistema de servidores
distri(u#dos por todo o mundo, atendendo s solicitaes de acordo com a posio f#sica.
1oogle, Wahood e Ama0on utili0am ?DEs para disponi(ili0ar seus servios de maneira
eficiente. &or$m, para usurios dom$sticos ou pequenas empresas, esta prtica se tornaria
muito cara e, consequentemente, invivel.
8 hist!rico do 1oogle revela uma empresa que sempre teve preocupao com o
desenvolvimento da 2e( como um todo, implantando algumas mudanas ao longo de uma
d$cada e revolucionando algumas vises antiquadas. 8 1oogle $ um dos pioneiros em
computao nas nuvens e, como mencionado anteriormente, desenvolveu o 1oogle App
Engine, a(rindo a possi(ilidade de hospedagem de aplicativos em uma plataforma escalvel e
gratuita.
8 framework do 1oogle $ o oposto do oferecido pela Ama0on. Enquanto no Ama0on
E?@ $ poss#vel e'ecutar qualquer aplicativo devido permisso de superusurio, no 1oogle
App Engine no $ poss#vel gravar dados em diret!rio de prefer/ncia do usurio, apenas no
(anco de dados especificado pelo 1oogle, o chamado Big)able. ?ontudo, o resultado destas
F@
limitaes no tra0 apenas desvantagens. ?onsultando a documentao do App Engine
perce(e%se a a(strao de comple'idade de programao que o framework oferece e as
restries de segurana de e'ecuo.
8 sandbo,
=
garante que os aplicativos e'ecutem somente aes que no interfiram
no desempenho e escala(ilidade de outros aplicativos. &or e'emplo, um aplicativo
no pode gravar dados em um sistema de arquivos local ou fa0er cone'es de rede
ar(itrrias. Em ve0 disso, os aplicativos usam servios escalveis oferecidos pelo
1oogle App Engine para arma0enar dados e se comunicar pela internet. 8
interpretador de &:thon emite uma e'ceo quando o aplicativo tenta importar um
m!dulo da (i(lioteca padro que no funciona nas restries do sandbo,.
Z1881.E, @JJI[
,ecentemente o 1oogle App Engine comeou a suportar aplicaes na linguagem de
programao *ava, que est em fase de testes. A linguagem &:thon est dispon#vel desde o
lanamento da plataforma, o que significa que grande parte dos aplicativos hoje hospedados
no 1oogle esto escritos em &:thon.
8 aplicativo da 2e( em &:thon interage com o servidor da 2e( do 1oogle App
Engine usando o protocolo ?1;. Km aplicativo pode usar uma estrutura de
aplicativo da 2e( compat#vel com 2+1; usando um adaptador ?1;. 8 1oogle App
Engine inclui uma estrutura simples de aplicativo da 2e(, denominada webapp, para
facilitar o in#cio do desenvolvimento. Eo caso de aplicativos maiores, as estruturas
de terceiros j desenvolvidas, como Django, funcionam (em com o 1oogle App
Engine. 8 1oogle App Engine suporta &:thon @.F. Z1881.E, @JJI[
1-*-* ConGunto de APIs
Dentre as A&;s Z;nterface de &rogramao de Aplicativos[ dispon#veis para
desenvolvedores do 1oogle App Engine, pode%se destacar algumas Z1881.E, @JJI[. A A&;
de Ar=a:ena=ento de dados, por e'emplo, apresenta sinta'es de chamadas para tarefas
relacionadas a dados, tais como criao, atuali0ao, acesso ou e'cluso de entidades.
= Sand4ox3 mecanismo de segurana para separar programas em e'ecuo concorrente.
FB
8 arma0enamento de dados do 1oogle App Engine arma0ena e e'ecuta consultas
so(re o(jetos de dados conhecidos como entidades. Kma entidade tem uma ou mais
propriedades, valores nomeados em um de diversos tipos de dados suportados. Ze[
8 arma0enamento de dados pode e'ecutar diversas operaes em uma )nica
transao e reverter a transao inteira em caso de falha de uma das operaes. ;sso
$ particularmente )til para os aplicativos de 2e( distri(u#dos, nos quais diversos
usurios podem acessar ou manipular o mesmo o(jeto de dados ao mesmo tempo.
Z1881.E, @JJI, grifo nosso[
A A&; de Mensa9ens apresenta a sinta'e para chamadas de envio de mensagens por e%
mail, incluindo procedimentos para envio de ane'os junto s mensagens. 8s aplicativos
podem enviar mensagens de e%mail em nome de administradores do aplicativo e em nome de
usurios com ?ontas do 1oogle. 8s procedimentos de envio de e%mails so padroni0ados,
efetuando mais de uma tentativa quando algum e%mail no puder ser entregue imediatamente.
A A&; de O4ten56o de UR& e'iste para reali0ar solicitaes N66& ou N66&+,
permitindo ao aplicativo comunicar%se ou solicitar recursos de outros hosts dispon#veis na
;nternet. De acordo com o 1oogle Z@JJI[, 4o servio de o(teno de K,. usa a infraestrutura
de rede do 1oogle para proporcionar efici/ncia e escala(ilidade.5
A A&; de Manipula56o de i=a9ens dita sinta'es de manipulao de arquivos de
imagens, permitindo redimensionar, girar, inverter e cortar imagens. 8ferece tam($m a
possi(ilidade de aprimoramento de fotografias, fa0endo uso de um algoritmo predefinido. 4A
A&; tam($m pode fornecer informaes so(re uma imagem, como o formato, a largura, a
altura e um histograma de valores de cores5, como afirmado pelo 1oogle Z@JJI[.
A A&; de Ca!e de =e=Pria apresenta sinta'e para uso de recursos avanados de
mem!ria, uma prtica comum em aplicativos escalveis que (usca acelerar consultas comuns
no arma0enamento de dados.
A A&; de Contas de usuArio mostra como proceder para colocar o aplicativo so(
autenticao das ?ontas do 1oogle. Eo $ o(rigat!rio manter aplicativos so( login das ?ontas
do 1oogle, podendo o desenvolvedor criar seu pr!prio sistema de login.
Enquanto um usurio estiver conectado, o aplicativo pode acessar o endereo de e%
mail do usurio, al$m de um ;D e'clusivo do usurio. 8 aplicativo tam($m pode
detectar se o usurio atual $ um administrador, facilitando a implementao de reas
do aplicativo restritas aos administradores. Z1881.E, @JJI[
FD
1-*-/ &i=ita5Ces
&ara o uso gratuito do App Engine e'istem algumas limitaes de chamadas a cada
servio por dia e por minuto esta(elecidas pelo 1oogle. Y um limite alto para uma aplicao
de poucos acessos ou no muito conhecida, contudo medida em que o n)mero de usurios
da aplicao cresce, se torna necessrio investir em upgrade. Quando tal necessidade surge, $
poss#vel contratar o servio e o(ter um maior n)mero de chamadas s funes oferecidas
pelas A&;s. As ta(elas de limitaes de cada recurso oferecido pela plataforma podem ser
conferidas no Ane'o A.
1-*-. (anta9ens
8 uso da infraestrutura do 1oogle est associado a uma garantia j conhecida de
disponi(ilidade que $ caracter#stica dos produtos da empresa. +o sistemas de alta
disponi(ilidade e escala(ilidade conhecidos principalmente pelo (uscador, cujo qual tornou%se
o sistema de (uscas mais utili0ado no mundo, apresentando crescimento em relao aos seus
concorrentes no ano de @JJC Z+K..;HAE, @JJI[. Estas evid/ncias aumentam a credi(ilidade
nos servios oferecidos pela empresa, incluindo o 1oogle App Engine, especialmente pelo
fato de tratar%se de um sistema com suporte a escala(ilidade e alta disponi(ilidade.
&ara lidar com pro(lemas como o grande n)mero de acessos concorrentes e a
possi(ilidade de algum nodo de seu datacenter apresentar defeitos ou ficar indispon#vel, o
1oogle desenvolveu seu pr!prio sistema de arquivos, conhecido como 1+ 7 $oogle *ile
!ystem, a fim de simplificar tarefas de acesso.
Arquivos do 1oogle tendem a ser muito grandes e costumam alcanar vrios
gigabytes. ?ada um desses arquivos cont$m grandes quantidades de o(jetos
menores. Al$m do mais, em geral eles so atuali0ados mais por ane'ao de dados a
um arquivo do que so(rescrevendo partes de um arquivo. Essas o(servaes, junto
com o fato de que falhas de servidor so a norma, e no a e'ceo, resultaram na
construo de clusters de servidores. Z6AEEEPAK-, @JJA, p. @II%BJJ[
A ocultao de locali0ao dos dados no (anco de dados do 1oogle App Engine,
FF
a(strai parte da comple'idade para o programador, tornando a arquitetura do servio mais
fechada. ;sto $, enquanto a Ama0on, por e'emplo, oferece servios separadamente para
arma0enagem e processamento implicando em uma tarefa comple'a de integrao entre eles,
o 1oogle oferece am(os em uma )nica estrutura integrada.
Esta estrutura est sendo oferecida com suporte a duas linguagens de programao de
ampla utili0ao3 &:thon e *ava. Este fato d ao programador mais li(erdade de escolha,
podendo ele escolher a que melhor oferece suporte as suas necessidades. +eja qual for a
escolha, o 1oogle App Engine oferece ao desenvolvedor um painel de monitoramento de
estat#sticas do aplicativo e controle de verses, al$m de uma s$rie de configuraes como
tempo de durao de cookies, migrao para dom#nios pr!prios e logs de usurios que
efetuaram login no aplicativo, al$m das atividades desenvolvidas por eles.
1-*-< Desvanta9ens
Kma desvantagem clara no uso do App Engine $ a que(ra de paradigmas, o que e'ige
aplicaes desenvolvidas e'clusivamente para este am(iente. 8u seja, a escolha pelo uso
desta infraestrutura implica em 4prender%se5 a um sistema fechado, com o agravante de que o
administrador do aplicativo no sa(e onde seus dados e os dados de seus usurios ficam
arma0enados.
Esta ocultao de locali0ao das informaes, segundo a !tica do 1oogle, (usca
diminuir a comple'idade no gerenciamento de um (anco de dados distri(u#do. ?ontudo, so( a
!tica de algum desenvolvedor c$tico, pode consistir em desvantagem, uma ve0 que o 1oogle
torna%se detentor das informaes mais importantes pertencentes a clientes do aplicativo.
1-*-1 Tutorial de Desenvolvi=ento de Apliativo-exe=plo
&ara demonstrar os passos de desenvolvimento de um aplicativo para a plataforma
1oogle App Engine, apresenta%se a(ai'o um tutorial didtico que a(orda desde a preparao
do am(iente, criao de um aplicativo de lista de tarefas, at$ o procedimento de pu(licao
nos servidores do 1oogle.
FG
1-*-1-* Prepara56o do a=4iente de desenvolvi=ento
8 1oogle App Engine hospeda aplicativos desenvolvidos nas linguagens &:thon e
*ava. &ara este tutorial adotou%se &:thon na verso @.G.@, sendo a instalao deste o primeiro
passo para usurios do sistema operacional 2indo9s. &ara usurios de .inu' e -A? 8+ M,
(asta seguir o pr!'imo passo, uma ve0 que &:thon j vem instalado com o sistema
operacional.
8 +DO Z!oftware #evelopment /it[ do 1oogle App Engine $ o pr!'imo item a ser
instalado e est dispon#vel para do9nload em http3>>code.google.com>intl>pt%
P,>appengine>do9nloads.html. 8utros itens esto dispon#veis na mesma pgina, tais como
plugin para desenvolvimento utili0ando a ;DE Eclipse e a documentao completa do +DO.
&ara este e'emplo, no adotou%se ;DE.
1-*-1-/ Criando u= novo proGeto
A primeira tarefa a reali0ar $ a escolha de um nome para o projeto, o chamado
application id, cujo qual identificar o aplicativo e determinar o endereo para acesso ao
mesmo hospedado so( o dom#nio do 1oogle. Este nome no dever conter letras mai)sculas
ou caracteres especiais, apenas letras min)sculas e n)meros. &ara este e'emplo, utili0ou%se o
nome todolist-t.
?rie um diret!rio com o nome especificado para o projeto em qualquer local do
computador. Dentro do diret!rio do projeto, crie um novo diret!rio para definio do estilo de
cores do aplicativo, no qual ser colocado o arquivo ?++ Zascading !tyle !heets[. Eeste
caso, chamaremos de styles!eets. ?rie outros dois diret!rios3 i=a9es para arma0enar #cones e
outras imagens que porventura sero utili0adas no projeto e Gavasript para guardar um
arquivo de e'ecuo 3avascript. 8s nomes destes diret!rios no necessitam ser e'atamente os
utili0ados neste e'emplo e e'iste a possi(ilidade de criao de quantos diret!rios forem
necessrios.
Eeste momento, o projeto deve conter a seguinte estrutura3
FA
todolist-tcc/
stylesheets/
images/
javascript/
8 pr!'imo passo $ a criao dos arquivos correspondentes a cada um dos diret!rios
criados. Eeste e'emplo, vamos criar um arquivo N6-. no diret!rio%rai0 do projeto, ou seja,
em todolist-t, chamado index-!t=l. ?oloque o que desejar neste arquivo, cujo qual ser
e'i(ido ao usurio como pgina principal de seu aplicativo. Eo diret!rio styles!eets adicione
um arquivo =ain-ss, que conter regras de estilo de pgina. Eo diret!rio i=a9es coloque
alguma imagem do seu interesse para ser utili0ada na aplicao. E, finalmente, no diret!rio
Gavasript, adicione um arquivo da (i(lioteca jQuer: Zpode%se efetuar do9nload em
http3>>docs.jquer:.com>Do9nloadingfjQuer:[. Eo Ane'o P $ poss#vel visuali0ar c!digos
utili0ados em cada um dos arquivos criados neste e'emplo.
Ap!s esta etapa, o projeto dever conter a seguinte estrutura3
todolist-tcc/
index.html
stylesheets/
main.css
images/
apagar.gif
mail.gif
javascript/
jquery-1.2.6.min.js
&ara informar ao 1oogle App Engine o que fa0er com cada um dos arquivos criados e
onde encontr%los, $ necessrio criar mais um arquivo, cujo nome deve ser e'atamente
app-ya=l e sua locali0ao deve ser no diret!rio%rai0 do projeto. 8 conte)do deste arquivo,
para este e'emplo, dever ser o seguinte3
application: todolist-tcc
version: 1
runtime: python
api_version: 1
FC
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /images
static_dir: images
- url: /javascript
static_dir: javascript
- url: /.
script: todolist-tcc.py
Y importante que o nome escrito na primeira linha do arquivo acima especificado seja
e'atamente o mesmo escolhido para o projeto, da mesma forma que as indicaes de caminho
para os diret!rios que cont/m o arquivo ?++, as imagens e a (i(lioteca 3avascript.
Ap!s a concluso destes passos, est pronta a aplicao.
1-*-1-. Testando o proGeto
6odo desenvolvedor sa(e da import\ncia da reali0ao de testes durante o
desenvolvimento e antes da entrega ao usurio. Y tam($m sa(ido que um sistema nunca est
pronto e que sempre h detalhes a melhorar. &ortanto, antes de pu(licar o projeto nos
servidores do 1oogle, $ necessrio test%lo localmente. &ara isso $ que foi previamente
instalado o +DO do App Engine.
Dentro do diret!rio do +DO, encontra%se o arquivo devQappserver-py, um script em
&:thon usado para simular o App Engine. &ara rodar o aplicativo e'emplo todolist-t, acesse
o terminal de e'ecuo de linhas de comando do seu sistema operacional. Ksurios de -ac
podem rodar a partir do 6erminala usurios de distri(uies .inu' podem rodar a partir de
qualquer shell dispon#vela e usurios de 2indo9s devero rod%lo por meio do Prompt de
comandos. E'ecute o seguinte comando3
dev_appserver.py todolist-tcc
FI
+e o terminal e'i(ir as seguintes linhas ap!s a e'ecuo deste comando, a aplicao
foi iniciali0ada com sucesso e est acess#vel por meio de http3>>localhost3CJCJ.
!"#$ 2%%&-1%-11 1':(6:)%*2%) dev_appserver_main.py:(6+, -unning
application todolist-tcc on port '%'%: http://localhost:'%'%
Ktili0ando um navegador de prefer/ncia do usurio $ poss#vel acessar o aplicativo e
test%lo. A primeira pgina a ser visuali0ada pelo usurio ser a especificada anteriormente
como index-!t=l. ?omo a e'ecuo $ local, o servio de contas de usurio tra(alha de
maneira um pouco diferente, como pode ser visto na igura A, permitindo efetuar login sem
possuir uma conta do 1oogle verdadeira, da mesma forma que as funes de envio de
mensagens de e%mail podero apresentar pro(lemas devido falta de comunicao com os
servidores do 1oogle. Estes pequenos detalhes passam a funcionar corretamente assim que o
aplicativo for hospedado nos servidores do 1oogle App Engine.
Figura 7 : Login #$ '('9r-" %" /"#" #$
(-/'a0)" "&a #" G""1$ A++ E%1-%$
Durante os testes $ provvel que surja a necessidade de efetuar alteraes no
aplicativo. &ara reali0ar esta operao, no $ necessrio parar a e'ecuo do simulador do
App Engine. Pasta editar os arquivos do projeto e atuali0ar a pgina http3>>localhost3CJCJ no
navegador para ver os resultados.
Y importante o(servar que, ao e'ecutar um aplicativo, o servidor de desenvolvimento
cria um novo arquivo no diret!rio do projeto, chamado index-ya=l. Ele serve para uso
interno do App Engine, podendo ser e'clu#do sem ocasionar nenhum efeito. &or$m, na
pr!'ima e'ecuo ele ser novamente criado.
GJ
1-*-1-< E?etuando upload do proGeto
8 desenvolvedor deve possuir uma conta do 1oogle para pu(licar seu projeto. Acesse
o endereo http3>>appserver.google.com, efetue login e aceite os termos e condies de uso.
Depois, clique em Create an Appliation. Eo primeiro uso do servio, ser necessrio
efetuar uma verificao via +-+, informando um n)mero vlido de telefone celular para
rece(imento de um c!digo de validao. Este c!digo deve ser digitado no campo requerente.
?ada conta gratuita do 1oogle App Engine oferece espao de FJJ-P para seus projetos e o
n)mero m'imo de =J aplicativos por conta.
8 pr!'imo passo $ verificar a disponi(ilidade de dom#nio para seu aplicativo, que
deve ser e'atamente o nome escolhido para o projeto. Eeste caso, o dom#nio desejado $
todolist-t e deve ser informado no campo Appliation Indenti?ier. ?licando em C!eR
Availa4ility ser poss#vel sa(er se o dom#nio est dispon#vel ou se ser necessrio efetuar
mudanas no projeto para adapt%lo ao novo nome.
Figura 8 : T$a #$ &r-a0)" #$ %"2a a+-&a0)" %" G""1$ A++ E%1-%$
G=
+e houver a necessidade de alterao do nome do projeto, o desenvolvedor deve
alterar o nome do diret!rio do projeto, o nome do arquivo &:thon principal e mudar alguns
campos do arquivo app-ya=l, mais especificamente os correspondentes aos arquivos
renomeados e o campo appliation.
Ap!s a escolha do nome de dom#nio para o projeto, preencha o campo Appliation
Title com qualquer t#tulo escolhido para ser e'i(ido como nome principal do aplicativo. Em
seguida, se o aplicativo dever ficar vis#vel para qualquer usurio de contas do 1oogle, clique
em Save. ?aso contrrio, para restringir o uso apenas a usurios de determinado dom#nio
utili0ador do 1oogle Apps, clique em Edit e informe o dom#nio, clicando em Save por fim.
Estes campos podem ser visuali0ados na igura C.
inalmente, para fa0er upload do projeto aos servidores do 1oogle, e'ecuta%se o
seguinte comando no terminal, seguido de usurio e senha Zda conta 1oogle que o
desenvolvedor decidiu utili0ar[, quando requisitado3
appcfg.py update todolist-tcc
Figura 9 : T$a #$ Login #" a+-&a,-2":$8$/+" +ara G""1$ A++ E%1-%$
G@
Figura 10 : T$a #" Pa-%$ #" U('9r-" #" a+-&a,-2":$8$/+" +ara G""1$ A++ E%1-%$
&ara verificar o aplicativo em funcionamento, neste e'emplo, (asta acessar
http3>>todolist%tcc.appspot.com. 8 endereo do aplicativo ser sempre o application%
id.appspot.com, onde appliation-id deve ser su(stitu#do pelo nome escolhido para o projeto.
As telas de login e de uso do aplicativo%e'emplo podem ser visuali0adas nas iguras I e =J,
respectivamente. E ao utili0ar o recurso de envio de tarefas por e%mail, o servidor de envio $ o
apphosting.(ounces.google.com, conforme pode ser visto na igura ==.
&ara efetuar atuali0aes em um aplicativo, o procedimento $ o mesmo de upload. 8
1oogle App Engine verifica a e'ist/ncia de outro projeto com o mesmo nome e, ento,
so(rescreve os arquivos antigos pelos novos. Acessando a dashboard do 1oogle App Engine,
o desenvolvedor tem acesso a uma variedade de informaes so(re seus projetos, inclusive
verses anteriores.
GB
Figura 11 : E8$/+" #$ $:/a- $%2-a#" a,ra2D( #" a+-&a,-2":$8$/+"
1-*-2 Avalia56o dos Resultados
8 uso do 1oogle App Engine para desenvolvimento de aplicativos isenta o
programador da preocupao com infraestrutura de e'ecuo que atenda ao n)mero de
clientes que faro uso do aplicativo. ?omo no $ poss#vel prever em que momento do dia o
aplicativo possuir maior n)mero de acessos concorrentes e nem quantos sero estes acessos,
o desenvolvedor precisa criar uma estrutura para suportar um grande n)mero de usurios ao
mesmo tempo, o que muitas ve0es e'ige investimentos em equipamentos que podero no
consistir em retorno. Em muitos casos, as limitaes devido ao custo fa0em com que a
infraestrutura possua limitaes de acesso, impedindo seu crescimento. 8 1oogle efetua
limitaes para contas gratuitas, por$m oferece a possi(ilidade de contratao de contas pagas
sem limites de acesso.
8 framework, de modo geral, facilita a programao escalvel, uma ve0 que o
desenvolvimento assemelha%se muito ao desktop e 2e(. Esta caracter#stica d ao
desenvolvedor a li(erdade de escolher ;DEs e soft9ares para edio de c!digo%fonte de sua
prefer/ncia. E'iste j dispon#vel um plugin para facilitar as tarefas de upload e controle de
verses do App Engine para Eclipse.
GD
As A&;s de desenvolvimento so claras e do uma certa li(erdade ao desenvolvedor,
apesar de o framework ser, de modo geral, um tanto fechado. Eo h como sa(er e'atamente
onde ficam arma0enados os dados de usurios e nem sequer efetuar backup das informaes
contidas no (anco de dados do servio.
Quanto usa(ilidade, h uma estreita semelhana com qualquer outro sistema 2e(.
&ara rodar os aplicativos do 1oogle App Engine $ necessrio possuir um navegador 2e( com
acesso ;nternet e, algumas ve0es, uma conta do 1oogle para autenticao e proteo de
informaes pessoais. Y responsa(ilidade do desenvolvedor preocupar%se com os paradigmas
ditados pelas heur#sticas de usa(ilidade para soft9ares e sistemas 2e(, j que o 1oogle App
Engine no dita padres nem esta(elece interfaces previamente desenvolvidas.
8 painel de controle de estat#sticas, verses e outras configuraes de cada aplicativo $
(astante intuitivo e completo. 8ferece grficos de acesso, logs de erros ocorridos, logs de
acesso e tarefas desempenhadas por usurios, entre outras informaes relevantes para
au'iliar na otimi0ao do aplicativo por parte do administrador. Y poss#vel tam($m convidar
novos cola(oradores para desenvolvimento do aplicativo, alimentando uma ideia de
comunidade.
?oncluindo a avaliao, pode%se afirmar que a infraestrutura oferece (oas vantagens
em relao a outras solues do mercado que no possuem m!dulos gratuitos para
desenvolvedores. ?ontudo, questes de segurana e deteno de dados ainda podem no
agradar aos mais c$ticos no momento da escolha do servio.
F.@ E+6KD8 DE ?A+8 @3 &.A6A8,-A 1881.E D8?+
Km e'emplo de empresa que possui diversos segmentos na 2e( $ o 1oogle. Al$m de
e%mail, agenda, (ate%papo, sistema de (uscas, e'iste tam($m o 1oogle Docs. 6rata%se de uma
su#te de aplicativos para edio de te'tos, planilhas de clculo e apresentaes de slides que
roda diretamente no navegador e arma0ena documentos no (anco de dados do 1oogle,
tornando%os acess#veis de qualquer lugar com acesso ;nternet, a qualquer momento.
?omo j mencionado, a confia(ilidade dos servios 1oogle e a preocupao com
constantes melhorias fa0 da empresa um modelo e uma !tima opo. Devido import\ncia da
marca, este tra(alho efetuou testes de desempenho do sistema 1oogle Docs em relao
largura da (anda de acesso ;nternet e quanto ao comportamento da su#te em termos de
GF
compati(ilidade com as duas principais su#tes de aplicativos para escrit!rio desktop3
-icrosoft 8ffice e 8pen8ffice.
+e comparadas, a su#te da -icrosoft $ utili0ada em maior escala, dei'ando as demais
em grande desvantagem. &ara justificar esta afirmao, $ poss#vel verificar um grfico de
volume de (uscas no 1oogle para os termos durante os )ltimos seis anos, na igura I.
Figura 12 : V"'/$ #$ b'(&a( %" G""1$ +ara "( ,$r/"( G""1$ D"&(* M-&r"("6, O66-&$ $
O+$%O66-&$
Fonte7 G""1$ Tr$%#(
1-/-* Testes de Dese=pen!o e= Rela56o H (eloidade de Aesso
oram assumidas seis diferentes velocidades de acesso ;nternet, a(ordando desde
uma velocidade semelhante de um modem de ;nternet discada at$ um link de acesso (anda
larga comum em am(ientes empresariais. As velocidades foram3 FGO(ps, =JJO(ps, DJJO(ps,
=-(ps, @-(ps e G-(ps, dedicados a apenas um microcomputador.
8 material utili0ado para os testes foram I tipos de arquivos, sendo tr/s no formato%
padro dos aplicativos do -icrosoft 8ffice @JJB, tr/s do -icrosoft 8ffice @JJA e outros tr/s
do 8pen8ffice B.=. ?ada um deles com caracter#sticas diferentes, tais como tamanho e
quantidade de elementos avanados Zta(elas, sumrios automticos, que(ras de pgina,
figuras etc.[. ?ada um deles est detalhado na 6a(ela B.
GG
Ta4ela . % ?aracter#sticas dos arquivos utili0ados para os testes
'or=ato do ArSuivo Ta=an!o Carater>stias
-icrosoft E'cel @JJB Z.'ls[ @@BOP
&lanilha de clculo com vrias f!rmulas utili0ando
operaes (sicas, uma figura e formataes especiais
Z(ordas, t#tulos, ca(ealhos[.
-icrosoft &o9er&oint @JJB Z.ppt[ =,BF-P
Apresentao com C slides, diversas imagens, plano de
fundo e vrios estilos de formatao.
-icrosoft 2ord @JJB Z.doc[ =-P
Documento de te'to com D.=FB palavras, DI pginas,
sumrio automtico, vrias que(ras de pgina, ta(elas e
figuras.
-icrosoft E'cel @JJA Z.'ls'[ IBOP
&lanilha de clculo com vrias c$lulas contendo f!rmulas
utili0ando operaes (sicas, uma figura e formataes
especiais Z(ordas, t#tulos, ca(ealhos[.
-icrosoft &o9er&oint @JJA Z.ppt'[ % Eo h suporte para este formato no 1oogle Docs.
-icrosoft 2ord @JJA Z.doc'[ CACOP
Documento de te'to com D.=FB palavras, DI pginas,
sumrio automtico, vrias que(ras de pgina, ta(elas e
figuras.
8pen8ffice ?alc B.= Z.ods[ =COP
&lanilha de clculo com vrias f!rmulas utili0ando
operaes (sicas e formataes especiais Z(ordas, t#tulos,
ca(ealhos[.
8pen8ffice ;mpress B.= Z.odp[ % Eo h suporte para este formato no 1oogle Docs.
8pen8ffice 2riter B.= Z.odt[ D@@OP
Documento de te'to com =@.DC@ palavras, FB pginas,
sumrio automtico, vrias que(ras de pgina, ta(elas e
figuras.
8s testes foram reali0ados em dias e horrios diferentes, (uscando encontrar variaes
na (anda de acesso em horrios de maior e menor utili0ao da rede mundial, utili0ando%se de
estat#sticas para o(teno dos valores finais. Em todos os testes, o am(iente utili0ado foi um
microcomputador com as seguintes especificaes3
A-D +empron
Z6-[
@DJJg
=.GG 1N0, F=@ -P de ,A-
-icrosoft 2indo9s M& &rofessional +&B
Acesso ;nternet por meio de link dedicado via Em(ratel
8s primeiros testes referem%se s variaes de tempo de upload, carregamento e
impresso para arquivos de te'to. 8s grficos das variaes podem ser vistos nas iguras =B,
=D e =F.
GA
Figura 13 : Var-a0)" %" ,$/+" #$ upload #$ #"&'/$%,"( #$ ,$8,"
Figura 14 : Var-a0)" %" ,$/+" #$ &arr$1a/$%," #$ #"&'/$%,"( #$ ,$8,"
GC
Figura 15 : Var-a0)" %" ,$/+" #$ -/+r$(()" #$ #"&'/$%,"( #$ ,$8,"
Ea igura =B $ poss#vel perce(er que o tempo de upload $ maior para documentos
D8?M. Esta diferena se d pelo fato de que, documentos do -icrosoft 8ffice @JJA possuem
um 4novo formato de arquivo com (ase em M-., chamado ormatos M-. A(ertos do
-icrosoft 8ffice5 Z-;?,8+86, @JJI[. Arquivos deste formato 4so compactados
automaticamente e, em alguns casos, podem ficar at$ AF por cento menores5, de acordo com a
-icrosoft Z@JJI[. ;sto fa0 com que a converso para o 1oogle Docs seja mais demorada e,
como o processo de upload englo(a tam($m o processo de converso, e'iste uma variao
significativa.
Em todos os grficos relativos a documentos de te'to pode%se perce(er que, a partir da
marca de =-(ps, os ganhos so m#nimos. ;sto permite afirmar que o(t$m%se o m'imo
desempenho, no sendo poss#vel diminuir muito significativamente este tempo, uma ve0 que
ele refere%se quase que completamente ao tempo de converso para tarefas de upload e ao
tempo de gerao de verso no formato &D para tarefas de impresso. 8utro fator que pode
interferir $ a limitao imposta pelo servidor do servio, neste caso do 1oogle, que pode
esta(elecer limites de (anda por cliente, o que, quando atingido, no permite o(ter melhor
resultado no terminal cliente.
Em seguida, foram reali0ados testes com planilhas de clculo contendo diversas
GI
f!rmulas com operaes (sicas. 8s resultados esto dispon#veis nas iguras =G, =A e =C.
Figura 16 : Var-a0)" %" ,$/+" #$ '+"a# #$ +a%-!a( #$ &9&'"
Figura 17 : Var-a0)" %" ,$/+" #$ &arr$1a/$%," #$ +a%-!a( #$ &9&'"
AJ
Figura 18 : Var-a0)" %" ,$/+" #$ -/+r$(()" #$ +a%-!a( #$ &9&'"
Eos testes com planilhas de clculo h uma significante discrep\ncia em arquivos
8D+ em velocidades muito (ai'as, tanto para upload, quanto para carregamento e impresso.
8 formato 8D+, assim como o formato M.+M, possui um n#vel de compresso maior do que
arquivos do -icrosoft E'cel @JJB ZM.+[. ;sto aumenta o tempo de upload, porque assim
como em documentos de te'to, o processo de converso do arquivo para o formato do 1oogle
Docs $ reali0ado no momento do upload, de maneira transparente ao usurio.
Analisando os grficos acima e'i(idos $ poss#vel perce(er uma grande variao entre
as velocidades mais (ai'as, diminuindo esta diferena conforme a velocidade de acesso
;nternet aumenta. Eovamente, pode%se concluir que o aumento de velocidade implica em
vantagens at$ determinado limite, no sendo mais vivel o aumento de velocidade da
cone'o.
E por fim, a inteno foi tam($m reali0ar testes de desempenho em torno de arquivos
de apresentao de slides. ?ontudo, a plataforma 1oogle Docs no oferece suporte a arquivos
do tipo 8D& e &&6M, sendo os testes, ento, reali0ados apenas com um arquivo do -icrosoft
&o9er&oint @JJB Z&&6[. As variaes de upload, carregamento e impresso podem ser
visuali0adas na igura =I.
A=
Figura 19 : Var-a0)" %" ,$/+" #$ ,ar$6a( ("br$ a+r$($%,a03$( #$ (-#$(
&erce(e%se que a variao de upload, neste caso, no apresenta considervel diferena.
* tarefas de carregamento e impresso so (astante variveis de acordo com a velocidade de
acesso. ?omo o 1oogle Docs gera arquivos no formato &D ao efetuar uma solicitao de
impresso, conclui%se que o servio esconde outra tarefa de converso dentro de uma tarefa
comum.
8s testes reali0ados levam ao entendimento de que velocidades muito (ai'as no so
aconselhveis para um sistema em nuvem, cujo qual tem seu desempenho diretamente
dependente de limitaes de acesso ;nternet. &or outro lado, o aumento indiscriminado de
links de acesso ;nternet pode no ser aconselhvel da mesma forma, uma ve0 que a
limitao ocorre no tempo despendido para e'ecuo da tarefa, cujo qual no pode ser
redu0ido.
8utro teste reali0ado em torno da questo desempenho englo(a apenas um documento
de te'to va0io do 1oogle Docs e visa o(ter uma projeo da variao do tempo de upload de
um arquivo de imagem Z*&E1[ de =,JG-P, entre as diferentes velocidades mencionadas
acima. 8s resultados de variao no tempo podem ser o(servados na igura @J.
A@
Figura 20 : Var-a0)" %" ,$/+" #$ upload #$ '/a -/a1$/ +ara " G""1$ D"&(
8 tempo de upload do mesmo arquivo de imagem em diferentes velocidades mostra
novamente que, o aumento de links de acesso ;nternet deve o(edecer um limite m#nimo e $
aconselhvel que o(edea tam($m um limite m'imo. Efetuando uma anlise pela !tica
custo%(enef#cio, o aumento de um link de ;nternet para valores muito altos, pode no ser
interessante, j que o retorno $ m#nimo ou nulo.
8 )ltimo teste reali0ado em torno da questo de desempenho (aseado na plataforma
1oogle Docs consiste na utili0ao de tr/s arquivos de te'to com o mesmo conte)do3 um
deles 8D6, o outro D8? e um terceiro D8?M. 8s tamanhos so, respectivamente, CDOP,
BG@OP e =JAOP. 8 tempo de upload de cada um deles, tarefa que inclui tam($m converso,
pode ser visuali0ado na igura @=.
AB
Figura 21 : T$/+" #$ upload $ &"%2$r()" #$ arE'-2"( #$ ,$8,"
&"/ " /$(/" &"%,$F#"
1-/-/ Testes de Co=pati4ilidade
8s mesmos arquivos utili0ados nos testes de desempenho, detalhados na 6a(ela B,
foram avaliados ap!s converso para a plataforma 1oogle Docs. 8s resultados no apontam
(om n#vel de compati(ilidade entre su#tes tradicionais desktop e o servio do 1oogle. &or
e'emplo, arquivos de te'to perderam recursos importantes como sumrio automtico Zno
atuali0a automaticamente[, espaamento entre linhas, imagens, n)meros de pgina e que(ras
de pgina. Em planilhas de clculo, algumas f!rmulas foram prejudicadas e a disposio das
colunas foi afetada para os tr/s formatos de arquivo utili0ados. Estes fatores afetam
diretamente a verso para impresso, que fica igualmente modificada.
8s testes de compati(ilidade tam($m a(ordaram a transfer/ncia de alguns elementos
avanados entre planilhas de clculo e documentos de te'to, entre as su#tes desktop e a
plataforma 1oogle Docs. 8s resultados o(tidos podem ser visuali0ados na 6a(ela D.
Em contrapartida, a formatao de documentos totalmente no servio 1oogle Docs
garante uma melhor e'peri/ncia ao usurio. A orientao $ um pouco diferente das
tradicionais su#tes desktop, por$m as funes mais comuns podem ser encontradas para os tr/s
editores3 Docs, +preadsheets e &resentations.
AD
Ta4ela < % ?ompati(ilidade entre elementos das su#tes
Ori9e= Destino Co=pat>vel
&lanilha de clculo local &lanilha de clculo remota +im
&lanilha de clculo local Documento de te'to remoto +im
&lanilha de clculo remota &lanilha de clculo local Eo
&lanilha de clculo remota &lanilha de clculo remota Eo
&lanilha de clculo remota Documento de te'to local Eo
&lanilha de clculo remota Documento de te'to remoto Eo
'onte3 o autor
1-/-. Avalia56o dos Resultados
A adoo de uma su#te de aplicativos para escrit!rio implica, na maioria das ve0es, na
necessidade de criao de novos documentos da etapa 0ero ou, em outros casos, na
necessidade de adaptao de documentos migrados. Esta premissa tam($m $ vlida para
plataformas em nuvem, uma ve0 que a a(ordagem e a infraestrutura mudam para uma
orientao (aseada e limitada ao navegador. &or$m, recursos adicionais de edio
cola(orativa, compartilhamento e porta(ilidade podem representar vantagens significativas
para determinados segmentos do mercado. N a necessidade de uma avaliao dos recursos a
serem utili0ados, a via(ilidade destes e a reali0ao de uma tentativa de migrao de maneira
gradativa.
Da mesma forma, se torna necessrio avaliar qual $ a velocidade ideal para o n)mero
de estaes de tra(alho em funcionamento na rede da empresa, em (usca de uma relao
custo%(enef#cio que melhor atenda s necessidades e no desperdice recursos. Desta maneira,
ser poss#vel o(ter um maior aproveitamento das vantagens econXmicas e estruturais de
sistemas em nuvem. Eo caso do 1oogle Docs, a(ordado neste cap#tulo, apesar de algumas
incompati(ilidades entre su#tes desktop e o servio do 1oogle, a mo(ilidade e a ine'ist/ncia
de custos adicionais para a corporao, podem significar uma alternativa vivel.
2 SO&U+,O EM NU(EM PARA AM#IENTES CORPORATI(OS
+o vrios os servios j e'istentes no mercado dentro do modelo em nuvem, como
citado anteriormente. 1rande parte deles $ oferecida gratuitamente, com determinadas
limitaes. ?ontudo, a qualidade de tais servios no $ afetada, sendo eles to (ons quanto
aplicativos desktop, por$m com recursos incorporados para suprir pro(lemas de cola(orao e
compartilhamento enfrentados em modelos tradicionais.
Este cap#tulo prope a associao de algumas ferramentas j citadas neste tra(alho,
oferecidas gratuitamente, como opo de am(iente para utili0ao em estaes de tra(alho de
am(ientes corporativos ou em am(ientes dom$sticos. Y sa(ido que esta proposta no $ a )nica
poss#vel, apenas uma sugesto de am(iente.
G.= &,8&8+6A DE A-P;EE6E
8 am(iente proposto roda so(re um microcomputador com as seguintes
caracter#sticas3
A-D +empron
Z6-[
@DJJg
=.GG 1N0, F=@ -P de ,A-
-icrosoft 2indo9s M& &rofessional +&B
Acesso ;nternet por meio de link de =-(ps
8s servios utili0ados nesta proposta (uscam compor um am(iente que supra a
maioria das necessidades de um am(iente de tra(alho de modo generalista, isto $, aplicativos
de uso comum em todos os segmentos corporativos e pessoais sero reunidos em uma soluo
que atenda s necessidades (sicas. Em casos onde h o uso de ferramentas avanadas para
edio de imagens, v#deos e arquivos de udio, por e'emplo, $ imprescind#vel a adoo de
uma infraestrutura nos moldes do Ama0on E?@ para o(teno do desempenho necessrio em
tais atividades.
&ara a proposta, as seguintes atividades foram atendidas3
AG
Nave9a56o Le43 8 navegador escolhido $ o 1oogle ?hrome. 8 motivo se deve ao
fato de que a engine de funcionamento do ?hrome utili0a o modelo de threads, ou
seja, cada a(a de navegao $ tratada separadamente e uma $ independente da outra.
Al$m disso, $ poss#vel criar atalhos de aplicativos 2e(, assemelhando%os a aplicativos
desktop, facilitando o acesso e aumentando a a(strao de locali0ao da infraestrutura
para o usurio.
Edi56o de textosT planil!as de Alulo e apresenta5Ces de slides3 A su#te online
escolhida $ o 1oogle Docs pelos mesmos motivos pelos quais foi o(jeto do estudo de
caso apresentado no cap#tulo anterior. 6rata%se de um servio de edio de documentos
de te'to, planilhas de clculo e apresentaes de slides que oferece diversos recursos
semelhantes s su#tes desktop tradicionais, mas possui adicionais de cola(orao e
compartilhamento em tempo real.
Gerenia=ento de ontatos pro?issionais3 Alguns servios em computao nas
nuvens para gerenciamento de contatos oferecem seus servios so( pagamento, sendo
portanto descartados desta proposta. 8 servio 1oogle ?ontacts, integrado aos demais
servios do 1oogle, oferece uma plataforma completa para edio, gerenciamento e
e'portao de contatos.
Clientes de chat instantUneo3 8 cliente escolhido para a proposta $ o "oho ?hat, um
servio que $ parte da plataforma "oho, uma infraestrutura em nuvem com diversos
aplicativos para todos os grupos de usurios. 8 motivo da escolha pelo "oho ?hat $ a
integrao com ?ontas do 1oogle, o que evita a necessidade de vrias contas de
usurios, e a quantidade de clientes atendida pelo servio, incluindo -+E -essenger,
Wahood -essenger, ;?Q, entre outros.
Cliente de e-=ail3 8 e%mail escolhido foi o 1mail, o qual oferece e'celente espao de
arma0enagem, integrao com outros servios, suporte a aplicativos e'ternos e
possi(ilidade de upgrade de espao em disco.
A9endas de o=pro=issos3 ;ntegrado ao 1mail, o servio de agenda de
compromissos do 1oogle, o ?alendar, permite a criao de in)meras agendas para
melhor organi0ar eventos, al$m de compartilhamento de informaes e suporte
disponi(ili0ao de verses p)(licas.
&ista de tare?as3 A lista de tarefas utili0ada na proposta $ a desenvolvida para o
1oogle App Engine no cap#tulo F, cuja qual tam($m utili0a login com ?ontas do
1oogle e uma interface simples para adio de pequenas tarefas individuais.
AA
Gereniador de proGetos3 8 sistema escolhido foi o "oho &rojects, que oferece um
am(iente de gerenciamento e compartilhamento de projetos, o qual pode ser )til para
criao de projetos dentro do meio corporativo, incluindo a possi(ilidade de
cola(orao entre mem(ros da empresa.
Rede soial3 8 servio .in<ed;n $ sugerido para relacionamentos profissionais. 6rata%
se de um adicional proposta, um servio j (em aceito por empresas para alavancar
seus neg!cios e interagir com clientes e outras empresas.
Figura 22 : Gr$a #$ ,raba!" $ barra #$ -%-&-a-<a0)" r9+-#a &"/ a,a!"( #$ a+-&a,-2"( r$/","(
a+r$($%,a#"( #$ 6"r/a ($/$!a%,$ a a+-&a,-2"( desktop ,ra#-&-"%a-(
A preocupao na formulao deste am(iente leva em conta limitaes de hard9are
locais, orientao ao usurio e tarefas voltadas para a 2e(, arma0enamento de dados
remotamente e a ocultao de locali0ao para o usurio. ?om o uso de atalhos semelhantes
aos de aplicativos desktop tradicionais, h uma a(strao de locali0ao para o usurio, que
AC
por sua ve0, no dever perce(er diferenas muito grandes na e'ecuo de um aplicativo. A
igura @@ mostra como ficariam organi0ados os elementos na Lrea de tra(alho do am(iente
utili0ado na proposta.
Y poss#vel o(servar tam($m na igura @@, a disposio dos elementos na (arra de
iniciali0ao rpida, ao lado do menu ;niciar, apresentando atalhos para os mesmos
aplicativos com #cones significativos e intuitivos. 8utra locali0ao de atalhos para o usurio
neste am(iente $ dentro do menu ;niciar, como pode ser visuali0ado na igura @B.
Figura 23 : M$%' I%-&-ar &"/ a,a!"( #$ a+-&a,-2"( r$/","(
a+r$($%,a#"( #$ 6"r/a ($/$!a%,$ a a+-&a,-2"( desktop
,ra#-&-"%a-(
?ada um dos aplicativos utili0ados neste am(iente sugerido, ao ser acessado pelo
usurio, $ apresentado como um aplicativo, fugindo um pouco da ideia de apresentao de
pginas 2e(, graas a um recurso do ?hrome onde o tratamento de aplicativos remotos $ tido
como aplicaes desktop. E'emplos desta apresentao ao usurio podem ser vistos nas
iguras @D a B=, onde $ poss#vel perce(er a ine'ist/ncia de (arra de endereos, (arra de
favoritos, entre outros elementos comuns a navegadores 2e(.
AI
Figura 24 : G""1$ C"%,a&,( a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
Figura 25 : G""1$ D"&( a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
CJ
Figura 26 : Z"!" Pr"H$&,( a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
Figura 27 : G/a- a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
C=
Figura 28 : L-%I$#I% a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
Figura 29 : G""1$ Ca$%#ar a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
C@
Figura 30 : T" D" L-(, a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
Figura 31 : Z"!" C!a, a+r$($%,a#" #$ /a%$-ra ($/$!a%,$ a '/ a+-&a,-2" desktop
CB
8 uso de uma a(ordagem em nuvem como a sugerida pode representar um melhor
aproveitamento de recursos de hard9are o(soletos ou limitados, sem a necessidade de
investimento na aquisio de recursos novos. Este modelo tam($m priori0a o
compartilhamento e a cola(orao online entre duas ou mais pessoas, o que agili0a o processo
de troca de informaes, no afetando a maneira como o usurio interage com tais aplicativos.
Hale ressaltar que a proposta apresentada no $ )nica, uma ve0 que um sistema em
nuvem deve ser inteiramente customi0vel, adaptando%se s necessidades do usurio. Esta
proposta classifica%se como +oft9are como +ervio Z+aa+[, uma ve0 que cada servio $
independente do outro e todos eles comportam%se como soft9ares, capa0es de trocar
informaes entre eles.
G.@ +;+6E-A 6,AD;?;8EA. M +8.KSR8 E- EKHE-
?omparando o dominante e j (em conhecido sistema tradicional e uma a(ordagem
em nuvem $ poss#vel ressaltar algumas vantagens no uso do segundo modelo, tais como3
cola(orao em evid/nciaa
compartilhamento de informaes facilitadoa
reaproveitamento de recursos o(soletos de hard9area
diminuio da preocupao com servidores e consequente reduo no consumo de
energia el$trica e com pessoala
eliminao da preocupao com backups de rotinaa
su(stituio e migrao de estaes de tra(alho facilitadasa
ampliao de n)mero de estaes de tra(alho facilitadaa
integrao entre servios em evid/nciaa
sistemas sempre atuali0ados sem perda de tempo ou de informaesa
acesso a informaes de dispositivos m!veis, em qualquer lugar do mundo com acesso
;nternet.
CONC&US,O
+istemas distri(u#dos t/m como principal o(jetivo o ganho de desempenho na
associao de microprocessadores de maneira que seja poss#vel dividir tarefas e process%las
separadamente, promovendo paralelismo e encurtando o tempo de reali0ao de tarefas de
processamento pesado. Ap!s os clusters e grids, h poucos anos, surgiu a computao nas
nuvens, um novo modelo que visa redu0ir principalmente os custos com tecnologia da
informao em am(ientes corporativos.
A computao nas nuvens resgata a ideia antiga de cliente%servidor com pequenas
alteraes. Eeste novo modelo, o cliente reali0a parte do processamento localmente e depende
de um servidor para um maior n)mero de tarefas. -ais al$m, o cliente tam($m depende do
servidor para arma0enamento de dados e aplicaes, os quais ficam locali0ados em servidores
fora das depend/ncias da empresa, muitas ve0es em reas geogrficas desconhecidas. Devido
a esta caracter#stica $ que o nome computao nas nuvens foi adotado.
Entre as principais vantagens esto a facilitao da cola(orao entre dois ou mais
usurios, o compartilhamento como item em evid/ncia, a porta(ilidade e a reduo de custos
com renovao de infraestrutura de 6;. Em contrapartida, algumas preocupaes ainda
consistem em desvantagens para o modelo, como questes de segurana no trfego de dados
confidenciais via ;nternet e a depend/ncia total de um link de acesso ;nternet, cujo qual pode
ser interrompido a qualquer instante.
A soluo ideal pode ser o(tida com a contratao de servios pagos de computao
nas nuvens, de acordo com a necessidade do usurio. 6odos os sistemas so customi0veis e
se adaptam s e'ig/ncias do modelo de neg!cio. Dentre os principais provedores, pode%se
citar ;P-, +un e Ama0on. ?ada um oferece uma ou mais solues que podem ser
classificadas em tipos de acordo com a forma de entrega de servios.
&ara todos os tipos de computao nas nuvens, uma importante caracter#stica
prevalece3 a reduo do consumo de energia el$trica e, consequentemente, a reduo na
emisso de poluentes na atmosfera. Esta $ mais uma questo importante e alvo de muita
discusso, uma ve0 que o conte'to atual sugere atitudes 4verdes5. Kma ve0 desnecessria a
e'ist/ncia de servidores su(utili0ados nas depend/ncias da empresa e a transfer/ncia de
processamento para servidores compartilhados entre diversos usurios ao redor do mundo, um
CF
melhor aproveitamento $, por consequ/ncia, o(tido.
8utro importante fator a ser citado $ o desenvolvimento. &ara um programador, o
desenvolvimento de aplicativos para as nuvens no foge muito dos padres 2e(. E'istem as
limitaes impostas pelas linguagens, mas na maioria dos casos, provedores de computao
nas nuvens a(straem comple'idades de (anco de dados distri(u#do e implementao de
escala(ilidade com o uso de A&;s (em definidas. ;sto permite que o desenvolvedor preocupe%
se com o aplicativo e seu funcionamento em si, esquecendo detalhes de hospedagem,
planejamento de crescimento ou arma0enagem, como pXde ser comprovado com o estudo de
caso em torno da plataforma 1oogle App Engine. 8 desenvolvimento utili0a a linguagem
&:thon e o framework disponi(ili0ado pelo 1oogle, o qual oferece espao em seus servidores
gratuitamente para hospedagem de aplicativos e au'ilia no monitoramento de estat#sticas e
logs de acesso. 8 conjunto de vantagens apresentado no estudo de caso leva concluso de
que $ recomendvel o uso do 1oogle App Engine para aplicaes simples e no%cr#ticas em
termos de segurana.
8 segundo estudo de caso apresentou resultados em termos de compati(ilidade e
desempenho da plataforma em nuvem 1oogle Docs. Durante esse, foi reali0ada uma coleta de
dados em relao ao tempo de tarefas de upload, carregamento e impresso de documentos de
te'to, planilhas de clculo e apresentaes de slides com diferentes tipos de arquivos,
condicionados a diferentes velocidades de acesso e em variados horrios do dia. 8s resultados
o(tidos dei'am clara a necessidade de investimento em aumento de lin<s de acesso ;nternet
de modo a o(ter uma relao custo>(enef#cio aceitvel, pois com o uso de velocidades muito
(ai'as h uma clara perda de desempenho. &or outro lado, um aumento indiscriminado de
velocidade do lin< pode ocasionar desperd#cios, pois a (anda ficar su(utili0ada. ?ontudo, o
uso de velocidades muito (ai'as pode comprometer o desempenho das aplicaes, as quais
so e'tremamente dependentes desta (anda. De uma maneira geral, ainda h grande
dificuldade quanto compati(ilidade de soft9are entre sistemas desktop tradicionais e
sistemas em nuvem, o que dificulta a migrao de dados para adoo do modelo. Entretanto,
fatores positivos como a cola(orao e o compartilhamento de dados e documentos so
evidentes e podem representar (enef#cios su(stanciais.
&ara concluir, pode%se afirmar que a adoo de modelos computacionais distri(u#dos
em nuvem ainda dever levar alguns anos para atingir o amadurecimento completo, de modo
que possam se tornar de fato viveis. 6am($m dependero do investimento de provedores em
t$cnicas de aumento de segurana da informao para suas infraestruturas, (em como em
CG
melhorias de compati(ilidade entre sistemas tradicionais e (aseados em nuvem, facilitando
assim a migrao de um am(iente para o outro, respectivamente.
RE'ERINCIAS
AO;6A, a(io. Goo9le App En9ine e Cloud Co=putin9. Dispon#vel em3
hhttp3>>999.a<itaonrails.com>@JJC>D>=B>off%topic%google%app%engine%e%cloud%computingi
Acesso em3 F Eov @JJI.
A-A"8E. A=a:on Cloud'ront. Dispon#vel em3 hhttp3>>a9s.ama0on.com>cloudfront>i
Acesso em3 =@ 8ut @JJI.
A-A"8E. A=a:on Elasti Co=pute Cloud DA=a:on EC/E. Dispon#vel em3
hhttp3>>a9s.ama0on.com>ec@>i Acesso em3 =@ 8ut @JJI.
A-A"8E. A=a:on Elasti MapRedue. Dispon#vel em3
hhttp3>>a9s.ama0on.com>elasticmapreduce>i Acesso em3 =@ 8ut @JJI.
A-A"8E. A=a:on Si=ple Stora9e Servie DA=a:on S.E. Dispon#vel em3
hhttp3>>a9s.ama0on.com>sB>i Acesso em3 =@ 8ut @JJI.
A-A"8E. A=a:on Si=pleD#. Dispon#vel em3 hhttp3>>a9s.ama0on.com>simpled(>i Acesso
em3 =@ 8ut @JJI.
A-A"8E. A=a:on (irtual Private Cloud DA=a:on (PCE. Dispon#vel em3
hhttp3>>a9s.ama0on.com>vpc>i Acesso em3 =@ 8ut @JJI.
PA.D;E1, ?raig. Cloud Co=putin9 De?ined. ?loud +ecurit:. Dispon#vel em3
hhttp3>>cloudsecurit:.org>@JJC>JD>=A>cloud%computing%defined%=>i Acesso em3 @= -aio @JJI.
PA,,8+, a(io. A Nuve= e suas Di?erentes 'or=as. ?omputer 2orld. v.=G, n.FJA, p. @G%
@A, De0. @JJC.
PE?N68.+NE;-, And:. Cloud Co=putin9. Dispon#vel em3
hhttp3>>netseminar.stanford.edu>seminars>?loud.pdfi Acesso em3 J@ +et @JJI.
PK6,;?8, -ariaa +;.HA, Dilma Daa W8K+E, .amia. To%ard a Uni?ied Ontolo9y o?
Cloud Co=putin9. Dispon#vel em3
hhttp3>>999.cs.ucs(.edu>jl:ouseff>??8ntolog:>?loud8ntolog:.pdfi Acesso em3 =I *ul
@JJI.
DAE6A+, -ario. Co=puta56o Distri4u>da de Alto Dese=pen!o3 redes, clusters e grids
computacionais. ,io de *aneiro3 A'cel Poo<s do Prasil, @JJF.
DE;6E., Narve: -.a DE;6E., &aul *.a ?N8EE+, David ,. Siste=as Operaionais. B.
ed. +o &aulo3 &earson &rentice Nall, @JJF.
CC
EK?A.W&6K+. Eualyptus. Dispon#vel em3 hhttp3>>open.eucal:ptus.com>i Acesso em3 @
Eov @JJI.
;E1A,, &eter. Dot Cloud3 6he @=
st
?entur: Pusiness &latform Puilt on ?loud ?omputing.
6ampa, lorida, K+A3 -eghan%Oiffer &ress, @JJI.
1881.E. Goo9le App En9ine" Cotas. Dispon#vel em3 hhttp3>>code.google.com>intl>pt%
P,>appengine>docs>quotas.htmli Acesso em3 D 8ut @JJI.
1881.E. O Sue B o Goo9le App En9ineV Dispon#vel em3 hhttp3>>code.google.com>intl>pt%
P,>appengine>docs>9hatisgoogleappengine.htmli Acesso em3 =C -aio @JJI.
;P-. Cloud Co=putin9. Dispon#vel em3 hhttp3>>999.i(m.com>i(m>cloud>i Acesso em3 @I
-ar @JJI.
;P-. DeveloperLorRs Spaes. Dispon#vel em3
hhttp3>>999.i(m.com>developer9or<s>spaces>cloudk+f6A?6lsaasisvmcaldth%
cloudnmoretagsi Acesso em3 B Eov @JJI.
OK,8+E, *ames . ,8++, Oeith 2. Redes de o=putadores e a Internet. B. ed. +o &aulo3
&earson Addison 2esle:, @JJG.
.EAH;66, Eeal. Is Cloud Co=putin9 Really Ready ?or Pri=e Ti=eV 6echnolog: Ee9s.
Dispon#vel em3 hhttp3>>999.computer.org>portal>cmsfdocsfcomputer>
computer>homepage>*anJI>r=tech.pdfi Acesso em3 @ A(r @JJI.
-;?,8+86. Introdu56o a novas extensCes de no=e de arSuivo e ?or=atos JM&
a4ertos. -icrosoft 8ffice 8nline. Dispon#vel em3 hhttp3>>office.microsoft.com>pt%
(r>po9erpoint>NA=JJJGIBF=JDG.asp'i Acesso em3 JI Eov @JJI.
-;?,8+86. Lindo%s A:ure. Dispon#vel em3
hhttp3>>999.microsoft.com>9indo9sa0ure>9indo9sa0ure>i Acesso em3 D Eov @JJI.
-;..E,, -ichael. Cloud Co=putin93 2e(%Pased Applications 6hat ?hange the 2a: Wou
2or< and ?olla(orate 8nline. ;ndianapolis, ;ndiana3 Que, @JJC.
,EE+E, 1eorge. T!e Eono=is o? Cloud Co=putin9. 8o,eill: Proadcast. Dispon#vel em3
hhttp3>>(roadcast.oreill:.com>print>BBIJB.htmli Acesso em3 =@ +et @JJI.
,;11866, -att. Usin9 Goo9le App En9ine as Wour O%n Content Delivery Net%orR.
Dispon#vel em3 hhttp3>>@D9a:s.org>@JJC>using%google%app%engine%as%:our%o9n%cdni Acesso
em3 =G 8ut @JJI.
+N;-8E+O;, ,o(ert *. Net%orRX3 +tud: 1uide and &ractice E'ams. ,oc<land, -A3
+:ngress &u(lishing, @JJF.
+K..;HAE, Dann:. Sear! MarRet S!are /;;83 1oogle 1re9, Wahoo m -icrosoft Dropped
m +ta(ili0ed. Dispon#vel em3 hhttp3>>searchengineland.com>search%mar<et%share%@JJC%
google%gre9%:ahoo%microsoft%dropped%sta(ili0ed%=GB=Ji Acesso em3 F Eov @JJI.
CI
+KE. ProGet $enai" T!e APIs ?or t!e Sun Cloud. Dispon#vel em3
hhttp3>><enai.com>projects>suncloudapisi Acesso em3 B= 8ut @JJI.
+KE. Sun Mirosyste=s anunia plata?or=a a4erta de Cloud Co=putin9. Dispon#vel
em3 hhttp3>>(r.sun.com>sunne9s>press>@JJI>@JJIJB@D.jspi Acesso em3 @C 8ut @JJI.
6AEEEPAK-, Andre9 +. Redes de Co=putadores. D. ed. ,io de *aneiro3 Elsevier, @JJB.
6AEEEPAK-, Andre9 +.a +6EEE, -arteen Han. Siste=as distri4u>dos3 princ#pios e
paradigmas. @. ed. +o &aulo3 &earson &rentice Nall, @JJA.
2AWEE,, &eter. Cloud versus loud" A 9uided tour o? A=a:onT Goo9leT AppNexusT and
GoGrid. ;nfo2orld. Dispon#vel em3 hhttp3>>999.info9orld.com>d>cloud%computing>cloud%
versus%cloud%guided%tour%ama0on%google%appne'us%and%gogrid%=@@i Acesso em3 @B *ul
@JJI.
2;..;+, *ohn. Cloud Co=putin9 and t!e Enterprise. ;6 -anagement and ?loud Plog.
Dispon#vel em3 hhttp3>>999.johnm9illis.com>cloud%computing>cloud%computing%and%the%
enterprise>i Acesso em3 @= -aio @JJI.
ANEJOS
I=
AEEM8 A 7 .imitaes do 1oogle App Engine
Ta4ela A-* 7 +olicitaes
Reurso Cota padr6o 9ratuita Cota o= ?atura=ento ativado
&i=ite diArio Taxa =Axi=a &i=ite diArio Taxa =Axi=a
+olicitaes =.BJJ.JJJ
solicitaes
A.DJJ
solicitaes>minuto
DB.JJJ.JJJ
solicitaes
BJ.JJJ
solicitaes>minuto
.argura de (anda de
sa#da Zfaturvel, inclui
N66&+[
=J giga(:tes FG
mega(:tes>minuto
=J giga(:tes
gratuitoa m'imo de
=.JDG giga(:tes
ADJ
mega(:tes>minuto
.argura de (anda de
entrada Zfaturvel,
inclui N66&+[
=J giga(:tes FG
mega(:tes>minuto
=J giga(:tes
gratuitoa m'imo de
=.JDG giga(:tes
ADJ
mega(:tes>minuto
6empo de ?&K
Zfaturvel[
DG horas de ?&K =F minutos de
?&K>minuto
DG horas de ?&K
gratuito, m'imo de
=.A@I horas de ?&K
A@ minutos de
?&K>minuto
Ta4ela A-/ 7 Arma0enamento de dados
Reurso Cota padr6o 9ratuita Cota o= ?atura=ento ativado
&i=ite diArio Taxa =Axi=a &i=ite diArio Taxa =Axi=a
?hamadas da A&; de
arma0enamento de
dados
=J.JJJ.JJJ
chamadas
FA.JJJ
chamadas>minuto
=DJ.JJJ.JJJ
chamadas
=@I.JJJ
chamadas>minuto
Dados arma0enados
Zfaturvel[
= giga(:te Eenhum = giga(:tes gratuitoa
sem m'imo
Eenhum
Dados enviados A&; =@ giga(:tes GC
mega(:tes>minuto
A@ giga(:tes =FB
mega(:tes>minuto
Dados rece(idos da
A&;
==F giga(:tes GFI
mega(:tes>minuto
GIF giga(:tes =.DCD
mega(:tes>minuto
6empo de ?&K do
arma0enamento de
dados
GJ horas de ?&K @J minutos de
?&K>minuto
=.@JJ horas de ?&K FJ minutos de
?&K>minuto
I@
Ta4ela A-. 7 -ensagens
Reurso Cota padr6o 9ratuita Cota o= ?atura=ento ativado
&i=ite diArio Taxa =Axi=a &i=ite diArio Taxa =Axi=a
?hamadas da A&; de
mensagens
A.JJJ chamadas B@
chamadas>minuto
=.AJJ.JJJ chamadas D.IJJ
chamadas>minuto
Destinatrios de e%
mail Zfaturvel[
@.JJJ destinatrios C
destinatrios>minuto
@.JJJ destinatrios
gratuitoa m'imo de
A.DJJ.JJJ
destinatrios
F.=JJ
destinatrios>minuto
E%mail para
administradores
F.JJJ e%mails @D e%mails>minuto B.JJJ.JJJ e%mails I.AJJ e%mails>minuto
Dados enviados no
corpo da mensagem
GJ mega(:tes BDJ
<ilo(:tes>minuto
@I giga(:tes CD mega(:tes>minuto
Ane'os enviados @.JJJ ane'os C ane'os>minuto @.IJJ.JJJ ane'os C.=JJ ane'os>minuto
Dados enviados como
ane'os
=JJ mega(:tes FGJ
<ilo(:tes>minuto
=JJ giga(:tes BJJ
mega(:tes>minuto
Ta4ela A-< 7 8(teno de K,.
Reurso Cota padr6o 9ratuita Cota o= ?atura=ento ativado
&i=ite diArio Taxa =Axi=a &i=ite diArio Taxa =Axi=a
?hamadas da A&; de
o(teno de K,.
GFA.JJJ chamadas B.JJJ
chamadas>minuto
DG.JJJ.JJJ
chamadas
B@.JJJ
chamadas>minuto
Dados enviados para a
o(teno de K,.
D giga(:tes @@
mega(:tes>minuto
=.JDG giga(:tes ADJ
mega(:tes>minuto
Dados rece(idos da
o(teno de K,.
D giga(:tes @@
mega(:tes>minuto
=.JDG giga(:tes ADJ
mega(:tes>minuto
Ta4ela A-1 7 -anipulao de imagens
Reurso Cota padr6o 9ratuita Cota o= ?atura=ento ativado
&i=ite diArio Taxa =Axi=a &i=ite diArio Taxa =Axi=a
?hamadas da A&; de
manipulao de
imagens
CGD.JJJ chamadas D.CJJ
chamadas>minuto
DF.JJJ.JJJ
chamadas
B=.JJJ
chamadas>minuto
Dados enviados A&; = giga(:tes F mega(:tes>minuto FGJ giga(:tes DJJ
mega(:tes>minuto
Dados rece(idos da
A&;
F giga(:tes @C
mega(:tes>minuto
D@A giga(:tes BJJ
mega(:tes>minuto
6ransformaes
e'ecutadas
@.FJJ.JJJ
transformaes
=D.JJJ
transformaes>min
uto
DA.JJJ.JJJ
transformaes
B@.JJJ
transformaes>minu
to
IB
Ta4ela A-2 7 ?ache de mem!ria
Reurso Cota padr6o 9ratuita Cota o= ?atura=ento ativado
&i=ite diArio Taxa =Axi=a &i=ite diArio Taxa =Axi=a
?hamadas da A&; do
cache de mem!ria
C,GJJ,JJJ DC.JJJ
chamadas>minuto
IG,JJJ,JJJ =JC.JJJ
chamadas>minuto
Dados enviados A&; =J giga(:tes FG
mega(:tes>minuto
GJ giga(:tes =@C
mega(:tes>minuto
Dados rece(idos da
A&;
FJ giga(:tes @CD
mega(:tes>minuto
B=F giga(:tes GDJ
mega(:tes>minuto
ID
AEEM8 P 7 ?!digo%fonte do aplicativo%e'emplo para 1oogle App Engine
app-ya=l
application: todolist-tcc
version: 1
runtime: python
api_version: 1
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /images
static_dir: images
- url: /javascript
static_dir: javascript
- url: /.
script: todolist-tcc.py
- url: /visuali.a/.
script: visuali.a.py
index-ya=l
indexes:
/ 012$34"4-0245
/ 2his index.yaml is automatically updated 6henever the dev_appserver
/ detects that a ne6 type of query is run. !f you 6ant to manage the
/ index.yaml file manually* remove the a7ove mar8er line 9the line
/ saying :/ 012$34"4-0245:;. !f you 6ant to manage some indexes
/ manually* move them a7ove the mar8er line. 2he index.yaml file is
/ automatically uploaded to the admin console 6hen you next deploy
/ your application using appcfg.py.
/ 1nused in query history -- copied from input.
- 8ind: 1suario
properties:
- name: nome
- name: categoria
- name: date
direction: desc
/ 1sed 1' times in query history.
IF
- 8ind: 1suario
properties:
- name: nome
- name: categoria
direction: desc
- name: date
direction: desc
/ 1nused in query history -- copied from input.
- 8ind: 1suario
properties:
- name: nome
- name: date
direction: desc
index-!t=l
<html=
<head=
<>420 ?22@-4A1!BC:Dontent-2ype: D$"24"2C:text/htmlE charsetC!F$-''+&-1:=
<lin8 typeC:text/css: relC:stylesheet: hrefC:/stylesheets/main.css: /=
<script srcC:/javascript/jquery-1.2.6.min.js: typeC:text/javascript:=</script=
<title= 2$ 5$ G!F2 </title=
</head=
<7ody=
<ul=
HI if user IJ
Kem vindo ao <7=2o5oGist</7=. BocLecircE estLaacuteE logado
como: <7= HHuserJJ </7=M
HI endif IJ
<a hrefC:HH url JJ:=HH url_lin8text JJ</a=
</ul=
<ul=
HI if user IJ
<ta7le 7orderC:): 6idthC1%%I =
<tr B0G!3"C2$@=
<td 6idthC+6+=
<h2="ova tarefa:</h2=
<li=
<form actionC:/to5oGist: methodC:post:=
<la7el=2arefa: </la7el=<7r=<input typeC:text: nameC:tarefa:
si.eC:'%:=
<7r=
<la7el=5escriLccedilELatildeEo: </la7el=<7r=
IG
<div=<textarea nameC:descricao: ro6sC:):
colsC:NN:=</textarea=
<7r=
<la7el=5ata !nLiacuteEcio: </la7el=<7r=<input typeC:text:
nameC:date!nicio: si.eC:1%:=
<7r=
<la7el=5ata 2LeacuteErmino: </la7el=<7r=<input typeC:text:
nameC:date2ermino: si.eC:1%:=
<7r=
<la7el=@rioridade: </la7el=
<7r=
<font colorC7lac8 si.eC:): faceC:0rial:=
<input typeC:radio: nameCcategoria valueC:1:=1
<input typeC:radio: nameCcategoria valueC:2:=2
<input typeC:radio: nameCcategoria valueC:):
chec8ed=)
<input typeC:radio: nameCcategoria valueC:(:=(
<input typeC:radio: nameCcategoria valueC:+:=+
</font=
<7r=<7r=
<div=<input typeC:su7mit: valueC:!ncluir:=</div=
</form=
</td=
<td=
<h2=2arefas pendentes: HHtarefasJJ</h2=
HI for usuario in usuarios IJ
HI if usuario.nome IJ
<li=
<la7el=2arefa: </la7el= <font colorC7lac8 si.eC:):
faceC:0rial:= HH usuario.tarefaMescape JJ </font=<7r=
<la7el=5escriLccedilELatildeEo: </la7el= <font colorC7lac8
si.eC:): faceC:0rial:= HH usuario.descricaoMescape JJ</font=
<7r=
<la7el=5ata !nLiacuteEcio: </la7el= <font colorC7lac8
si.eC:): faceC:0rial:= HH usuario.date!nicioMescape JJ </font=
<la7el=5ata 2LeacuteErmino: </la7el= <font colorC7lac8
si.eC:): faceC:0rial:= HH usuario.date2erminoMescape JJ </font=<7r=
<la7el=@rioridade: </la7el= <font colorC7lac8 si.eC:):
faceC:0rial:= HH usuario.categoriaMescape JJ </font=<7r=
<a classC:done: hrefC:/apagaOidCHHusuario.8ey.idJJ: =<img
7orderC:%: srcC:/images/apagar.gif:=</a=
<a classC:email: hrefC:/emailOidCHHusuario.8ey.idJJ: =<img
7orderC:%: srcC:/images/mail.gif:=</a=
HI else IJ
HI endif IJ
HI endfor IJ
</td=
</tr=
IA
</ta7le=
</ul=
HI else IJ
<h2= 4fetue login com sua Donta do 3oogle para criar e
visuali.ar suas listas de tarefas. </h2=
HI endif IJ
</ul=
</ta7le=
<center= <img srcC:http://code.google.com/appengine/images/appengine-
silver-12%x)%.gif: altC:@o6ered 7y 3oogle 0pp 4ngine: /=</center=
</7ody=
</html=
todolist-t-py
import cgi
import os
from google.appengine.ext.6e7app import template
from google.appengine.api import users
from google.appengine.ext import 6e7app
from google.appengine.ext.6e7app.util import run_6sgi_app
from google.appengine.ext import d7
from google.appengine.api import mail
class 1suario9d7.>odel;:
nome C d7.1ser@roperty9;
tarefa C d7.Ftring@roperty9;
descricao C d7.Ftring@roperty9multilineC2rue;
date C d7.5ate2ime@roperty9auto_no6_addC2rue;
date!nicio C d7.Ftring@roperty9;
date2ermino C d7.Ftring@roperty9;
categoria C d7.Ftring@roperty9;
class 2o5oGist96e7app.-equest?andler;:
def post9self;:
usuario C 1suario9;
if users.get_current_user9;:
usuario.nome C users.get_current_user9;
usuario.tarefa C self.request.get9PtarefaP;
usuario.descricao C self.request.get9PdescricaoP;
usuario.date!nicio C self.request.get9Pdate!nicioP;
usuario.date2ermino C self.request.get9Pdate2erminoP;
usuario.categoria C self.request.get9PcategoriaP;
IC
usuario.put9;
self.redirect9P/P;
class 4mail96e7app.-equest?andler;:
def get9self;:
user C users.get_current_user9;
if user:
ra6_id C self.request.get9PidP;
id C int9ra6_id;
usuario C 1suario.get_7y_id9id;

message C mail.4mail>essage9senderCuser.email9;*
su7ject C usuario.tarefa ;
message.to C user.email9;
message.7ody C usuario.descricao
message.send9;
self.redirect9P/P;
class 0paga96e7app.-equest?andler;:
def get9self;:
user C users.get_current_user9;
if user:
ra6_id C self.request.get9PidP;
id C int9ra6_id;
usuario C 1suario.get_7y_id9id;
usuario.delete9;
self.redirect9P/P;
class >ain@age96e7app.-equest?andler;:
def get9self;:
consulta_usuario C 1suario.gql9:Q?4-4 nome C :1 $-54- KR categoria desc* date
54FD:* users.get_current_user9;;
usuarios C consulta_usuario.fetch91%%;
user C users.get_current_user9;
if users.get_current_user9;:
url C users.create_logout_url9self.request.uri;
url_lin8text C : Fair :
else:
url C users.create_login_url9self.request.uri;
url_lin8text C P #a.er Gogin P
template_values C H
PusuariosP: usuarios*
PuserP: user*
PtarefasP: consulta_usuario.count9;*
PurlP: url*
Purl_lin8textP: url_lin8text*
J
II
path C os.path.join9os.path.dirname9__file__;* Pindex.htmlP;
self.response.out.6rite9template.render9path* template_values;;
application C 6e7app.QF3!0pplication9
S9P/P* >ain@age;*
9P/to5oGistP* 2o5oGist;*
9P/apagaP* 0paga;*
9P/emailP* 4mail;,*
de7ugC2rue;
def main9;:
run_6sgi_app9application;
if __name__ CC :__main__::
main9;
=ain-ss
7ody H
font-family: arialE
7ac8ground-color: >edium2urquoiseE
margin-left: 1%ptE
J
span H
7ac8ground:/def)caE
padding:)pxE
float:leftE
J
h1H
color: redE
J
h2H
color: 5ar8Flate3rayE
J
la7elH
font-6eight: 7oldE
color: -oyalKlueE
J
textareaH
font-family: arialE
font-si.e: 1%ptE
J
inputH
font-family: arialE
font-si.e: 1%ptE
J
1G H
7ac8ground: 0.ureE
=JJ
margin: 12px 12px 12px 12pxE
padding: )px )px )px )pxE
J
G! H
color: 6hiteE
7ac8ground: @o6derKlueE
margin: 12px 12px 12px 12pxE
padding: 12px %px 12px 12pxE
list-style: none
J
=J=
AEEM8 ? 7 6a(ela de Dados ?oletados nos 6estes com 1oogle Docs