Professional Documents
Culture Documents
Guilherme Magalhes, Claudio Schepke, Nicolas Maillard Instituto de Informtica Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064 91.501.970 Porto Alegre RS Brasil
{ggmagalhaes,cschepke,nicolas}@inf.ufrgs.br
Resumo. O conceito de computao por demanda remete dcada de 60, mas s com o desenvolvimento dos sistemas de computao em nuvem que essa ideia comeou a fazer parte da realidade de empresas e usurios comuns. Neste artigo so discutidas as caractersticas essenciais da computao em nuvem e apresentadas algumas das plataformas disponveis no mercado. De forma comparativa, estabelecida uma relao entre essas plataformas e feita uma anlise dos usos possveis baseando-se nos pontos positivos de cada uma.
1. Introduo
A computao por demanda uma rea que est muito relacionada ao alto desempenho devido sua caracterstica que garante a expanso da capacidade computacional conforme a necessidade. Nos anos 2000, com o desenvolvimento dos sistemas de computao em nuvem, a computao por demanda comea a ser desenvolvida na prtica. Quanto computao em nuvem, essa no se limita em aplicativos hospedados ou em recursos computacionais disponveis remotamente. Alm disso, ela inclui outros conceitos. Segundo o NIST National Institute of Standards and Technology a computao em nuvem pode ser dividida em trs segmentos [CSCC 2011]: a) IaaS Infrastucture as a Service que basicamente a abstrao do hardware. Consiste no servio de prover solues de hardware com grande escalabilidade, disponibilidade, redundncia e segurana. b) SaaS Software as a Service tambm conhecido como software sob demanda. Neste caso o software e todas suas dependncias so hospedados em um servidor remoto. O usurio usa uma aplicao desenvolvida pelo provedor do servio que est disponvel para uso por diversos clientes simultaneamente. c) PaaS Platform as a Service o provedor gera a plataforma necessria para o usurio hospedar aplicaes criadas por ele ou adquiridas de desenvolvedores que no esto relacionadas ao provedor. A principal finalidade deste artigo auxiliar na escolha da plataforma de computao em nuvem mais adequada para cada projeto. Para isso, este artigo busca fornecer caractersticas relevantes de cada plataforma como Sistemas Operacionais compatveis, linguagens de programao suportadas e outras.
* Trabalho apoiado pelo projeto CTIC JiT Cloud, fomentado pela RNP.
As diferenas observadas na Tabela 1 mostram o porqu de cada vez mais empresas investirem em contratao de servios de computao por demanda em detrimento da criao de data centers particulares. Um data center de grande porte de uma empresa provedora de computao em nuvem consome menos capital com manuteno e administrao dos sistemas do que um data center particular.
Sistemas Operacionais Linux e Windows Compatveis Server 2003 e 2008 Linguagens de programao suportadas Tempo garantido de disponibilidade
Java, PHP, Python e Java, Ruby, PHP e Ruby .NET 99.95% 99.90%
Java
99.90%
99.99%
Com a anlise das linguagens de programao suportadas por cada plataforma de computao em nuvem, nota-se que Java est presente em todas as plataformas. Isso, provavelmente, ocorre pela sua portabilidade intrnseca, que o fator que possibilita que um programa escrito uma nica vez possa ser executado em diferentes plataformas sem adaptao de cdio ou reescrita. Outro fator que chama a ateno a adoo da linguagem de programao Go, pelo Google App Engine, e da linguagem Python pelo AWS e Google App Engine, que so linguagens que possibilitam a programao concorrente ou paralela. Ainda sobre as linguagens de programao suportadas, o Windows Azure e o Amazon AWS tm como diferencial o suporte ao PHP, o que possibilita seu uso na interao com bancos de dados em servidores hospedados em nuvem. Tendo em vista a disponibilidade, que uma das caractersticas essenciais anteriormente citadas, interessante notar que a maior disponibilidade garantida proporcionada por um provedor de cdigo aberto e que no cobra pelos servios prestados. Por essa razo, uma aplicao em nuvem com alta criticidade, que necessita de maior disponibilidade pode ser beneficiada por essa caracterstica do Eucalyptus. J os demais tm disponibilidade suficiente para uso em sistemas domsticos ou de empresas, que no dependem integralmente do servio de computao em nuvem.
5. Concluso
A computao em nuvem um campo muito amplo, ainda pouco explorado e com possibilidade de crescimento. Em um futuro prximo muitas aplicaes que ainda so executadas localmente sero movidas para a nuvem. medida que o tempo passar, o servio de computao em nuvem se popularizar, ganhando a confiana de novos usurios. Com isso, a programao de alto desempenho ter mais um desafio, que elevar a capacidade de processamento de aplicaes em servidores remotos. Para isso, o uso de benchmarks e demais ferramentas de anlise de desempenho sero importantes para qualificar linguagens e programas paralelos.
6. Referncias
Wischik, D., Handley, M. and Bagnulo Braun, M. The Resource Pooling Principle. ACM SIGCOMM Computer Communication Review. Volume 38. Outubro 2008. Cloud Standard Customer Council. Pratical guide to Cloud Computing. Verso 1.0; 2011. Garfinkel, S. L. The cloud imperative; 2011 [acesso em 2011 Nov 29] Disponvel em: http://www.technologyreview.com/business/38710/?pw7=T&raq=t Armbrust, M., et al. Above the clouds: A Berkeley view of cloud computing. Technical Report UCB/EECS-2009-28, EECS Department, U.C. Berkeley, Fevereiro 2009.