Sie sind auf Seite 1von 11

Grid Computing e Cloud Computing Uma Relao de Diferenas, Semelhanas, Aplicabilidade e Possibilidades de Cooperao entre os dois Paradigmas

Abstract. Cloud Computing has becoming a buzzword e has been on top of discussions involving CIOs around the world by promising to be a new paradigm that will change the way we build and use software. As a new term, Cloud Computing is still confuse and this can be assigned to its similarity to older paradigms that has already been established, like Grid Computing. This paper presents the similarities and differences over Grid and Cloud Computing and concludes by pointing the applications that most fill into each paradigm and listing some points where the both paradigms can cooperate to improve their capacities. Resumo. O termo Cloud Computing vem sendo divulgado cada vez mais e vem chamando ateno dos profissionais de TI com a promessa de ser um novo paradigma que ir mudar a forma como os softwares so construdos e comercializados. Por ser novo, o termo Cloud Computing ainda causa muita confuso, principalmente devido a sua semelhana com outros paradigmas mais antigos e j estabelecidos, como Grid Computing. Este artigo apresenta um comparativo entre Grid Computing e Cloud Computing, evidenciando suas semelhanas e diferenas e conclui apontando as aplicaes mais propcias para cada um dos paradigmas e indicando pontos onde os dois paradigmas podem se beneficiar mutuamente atravs da explorao dos seus pontos fortes.

1. Viso Geral
O surgimento de novos termos, conceitos e tecnologias uma constante na rea de cincia da computao. Eventualmente estas novidades resultam em um novo paradigma que modifica a forma com a qual estamos habituados a pensar. Em situaes como esta grande a busca por informaes que esclaream os conceitos e tecnologias que impulsionam o novo paradigma. Em um primeiro momento, por haver pouca informao disponvel, as pesquisas da comunidade cientfica esto focadas em produzir material terico que estabelea os conceitos sobre as tecnologias relacionadas. O termo Cloud Computing se encontra nesta situao. um novo paradigma que poder mudar a forma como pensamos a computao. O termo vem sendo cada vez mais utilizado e a procura por informaes sobre ele vem crescendo nos ltimos anos, como pode ser visto na Figura 1.

Figura 1: Comparao de pesquisas sobre Grid Computing e Cloud Computing no Google Trends

O termo Cloud Computing j foi definido por vrios autores. Apesar disso e tambm por causa disso ainda h confuso entre esse termo e outras tecnologias disponveis atualmente. Uma das confuses que se faz envolve os termos Cloud Computing e Grid Computing. Este artigo aborda as diferenas e semelhanas entre esses dois termos, direcionando sua pesquisa para identificar pontos de convergncia entre os dois paradigmas. A seo 2) apresenta uma definio de Cloud Computing e Grid Computing, alm de relacionar, de forma resumida, outros conceitos relativos a computao de alto desempenho, como multicore, multiprocessor e cluster, finalizando com uma

explicao de como esses conceitos podem ser utilizados em conjunto dentro de uma arquitetura. A seo 3) explora as semelhanas e diferenas entre Cloud Computing e Grid Computing e a seo 4) conclui sobre os tipos de aplicaes que so mais indicados para utilizao em cada um dos paradigmas, bem como indica resumidamente alguns pontos onde uma tecnologia pode se beneficiar da outra.

2. Conceitos Relacionados
2.1. Conceitos Bsicos Relacionados a Computao de Alto Desempenho Multicore: um ambiente de processamento que possui dois ou mais ncleos independentes. A implementao de sistemas multicore feita em nvel de hardware, atravs de circuitos integrados. Multiprocessor: semelhante ao multicore e sua implementao tambm se d em nvel de hardware. Entretanto, prev a utilizao de vrios processadores, que podem ou no possuir vrios ncleos. Cluster: um sistema com dois ou mais computadores conectados e trabalhando em conjunto. Diferentemente de sistemas multicore e multiprocessor, que propiciam a integrao em nvel de processador, prev a conexo entre diferentes computadores que iro trabalhar em conjunto. Outra diferena dos sistemas em Cluster que sua implementao normalmente feita atravs de software, e no diretamente no hardware. 2.2. Grid Computing No prefcio da segunda edio de seu livro The Grid Blueprint for a New Computing Infrasructure [14], Foster e Kesselman definem Grid como: Uma infra-estrutura emergente que ir mudar fundamentalmente a forma como pensamos e utilizamos os computadores. A palavra Grid utilizada como uma analogia as grades de energia, que provem acesso pervasivo a eletricidade e, da mesma forma que o computador e outros pequenos avanos, proporcionaro um dramtico impacto nas capacidades humanas e na sociedade. Foster segue sua argumentao afirmando que: Muitos acreditam que, por permitir que todos os componentes de nossa infra-estrutura de tecnologia da informao capacidades computacionais, bancos de dados, sensores e pessoas sejam compartilhados de uma forma flexvel atravs de ferramentas colaborativas, Grid ter um efeito de transformao similar, permitindo o surgimento de novas classes de aplicao.

