Escolar Documentos
Profissional Documentos
Cultura Documentos
br : :
Introdução ao
Cloud Computing
Conheça o conceito de Computação em Nuvem (Cloud
Computing), seus benefícios e aplicações e como as
gigantes da TI vêm investindo sério nele.
6
O que é Computação em Nuvem
Computação em Nuvem (ou em Nuvens, como alguns traduzem),
do inglês “Cloud Computing”, não é ainda um conceito 100%
preciso. Há um bem humorado vídeo na internet chamado “What
is Cloud Computing” (criado em 07/05/2008) que mostra, dentre
outros, personalidades como Tim O'Reilly, Dan Farber (editor-
chefe da CNet) e Matt Mullenweg (co-fundador do Wordpress)
com visões muito diferentes sobre esse conceito. Ocorre que nunca
houve um dia em que alguém parou e disse “agora vamos começar
a usar computação em nuvem”. O que houve foi que se começou Figura 2. Google Docs, DropBox, Live Document e Amazon Cloud Drive: exemplos
de armazenamento on-line na nuvem.
a chamar um conjunto de práticas da TI atual por esse nome. Em
todo caso, a maioria dos conceitos converge para um modelo no
qual os recursos computacionais (processamento, armazenamen- Vários outros exemplos de uso “popular” de Cloud Computing
to e softwares) estão disponíveis em uma rede de computadores e poderiam ser citados, tais como: Youtube, Picasa, Redes Socais e
são acessados remotamente, via internet ou intranet. programas antivírus on-line.
Se não há consenso sobre o conceito, sobre os objetivos e caracte- E o que o leitor observou em comum nos exemplos citados? Uso
rísticas há bem menos divergências. Esse modelo objetiva prover reduzido dos computadores pessoais, certo? Não é seu compu-
uma alta disponibilidade de recursos e é composto de cinco carac- tador que envia o e-mail quando você usa o Gmail. Não é seu
terísticas essenciais, quatro modelos de implantação e diferentes computador que edita o documento no Live Documents. Não é
modelos de serviços. em seu computador que está o vídeo que você assiste pelo Youtu-
be (e nem lá fica depois de assistir). O computador pessoal passa
a ser apenas um meio de solicitar e receber os serviços da nuvem.
Quem processa, faz IO, usa memória etc. é o sistema em nuvem
Você anda muito mais nas nuvens do que imagina que você acessa via navegador ou outro programa-cliente.
Talvez o leitor imagine que “Cloud Computing” seja um modismo
ou então algo com que só os CIOs das empresas devam se preo-
cupar. Nada disso. Origem da expressão “Computação em Nuvem”
Para que o leitor tenha um entendimento mais claro sobre o con- O termo “Computação em Nuvem” começou a ter maior reper-
ceito de Cloud Computing e como ela já está presente em nosso cussão em meados de 2008 (embora Google e Amazon tenham
cotidiano, temos alguns exemplos de aplicações que seguem esse criado serviços dessa natureza em 2006), mas é de origem incerta,
conceito e que são muito populares mesmo entre pessoas que não principalmente se considerarmos como ele tem sido implementa-
trabalham com TI. do. Entretanto, não é raro encontrar referências a um trabalho de
1961, do professor John McCarthy do Instituto de Tecnologia de
8FCNBJMT Gmail, Hotmail, Yahoo!Mail (figura 1) dentre outros Massachusetts (MIT) como sendo o precursor desse conceito. Nes-
são exemplos de sistemas na nuvem. O usuário que possui conta se trabalho foi descrito um modelo de computação oferecido nos
de e-mail em alguma dessas empresas não sabe onde seus e-mails moldes do sistema de distribuição de energia. Isso é parecido com
estão de fato. Estão no Brasil? Nos EUA? Na Europa? Não, estão na o que está ocorrendo atualmente, graças a fatores como expansão e
nuvem. Consegue-se acessá-los de qualquer lugar do mundo bas- barateamento da banda larga e do aumento da capacidade compu-
tando possuir conexão com a internet. Você não precisa instalar tacional dos equipamentos atuais. Desde a divulgação do trabalho
nada nem fazer atualizações, pois esses sistemas estão na nuvem e do professor MacCarthy, tal conceito ficou como que “hibernando”,
acessíveis com uso de um navegador. pois a tecnologia da informação só passou a ser capaz de por em
prática tal ideia recentemente. Foi que, em 2006, Eric Schmidt da
Google usou o termo “Cloud Computing” passando a ser conside-
rado por muitos autores como o “pai” desse termo.
Características essenciais
Figura 1. Gmail, Hotmail e Yahoo!Mail: exemplos de uso da nuvem para envio, rece-
bimento e armazenamento de e-mails. Para que exista um ambiente onde seja possível oferecer e usar
computação em nuvem, são necessárias as seguintes caracterís-
$SJBÎÍP F BSNB[FOBNFOUP POMJOF EF BSRVJWPT Google Docs, ticas:
Office Web Apps, Dropbox, Live Documents, Amazon Cloud
"DFTTP Ë SFEF característica básica em todos os conceitos de
Drive (figura 2) dentre, outros também são exemplos de sistemas
nuvem. Sem rede não há como existir ou ingressar na nuvem.
na nuvem. Igualmente, o usuário não sabe onde os arquivos estão
O acesso à rede deve observar a heterogeneidade de hardware e
verdadeiramente, pois estão na nuvem. Com exceção do Dropbox,
software.
esses sistemas sequer exigem a instalação de algum software no
computador do cliente, pois funcionam por meio do navegador.
7
: : www.mundoj.com.br : :
0OEFNBOETFMGTFSWJDF um consumidor pode, unilateralmente, nos mesmos sistemas de armazenamento. Tal abordagem pode
provisionar recursos computacionais, como servidor dns, storage, parecer ineficiente, porém, se a implementação de uma nuvem
sgbd, dentre outros, de acordo com sua necessidade, sem a obri- pública considera questões fundamentais, como desempenho e
gatoriedade de interação humana com o provedor de serviço. segurança, a existência de outras aplicações sendo executadas na
mesma nuvem permanece transparente tanto para os prestadores
1PPM DPNQBSUJMIBNFOUP
EF SFDVSTPT os recursos computa- de serviços como para os usuários.
cionais de um provedor de serviços em nuvem são agrupados,
ficando à disposição de múltiplos clientes, com recursos físicos e Exemplos desse modelo são as oferecidas pela Amazon, pela Goo-
virtuais diferentes, realocados de acordo com a demanda de cada gle (alguns serviços deles são pagos) e outros listados na tabela 1.
cliente. Quanto à localização, é algo bem diferente de ter um “data
center”, pois o cliente não sabe exatamente onde estão os recursos $PNVOJEBEF PVOVWFNDPNVOJUÈSJB
a infraestrutura de nu-
que usa. Os recursos normalmente são: processador, memória, vem é compartilhada por diversas organizações e suporta uma co-
espaço em disco, banda de rede e máquinas virtuais. munidade específica que partilha os valores e preocupações (por
exemplo, a missão, os requisitos de segurança, política e conside-
3ÈQJEBFMBTUJDJEBEF capacidade de elasticamente alocar recursos rações de conformidade). Pode ser administrado por organizações
o mais rápido possível. Assim, deve-se rapidamente aumentar os ou por um terceiro e pode existir localmente ou remotamente.
seus recursos quando necessário e logo após o término voltar ao
estado inicial. O usuário final não tem gerência sobre essas opera- Exemplos desse modelo são como os citados na seção “Você anda
ções. A ideia aqui é evitar recursos ociosos em uma infraestrutura, muito mais nas nuvens do que imagina”.
disponibilizando mais recursos para que mais precisa. O limite
)ÓCSJEPmodelos de implantação onde há composição de duas
de aumento de alocação desses recursos pode variar conforme o
ou mais nuvens (privada, comunitária ou pública).
contrato entre o cliente e o provedor de serviços em nuvem.
8
serviços para desenvolvimento, testes, publicação, hospedagem e
manutenção de aplicações. Exemplos: SaaS pode se tornar um grande aliado
8JOEPXT "[VSF plataforma hospedada nos data centers da contra a pirataria
própria Microsoft. A plataforma é suportada por um sistema ope- A pirataria de software traz bilhões de dólares de prejuízos por ano.
racional, que é o próprio Azure, e um framework de serviços para Só no Brasil, esse prejuízo foi da ordem de US$2,2 bi, segundo o
desenvolvedores que podem ser utilizados em aplicações a fim portal Tiinside. Uma alternativa que parece eficaz e que tem ganha-
de obter o potencial da plataforma. Oferece componentes para do bastante força no Brasil e no mundo é o SaaS, uma modalidade
execução das aplicações e armazenamento das informações, um altamente flexível, na qual o cliente paga apenas pelo que consumir.
SGBD Relacional baseado no SQL Server, infraestrutura de servi- Aqui uma empresa de software pode deixar de criar um software “de
ços baseado e hospedado na nuvem que fornece serviços para as caixa” de fácil cópia para criar um sistema on-line. Assim, fica muito
aplicações e um mercado de dados disponível para usuários finais mais difícil usar o software sem pagar.
de desenvolvedores compartilhar, vender e comprar qualquer tipo
de dado, como treinamento, serviços e aplicações. Há APIs em E o próprio cliente sai ganhando consumindo Saas, pois um relatório
várias linguagens para seu uso, inclusive em Java (vide tabela 1). produzido pela Hurwitz & Associates mostra que o investimento em
aplicações baseadas em SaaS pode ser até 77% menor que as solu-
(PPHMF "QQ&OHJOF (ou GAE) plataforma hospedada nos data ções que utilizam infraestrutura de TI do próprio cliente. E, segundo
centers da própria Google. Permite hospedar e executar aplicações dados divulgados recentemente pelo instituto de pesquisas Gartner,
Web desenvolvidas em Java (qualquer linguagem que compile a oferta SaaS crescerá em média 29% ao ano em todo mundo, até
para a JVM) e Python. Possui um SGBD não relacional (BigTable) 2014.
e suporte, ainda em beta, a MySql e suporte a múltiplas versões
do mesmo sistema. Como finalidade o GAE está para PaaS, mas
como com ele usa-se a infraestrutura da Google, poderia ser cita- %BB4 o %FTFOWPMWJNFOUP DPNP 4FSWJÎP %FWFMPQNFOU BT B
do como exemplo de IaaS também. 4FSWJDF
ferramentas compartilhadas, ferramentas de desen-
volvimento web-based e serviços baseados em mashup. É uma
SaaS – Software como Serviço (Software as a Service) aplicação Web que usa conteúdo de mais de uma fonte para criar
um novo serviço completo. Podem possuir códigos de terceiros
Modelo de serviço mais usado pelos usuários domésticos. Repre- que se comunicam através de uma interface pública ou de uma
sentado pelos “sistemas on-line”, como Webmails e alguns dos API. Exemplos: Feeds (RSS ou Atom), Widgets e Blogs.
exemplos citados na seção “Você anda muito mais nas nuvens
do que imagina”. Sistema de e-commerce também se enquadra $BB4o$PNVOJDBÎÍPDPNP4FSWJÎP $PNNVOJDBUJPOBTB4FS
neste modelo. Neste modelo os computadores pessoais são apenas WJDF
bem parecido com SaaS, mas é o conjunto de serviços que
canais de comunicação entre o sistema que está na nuvem e o satisfaz a função de comunicações, como a telefonia IP, mensagem
usuário. instantânea e videoconferência.
-JOHVBHFOT 1BHBNFOUP
#BODPEF $BQBDJEBEFT
1SPWFEPS *BB4 TVQPSUBEBT 1BHBNFOUP QFMPBSNB[FOB
EBEPT IJCSJEBT
QBSB1BB4 NFOUP
.Net, Java, Relacional: SQL
Paga pelo que Paga pelo que
Windows Azure NÃO Ruby, Python e Server (SQL SIM
usar usar
PHP Azure)
Amazon Web Paga pelo que Paga pelo que Relacional: SIM (ferramen-
SIM Nenhuma
Services usar usar MySQL tas de terceiros)
Paga pelo que Paga pelo que
usar para IaaS usar para IaaS Relacional:
Rackspace SIM LAMP, .Net NÃO
e mensal para e mensal para FathomDB
PaaS PaaS
Incluído no
Java, Ruby, Mensal para
Joyent SIM pagamento do NÃO SIM
Python e PHP IaaS
IaaS
Não relacional:
BigTable
Paga pelo que Paga pelo que
Google SIM Python e Java NÃO
usar usar Relacional:
MySql (beta)
9
: : www.mundoj.com.br : :
Prós e contras
Esta seção não tem como objetivo fazer o leitor
refletir se deve ou não usar computação em
nuvem e sim quando e onde usar, pois mesmo
já sendo uma realidade consolidada, nem toda
solução pode ser implementada usando-se
recursos em nuvem.
10
Opções de programação para a Nuvem que pode ser vista na figura 4. É possível, por exemplo, fazer com
que um usuário se autentique no seu sistema usando sua conta
Conforme citado em outras seções deste artigo, alguns serviços da Google. A ideia da Google é que você não precisa “reinventar
em nuvem podem ser acessados via APIs. a roda”, fornecendo várias APIs par usar a nuvem da Google em
seus sistemas. Quer disponibilizar vídeos em seu site? Use a You-
Das gigantes de TI, a Google é a que oferece maior leque de APIs tube API. Quer implementar uma “busca” no seu site? Use a API
para acessos a seus vários serviços. Recentemente ela divulgou de buscas da Google.
uma tabela de APIs perecida com a tabela periódica dos elementos
Referências
Para Saber Mais t i$MPVE$PNQVUJOH1SFQBSFTFQBSBBOPWBPOEBFNUFDOPMPHJBw%JTQP
i$MPVE
OÓWFM FN IUUQDPNQVUFSXPSMEVPMDPNCSHFTUBPDMPVE
A coluna “Tendências em foco” já apresentou ótimos tex- DPNQVUJOHQSFQBSFTFQBSBBOPWBPOEBFNUFDOPMPHJB
tos sobre Computação em Nuvem: “Cloud Computing e t i'VOEBNFOUPTEF$PNQVUBÎÍP/VWFNQBSB(PWFSOPTw"ESJBOP.BSUJOT
4FSWJÎP'FEFSBMEF1SPDFTTBNFOUPEF%BEPT 4&3130
os Desenvolvedores” (MundoJ, edição 42) e “SaaS começa t i$PNQVUBÎÍPFN/VWFN$PODFJUPT
5FDOPMPHJBT
"QMJDBÎÜFTF%FTBmPTw
a dar as cartas” (edição 44). 'MÈWJP3$4PVTB
-FPOBSEP0.PSFJSBF+BWBN$.BDIBEP6OJWFSTJEB
EF'FEFSBMEP$FBSÈ 6'$
1VCMJDBEPOP&3$&."1*
E edição 43 trouxe o artigo “Java no Google App Engine” t i$MPVE$PNQVUJOH$PNQVUBÎÍP&N/VWFN5SBOTGPSNBOEP0.VOEP
%B5FDOPMPHJBw$F[BS5BVSJPO&EJUPSB#SBTQPSU
ensinando a escrever aplicações Java para o serviço de t i$MPVE DPNQVUJOH 8FCCBTFE BQQMJDBUJPOT UIBU DIBOHF UIF XBZ ZPV
Cloud Computing da Google. XPSLBOEDPMMBCPSBUFPOMJOFw.JDIBFM.JMMFS&EJUPSB26&
t i$MPVE $PNQVUJOH " 1SBDUJDBM "QQSPBDIw 5PCZ 7FMUF
"OUIPOZ 7FMUF
5PCZ+7FMUFF3PCFSU$&MTFOQFUFS&EJUPSB.D(SBX)JMM
Considerações finais
Este artigo apresentou os conceitos fundamentais da “computa-
ção em nuvem”. Várias vezes foram citados nomes de empresas
consideradas gigantes da TI como protagonistas dessa tecnologia.
Aliado aos benefícios citados, espera-se que o leitor que ainda não
havia parado para o estudo desse assunto passe a se interessar
GUJ – Discussões sobre o tema do artigo e
com dedicação e frequência, para não se tornar um profissional
assuntos relacionados
obsoleto. Ignorar o estudo e acompanhamento do crescimento do
uso de Cloud Computing hoje seria como ter ignorado o uso da
Discuta este artigo com 100 mil outros
JOUFSOFUFNNFBEPTEPTBOPTt
desenvolvedores em www.guj.com.br/MundoJ
11