Pesquisa e Desenvolvimento

Nesta seção, alguns serviços atuais relacionados à computação em nuvem são descritos, divididos de acordo com o tipo de cenário. Além disso, outras notícias referentes à área também são apresentadas.

Infrastructure as a Service

O Eucalyptus [NURMI et al. 2009] é um exemplo de software livre que implementa um IaaS. Ele é um framework que utiliza uma infraestrutura computacional e de armazenamento com o objetivo de criar um ambiente modular aos prestadores de serviços. Sua arquitetura é dividida em três componentes de alto nível; cada um deles foi implementado como um serviço baseado na Internet. Portanto, eles possuem suas próprias interfaces isoladas. O objetivo dessa arquitetura é tornar o software o mais modular possível, facilitando, assim, o desenvolvimento e a manutenção.

O Gerenciador de Instâncias (do inglês Instance Manager) é o componente do Eucalyptus responsável por executar e inspecionar as instâncias das máquinas virtuais. O Gerenciador de Grupos (do inglês Group Manager), por sua vez, obtém informações sobre as execuções das máquinas virtuais através de um grupo de Gerenciadores de Instâncias e, através dessas informações, também programa as execuções. Finalmente, o Gerenciador da Nuvem (do inglês Cloud Manager) é o componente que realiza as decisões de mais alto nível e é o responsável pela conexão entre os usuários e a nuvem. Com essa arquitetura, os prestadores de serviços conseguem ter uma visão clara da infraestrutura e dos recursos [NURMI et al. 2009].

Outro software que implementa um IaaS é o CloudSim [BUYYA et al. 2009] [CALHEIROS et al. 2009]. Porém, diferentemente do Eucalyptus, o CloudSim é uma ferramenta de simulação; ou seja, ele permite a modelagem e a simulação da infraestrutura de uma nuvem para que os prestadores de serviços possam realizar testes em um ambiente no qual não há cobrança de taxas. Data centers e políticas de alocação de recursos, por exemplo, são simulados nesse ambiente. O grande benefício dessa ferramenta é a possibilidade de testar os serviços desenvolvidos sem que eles estejam atrelados a uma determinada nuvem. Além disso, como ocorre uma simulação, não há um modelo econômico que cobre pelo uso. Dessa forma, os testes podem ser realizados quantas vezes forem necessárias, sem que haja preocupação com custos monetários.

O Amazon Elastic Compute Cloud, ou Amazon EC2, fornece um IaaS em que há cobrança pelo uso, ao contrário das duas ferramentas apresentadas acima. Ele provê um ambiente virtual que permite o desenvolvimento e a execução de aplicações baseadas em Linux. Para isso, os prestadores de serviços devem criar sua própria máquina virtual, conhecida como Amazon Machine Image, ou AMI, que contém todas as aplicações, os dados e as bibliotecas necessárias. Alternativamente, os prestadores de serviços também podem usar AMIs que já estão prontas e disponíveis [BUYYA et al. 2008].

Há ainda outros IaaS que são pagos, como, por exemplo, o GoGrid, o Mosso e o Sun Grid, mas que não serão abordados neste trabalho.

Platform as a Service

A ferramenta mais conhecida de PaaS é o Google App Engine. Ela fornece uma plataforma que permite o desenvolvimento de aplicações, através da utilização da linguagem de programação Python, na infraestrutura da Google [BUYYA et al. 2008] [SUN 2009a]. O Google App Engine também suporta manipulação de imagens, serviços de correio eletrônico, APIs para o armazenamento dos dados, entre outros. Atualmente, a conta gratuita da ferramenta oferece um limite máximo de 500MB de armazenamento e de, aproximadamente, 5 milhões de acessos por mês. Caso sejam necessários mais recursos, a Google cobra pelo armazenamento e largura de banda adicionais.

Outras ferramentas conhecidas que implementam PaaS são o Bungee Connect, em que os prestadores de serviços só começam a pagar quando suas aplicações estão em uso, ou seja, a fases de desenvolvimento e de teste são gratuitas, e o Heroku, que, assim como o Google App Engine, também possui uma conta gratuita, mas que só permite um uso máximo de 5MB de armazenamento.

Software as a Service

O exemplo mais conhecido de SaaS é a Salesforce.com [CHAPPELL 2008]. Ela foi uma das pioneiras em fornecer softwares de negócio para empresas através da computação em nuvem. Os seus produtos de Gestão de Relacionamento com o Cliente, ou CRM (do inglês Customer Relationship Management), são os mais famosos e são distribuídos na forma de serviços para os clientes.

Outro exemplo conhecido é o Google Apps. O Google Apps é um conjunto de aplicações da Google que são fornecidas aos usuários na forma de SaaS. Entre essas aplicações, podemos encontrar um serviço de correio eletrônico (Gmail), um programa de mensagens instantâneas (Google Talk) e um editor de textos, planilhas e apresentações (Google Docs).

O Microsoft Azure também é um exemplo de SaaS. Anunciado em 2008 [MARKOFF 2008] e com lançamento previsto para 2010, ele será um sistema operacional da Microsoft a ser executado nas nuvens. Além de serviços para os usuários comuns, esse sistema operacional contará com ferramentas para os prestadores de serviços desenvolverem suas aplicações.

Outras Notícias

Em 2007, a IBM e a Google anunciaram uma parceria na pesquisa de computação em nuvem [LOHR 2007]. Essa pesquisa envolve, além das já citadas empresas, sete universidades dos EUA (Carnegie Mellon, Massachusetts Institute of Technology, Stanford University, The University of California, Berkeley, The University of Maryland e The University of Washington). O objetivo dessa iniciativa de pesquisa científica é ampliar o desenvolvimento de aplicações e serviços nas nuvens, além de permitir um maior envolvimento acadêmico na área. A parceira, em andamento até hoje, é benéfica tanto para as empresas como para as universidades. Recentemente, a IBM anunciou que construirá um data center na cidade chinesa de Dongying, o que ampliará as capacidades da empresa relacionadas à computação em nuvem [BABCOCK 2009].

O Brasil já possui um sistema de computação em nuvem totalmente nacional: o PCiO, um sistema da MIPC Informática, empresa brasileira fundada em 2005 [SOUZA FILHO 2009]. O principal problema que a empresa encontra em relação a esse sistema é a resistência dos usuários, principalmente devido a questões relacionadas à segurança. Além disso, o serviço de Internet do Brasil, ainda inferior se comparado com os serviços de outros países, impede que o sistema seja mais difundido.