O impacto previsto por Foster com o surgimento dos Grids no se concretizou comercialmente [2]. Por outro lado, a tecnologia desenvolvida para os Grids evoluiu e vem sendo utilizada nos meios acadmicos atravs de diversas iniciativas, como o caso do Globus [15], MyGrid [16], OurGrid [17] entre outros. O foco destas iniciativas oferecer grandes capacidades de processamento e de armazenamento, utilizando tcnicas de processamento paralelo, de forma a facilitar a realizao de pesquisas cientficas por pessoas que no tem acesso a esse tipo de recurso. 2.3. Cloud Computing Muito tem sido escrito e falado sobre Cloud Computing e ainda existem muitas contradies relacionadas a utilizao desse termo, o que faz com que pessoas com cargos importantes no meio da computao tenham se pronunciado com uma certa frustrao a respeito destas divergncias [1]. Entretanto, apesar destas divergncias e da inexistncia de um consenso sobre o que realmente Cloud Computing, a definio de Foster [2] para o termo bastante abrangente e pode ser tomada como referncia: Cloud Computing um paradigma de computao em larga escala que possui foco em proporcionar economia de escala, em que um conjunto abstrato, virtualizado, dinamicamente escalvel de poder de processamento, armazenamento, plataformas e servios so disponibilizados sob demanda para clientes externos atravs da Internet. O interessante desta definio que ela abrange todos os tipos de servio oferecidos por uma Cloud, os quais tambm podem ser obtidos atravs de um Grid. Tomando como base a definio de Foster para os dois paradigmas, pode-se observar que a diferena entre ambos est no foco em gerar economia de escala e oferecer servios para clientes externos, o que pode ser percebido com fora nos ambientes Cloud, mas no to visvel nos ambientes em Grid, que possuem foco na colaborao e compartilhamento de recursos, inclusive em ambientes heterogneos. Devido a gama de servios oferecidos no modelo Cloud Computing, vrias classificaes vem sendo propostas para diferenci-los. Uma destas classificaes, que demonstra de forma clara os tipos de servio oferecidos atualmente, foi publicada pelo laboratrio da HP e identifica quatro tipos bsicos [3]: IaaS (Infrastructure as a Service): disponibilizao de recursos de hardware, como espao em disco e capacidade de processamento. Um exemplo o Amazon S3;

DaaS (Database as a Service): um tipo especializado de armazenamento que envolve servios de Banco de Dados. Exemplos: Amazon SimpleDB, Google Big Table, Microsoft SSDS; PaaS (Platform as a Service): prov servios para facilitar o desenvolvimento e distribuio de aplicaes. Exemplos: Google AppEngine, Microsoft Azure Services platform, Salesforce.com Internet Application Development platform e Bungee Connect platform; SaaS (Software as a Service): prov aplicaes inteiras que, ao invs de serem utilizadas por um mecanismo de aquisio de licenas e download de software, so acessadas diretamente atravs da Internet. Exemplos: aplicao de CRM da Salesforce.com e da Microsoft, aplicaes de escritrio (processadores de texto e planilhas) do Google.

2.4. Relao entre Cloud Computing, Grid Computing, Cluster, Multiprocessor e Multicore A relao de Cloud Computing com os demais conceitos apresentados aqui pode ser vista sob dois ngulos: Ela se utiliza destas arquiteturas para prover servios de alto desempenho; Ela pode ser um meio para ter acesso a esses tipos de arquiteturas de forma mais transparente.

A figura 2 mostra uma arquitetura hipottica que exemplifica esse relacionamento.

Figura 2: Arquitetura hipottica utilizando Cloud, Grid, Cluster, Multiprocessor e Multicore

3. Semelhanas e Diferenas
3.1. Semelhanas Origem: A viso original sobre a utilizao dos ambientes em Grid de que eles iriam disseminar o acesso a servios de uma forma exponencial, potencializando o uso de aplicaes que variam desde o ensino e treinamento at a experincia de realizar compras atravs da Internet [14]. Isto seria viabilizado pelo compartilhamento e colaborao entre os diversos recursos disponveis em vrias instituies. A viso de Cloud Computing bastante semelhante, e prev a disponibilizao de aplicaes sob a forma de servios que estaro disponveis na Internet e podero ser consumidos por todos de forma semelhante ao que se faz hoje com itens como gua e energia eltrica [1] [2]. Ou seja, a viso original dos dois paradigmas a mesma, embora na prtica o ambiente em Grid tenha se desenvolvido com o foco em suprir as necessidades da comunidade cientfica. Talvez isto tenha ocorrido pelo fato de, durante o desenvolvimento da computao em Grid o contexto tecnolgico no apresentar as mesmas condies de hoje, que fruto de dez anos de evoluo tecnolgica [2]. Assim, acreditamos que Cloud Computing a retomada de uma das idias originais da Grid Computing dentro de um contexto tecnolgico diferente, onde a velocidade e abrangncia das redes de comunicao vem aumentando consideravelmente. Alm disso, deve-se considerar que grandes empresas como Google e Amazon fizeram altos investimentos na aquisio e construo de uma enorme infra-estrutura de recursos computacionais para prover os seus prprios servios. Estas empresas desenvolveram competncias e tecnologias que proporcionam alto desempenho e escalabilidade, o que as torna capazes oferecer o acesso a esses recursos, com garantias de disponibilidade, mediante o pagamento de uma taxa de utilizao. Arquitetura: apesar de, tanto Grid Computing quanto Cloud Computing no possurem uma arquitetura de referncia [1], possvel identificar uma arquitetura padro que cada paradigma utiliza para sua implementao. Estas arquiteturas, apesar de apresentarem algumas diferenas, possuem essencialmente a mesma estrutura. Uma camada de recursos, onde disponibilizado o acesso a recursos de hardware. Uma camada de conectividade, onde so disponibilizadas as interfaces de comunicao para acessar os recursos. Uma camada de aplicao, onde so publicadas interfaces para acessar os recursos mais especializados. Ian Foster apresenta uma representao para as duas arquiteturas [1]. A figura 2 reproduz esta representao adicionando as semelhanas entre ambas.

Figura 3: Semelhanas entre as Arquiteturas identificadas por Foster para Grid e Cloud Computing

3.2. Diferenas Modelo de Negcio: O modelo de negcio de Cloud Computing est voltado para cobrar uma taxa de acordo com a utilizao dos servios. Isto feito atravs de um SLA entre o cliente do servio e o seu provedor. Neste modelo, a negociao feita em termos de escala atravs de um SLA, que pode estar baseado, por exemplo, em MB de dados armazenados, MB de dados transmitidos, disponibilidade do servio, etc. semelhante ao que fazemos hoje para comprar energia eltrica e gua. Assim, para um cliente acessar um servio qualquer, tudo que ele precisa acordar os termos de um SLA, no precisando se preocupar com quais sero os recursos de hardware que sero utilizados para isso [2][4]. Por outro lado, o modelo de Grid Computing prev que o cliente saiba antecipadamente quais recursos deseja utilizar [2], de forma a requisitar a sua utilizao para o Grid. Na prtica o modelo em Grid mais difundido foi a operao atravs de uma forma cooperativa, onde uma instituio que possui recursos disponveis se associa a uma outra e, juntas, elas formam um Grid que combina a capacidade de processamento e armazenamento de ambas. Acreditamos que isto tenha ocorrido devido ao contexto tecnolgico da poca, que limitou a utilizao do modelo de Grid Computing a instituies cientficas. Embora no seja possvel afirmar com certeza, em nossa opinio, esta diferena entre os modelos de negcio de Grid Computing e Cloud Computing quem est por trs de todas as outras diferenas encontradas entre os dois paradigmas.

Modelo de Computao e Compartilhamento de Recursos: a maioria dos Grids disponveis utiliza o modelo de programao em batch, onde uma aplicao cliente solicita a um Grid que um determinado conjunto de jobs seja realizado durante um determinado perodo dentro de uma quantidade de recursos especfica [2]. Assim, o provedor do Grid prov a seus usurios um certo controle sobre os recursos que ele est disponibilizando. Eventualmente, caso o Grid no possua recursos suficientes a disposio do usurio, sua aplicao ficar em uma fila aguardando para ser atendida [2]. Esta uma situao normal em Grid Computing e tratada atravs de algoritmos de escalonamento pela prpria aplicao cliente atravs de interfaces disponibilizadas pelo provedor do Grid. J em Cloud Computing a situao bastante diferente. A utilizao de uma Cloud parte do pressuposto que os recursos necessrios sempre estaro disponveis [2], e obrigao do fornecedor do servio garantir a sua disponibilidade dentro dos limites do SLA que foi acordado entre as partes [4]. Assim, o usurio do servio no tem um acesso aos recursos propriamente ditos1, mas apenas disponibilidade e capacidade de processamento e armazenamento que eles proporcionam. Assim, diferentemente das aplicaes em Grid, as aplicaes desenvolvidas para serem clientes de uma Cloud no se preocupam em gerenciar, monitorar ou escalonar a utilizao dos recursos. H vantagens e desvantagens nesta abordagem, e uma das desvantagens que os servios de infra-estrutura providos por uma Cloud tendem a no atender todas as necessidades das aplicaes cientficas. Como exemplo, temos a implementao do servio Amazon S3 [8], que prov acesso a recursos de infraestrutura. A implementao disponvel atualmente, apesar de atender com sucesso a determinados tipos de servio [7], no preenche todos os requisitos necessrios para executar aplicaes de cunho cientfico [9]. Nvel de Abstrao e Facilidade de Uso: uma das grandes diferenas entre as implementaes de Grid e Cloud a simplicidade das interfaces atravs das quais os servios em Cloud so providos [7]. Existem implementaes de Grid e de Cloud que se propem a fornecer os mesmos tipos de servio. O servio Amazon S3 [8] prov acesso a espao de armazenamento a uma taxa baseada em GB/ms. O Cern Data Grid [10][11] uma implementao em Grid que tambm prov servio de armazenamento de dados. A semntica dos servios oferecidos pelo S3 bem menor e menos complexa, se comparada com as interfaces disponibilizadas pelo Cern Data Grid [7]. Embora os servios oferecidos pelo S3 ainda no sejam suficientes
Clouds podem prover servios especficos de infra-estrutura, que podem ser chamados de IaaS (Infrastructure as a Service) [5], Haas (Hardware as a Service) [3] ou ainda DaaS (Database as a Service), o que obviamente requere maior controle sobre os recursos. Entretanto, para aplicaes mais especficas esse tipo de controle em geral no fornecido.
1

para suportar aplicaes cientficas [08], ele apresentam funcionalidades suficientes para a maioria dos usurios que desejam contratar espao de armazenamento remoto [7]. O mesmo tipo de facilidade encontrado em outras implementaes de Cloud, como as oferecidas pela Google [12] e pela Microsoft [13]. Em nossa opinio, essas facilidades providas pelo maior nvel de abstrao utilizado nas Clouds tem origem em seu modelo de negcio, que baseado em oferecer aos clientes uma ideia de que os recursos disponveis so ilimitados e que cada cliente ir pagar por estes recursos de forma proporcional ao que utilizar. Para que esse modelo seja vivel financeiramente necessrio um grande volume de clientes, o que seria complicado de atingir caso as interfaces utilizadas para acessar a Cloud fossem complexas. Segurana: a forma como Grids e Clouds tratam a questo de segurana bastante diferente. O controle de segurana em uma Cloud muito mais simples do que o implementado por um Grid [2][7]. Em Grid so utilizados protocolos GSI (Grid Securiy Infrastructure) para autenticao, autorizao e proteo de comunicaes, enquanto que as implementaes em Cloud utilizam, em geral, um formulrio web para cadastro e concluem o processo de identificao atravs do envio de uma senha por email, sem preocupao com segurana ou criptografia [2]. Assim, o nvel de confiana de um usurio que tem acesso a um Grid muito maior em comparao com o acesso a uma Cloud. Esta diferena de tratamento esperada, visto que o nvel de controle que usurios de um Grid exercem sobre os recursos que esto disponveis muito maior do que em uma Cloud. Assim, apesar de menos sofisticado, no se pode afirmar que o controle de segurana disponibilizado por uma Cloud inadequado, j que o nvel de segurana implementado est relacionado a uma exigncia menor de segurana.

4. Concluso
Como um termo bastante novo, ainda h diferentes definies sobre o que Cloud Computing. Entretanto, as ltimas publicaes vem apontando para uma definio mais clara desse termo, o que torna possvel fazer comparaes. Este artigo apresentou um resumo das principais diferenas entre Cloud Computing e Grid Computing e se prope, com isso, a servir de base para que outras pessoas possam desenvolver pesquisas e chegar a concluses objetivas sobre a utilizao de ambos. Com base nas pesquisas realizadas e nas comparaes apresentadas neste artigo, possvel identificar os tipos de aplicaes que so mais propensas a serem disponibilizadas em um Grid e quais so mais propensas a operar em uma Cloud. Aplicaes cientficas que envolvem processamento macio de dados so melhor executadas em ambientes Grid. Por outro lado, pequenas aplicaes voltadas a atingir um grande nmero de usurios tero maior respaldo em um ambiente Cloud.

Apesar de, em uma anlise superficial, Cloud e Grid parecerem paradigmas concorrentes, na verdade eles tem muito a contribuir um com o outro. O mecanismo de segurana disponvel nos Grids pode servir de base para implementaes futuras em Cloud, caso a exigncia de segurana aumente. Por outro lado, a simplicidade com que os ambientes Cloud tratam o acesso aos seus servios pode ser utilizada como exemplo para aumentar a transparncia e facilidade de uso dos ambientes em Grid. A prpria utilizao de ambientes Cloud para aumentar o nvel de abstrao das interfaces utilizadas para prover servios em Grid j vem sendo discutida na comunidade cientfica [7]. A arquitetura hipottica ilustrada pela figura 2 pode ser utilizada para tanto para simplificar o acesso a um Grid como para utilizar Grids como forma de aumentar o desempenho de uma Cloud. possvel que o contexto tecnolgico atual tenha sido determinante para as diferenas existentes entre os modelos de negcio de Grid e Cloud. Da mesma forma, possvel que as diferenas entre esses dois modelos de negcio tenham dado origem s diferenas tecnolgicas e de implementao que os dois paradigmas apresentam. Por outro lado, apesar de possurem focos diferentes Grid com enfoque na comunidade cientfica e colaborao para pesquisas, enquanto Cloud apresenta um enfoque comercial patrocinado por grandes empresas como GoogleAmazon e Microsoft o fato de os dois paradigmas apresentarem pontos fortes e fracos que se complementam indica que no s a comunidade cientfica ir contribuir para a melhoria dos servios destas empresas, como tambm ser beneficiada pela evoluo da pesquisa feita por estas mesmas empresas.

6. Referncias
[1] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica, Matei Zaharia. Above the Clouds: A Berkeley View of Cloud Computing - Electrical Engineering and Computer SciencesUniversity of California at Berkeley 23 de fevereiro de 2009. [2] Foster I., Yong Zhao, Raicu I, Lu S. Cloud Computing and Grid Computing 360Degree Compared Department of Computer Science, University of Chigado 16 de dezembro de 2008. [3] Lizhe WANG, Gregor VON LASZEWSKI. Cloud Computing: a Perspective Study - Service Oriented Cyberinfrastruture Lab, Rochester Inst. of Tech Dezembro de 2008 [4] Rajkumar Buyya, Chee Shin Yeo, and Srikumar Venugopal. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing

Utilities Grid Computing and Distributed Systems (GRIDS) Laboratory Department of Computer Science and Software Engineering The University of Melbourne, Australia 2008 [5] Hamid R Motahari-Nezhad, Bryan Stephenson, Sharad Singhal. Outsourcing Business to Cloud Computing Services: Opportunities and Challenges - HP Laboratories 2009 [6] Aaron Weiss Compute in the Clouds Dezembro de 2007 [7] Shantenu Jha, Andre Merzky, Geoffrey Fox Using Clouds to Provide Grids Higher-Levels of Abstraction and Explicit Support for Usage Modes - Center for Computation and Technology, Louisiana State University 2009 [8] http://aws.amazon.com/s3/ [9] Simson Garfinkel , Mayur Palankar, Adriana Iamnitchi, Matei Ripeanu Amazon S3 for Science Grids: a Viable Solution? Center for Research on Computation and Society Harvard University 2008 [10] http://eu-datagrid.web.cern.ch/eu-datagrid/ [11] Ben Segal. Grid Computing: Switzerland 2000 The European Data Grid Project Cern,

[12] http://code.google.com/intl/pt-BR/appengine/ [13] http://www.microsoft.com/azure/default.mspx [14] I. Foster and C. Kesselman. The Grid Blueprint for a New Computing 2004 [15] http://www.globus.org/ [16] http://www.mygrid.org.uk/ [17] http://www.ourgrid.org/

Das könnte Ihnen auch gefallen