General
Pesquisador fala sobre os desafios da computação em nuvem
A Computação em Nuvem (Cloud Computing) se destaca como uma importante tendência emergente para os próximos cinco anos, segundo relatório do Gartner Group. O novo modelo é o foco central do III Congresso Internacional Software Livre e Governo Eletrônico - Consegi 2010, que acontece de 18 a 20 de agosto, na Escola de Administração Fazendária (Esaf), em Brasília. O evento reunirá especialistas para debater o conceito e a importância dessa tecnologia.
Saiba porque a computação em nuvem é, na opinião de Geraldo Bonorino Xexéo, uma tecnologia do futuro e, ao mesmo tempo, um modismo. Leia a entrevista com o pesquisador e fique por dentro dessa novidade, descubra como a academia enxerga o tema e quais os desafios para a consolidação do modelo.
O que é Computação em Nuvem? Como o leigo entende esse conjunto de tecnologias?
Cloud Computing é o uso ou fornecimento de recursos computacionais, na forma de serviços disponíveis na Internet, sob demanda. Uma característica importante da Computação em Nuvem é que não estamos preocupados com “objetos”, como máquinas específicas, mas sim com “serviços”, como um desempenho esperado.
Estamos “virtualizando” todos os conceitos, desde o computador e o espaço em disco, até a aplicação que usamos. Ou seja, a empresa ou pessoa precisa de uma máquina, de espaço em disco, de aplicativos ou serviços, e pode usar isso na Internet, da mesma forma como usa a energia em sua casa ou a rede telefônica, sem se preocupar como estes recursos são disponibilizados. Em vez de comprar, aluga. Na outra ponta, uma empresa também pode vender, entregar, instalar, preparando o serviço no seu ambiente e os seus usuários alugam.
O termo foi inventado há pouco tempo, mas o que temos na verdade é uma evolução e convergência de várias tecnologias e propostas, como, por exemplo, clusters, grids, virtualização, o conceito de aplicações e infraestrutura como serviço e computação utilitária, essa última praticamente um sinônimo.
As tecnologias avançaram muito nos últimos tempos, principalmente por causa da disponibilidade de centros de dados com grande número de máquinas, mas com demanda variável. Assim, empresas como a Amazon e a Google não só tiveram que desenvolver mais essas tecnologias internamente, mas também puderam disponibilizar esses serviços para outras empresas ou pessoas. Mesmo serviços como o GMail já podem ser considerados “computação em nuvem”, pois, ao usar, não sabemos onde ele está realmente sendo executado. Isso é considerado um paradigma novo. Na sequência, grande-porte, computadores pessoais, computadores em rede e, agora, computadores em nuvem.
É interessante notar que o termo "nuvem" vem do fato que, quando desenhamos sistemas que se comunicam com a Internet, costumamos representá-la como uma nuvem. Na prática, queremos dizer que não temos controle sobre a real arquitetura, localização ou até mesmo comportamento do que vem de lá. O que temos são protocolos e acordos que nos permitem criar e utilizar sistemas, dentro de certos parâmetros e restrições.
Como a academia enxerga a Computação em Nuvem?
Por um lado, há certa preocupação quanto à "propaganda" associada ao termo. Por outro, estamos bastante animados com as possibilidades, pois a necessidade de prover serviços ininterruptamente, porém por meio de diferentes configurações, ou o inverso, a necessidade de usar esses serviços que não podemos realmente localizar e definir, apresentam desafios interessantíssimos.
Um desses desafios é a virtualização, isso é, como fazer vários tipos de equipamentos se comportarem de certa forma padronizada e permitir que processos migrem de uma máquina virtual para outra, de maneira a otimizar o uso global dos equipamentos. Outra questão importante é a de manter uma base de dados distribuída entre várias máquinas de forma consistente.
Os desafios são muitos e permeiam toda a pesquisa em computação, desde as áreas super aplicadas, como redes de computadores e bancos de dados, como áreas teóricas. Existem até mesmo problemas políticos, sociais e jurídicos, como o fato de dados pertencentes a uma empresa brasileira estarem em servidores estrangeiros. Isso faz com que a Computação em Nuvem tenha chegado a capa das revistas mais importantes de computação e esteja atraindo pesquisadores de várias áreas.
Quais os ganhos e os benefícios que as empresas têm ao aderirem à computação em nuvem?
Existe, primeiro, uma mudança de paradigma importante. A empresa deve parar de pensar nas máquinas que tem e passar a pensar no serviço que precisa prestar. Isso já é uma mudança cultural que trará impactos na qualidade do serviço prestado.
Depois temos que pensar em duas grandes classes de benefícios: os benefícios econômicos, onde a Computação em Nuvem pode trazer ganhos que podem ser contabilizados diretamente, e os benefícios para o negócio, onde os ganhos podem tanto ser diretos quanto indiretos.
Vamos ver alguns exemplos, baseados nas estratégias que empresas usaram ou poderiam usar na Computação em Nuvem.
As empresas podem usar a nuvem disponível para o público. A DropBox, por exemplo, usa o mecanismo de nuvem EC2, da Amazon, para implementar suas funcionalidades. Isso permite que empresas e serviços sejam criados com baixo investimento inicial e alta possibilidade de escalar em tamanho. Além disso, ao usar uma infraestrutura pré-existente, alcança um tempo muito menor para colocar um produto no mercado.
Outra forma de aderir é colocar seus computadores em nuvem, evoluindo a partir do conceito de virtualização. Dessa forma, a empresa troca "máquinas reais" por "máquinas virtuais" e pode economizar, inclusive na conta de energia. É possível, por exemplo, controlar melhor o uso dos recursos, migrando processos e desligando máquinas com baixa utilização.
Uma terceira maneira de aderir é colocar os seus computadores disponíveis para outras empresas ou pessoas usarem, como faz a Amazon. Isso seria razoável pensar para grandes empresas que fornecem conteúdo ou serviços que têm características de consumo que exigem um grande número de máquinas em um momento e um baixo número em outro.
Um exemplo interessante: no Brasil é costume que as empresas comprem computadores específicos para cada sistema, ou que calculem a quantidade de servidores que precisam pela soma da carga máxima de suas aplicações. Com a Computação em Nuvem as empresas podem ter um número menor de máquinas e, utilizando o fato que as aplicações têm perfis de uso diferentes, possuir um número bem menor de servidores. Empresas como a Dataprev e o Serpro, por exemplo, podem se aliar e montar um Centro de Computação em Nuvem. De acordo com a demanda, as máquinas vão sendo configuradas e colocadas em produção, ou desligadas.
Esse Centro poderia, se necessário, "solicitar" máquinas de outras empresas ou, caso tivesse máquinas sobrando, vender o tempo de suas máquinas. Ou seja, o principal benefício é econômico. Não só economizar em máquinas, mas economizar em infraestrutura e ter uma capacidade de instalar ou escalar o tamanho de um sistema rapidamente, com o uso de servidores próprios ou alugados da nuvem.
Em termos de agilidade, eficiência e resistência, o que pode ser destacado?
Um destaque é que, usando a nuvem, não dependemos de toda uma instalação de hardware para começar uma nova aplicação ou serviço. Simplesmente podemos usar uma nuvem já existente, seja ela nossa ou de outra empresa. Para o negócio, a agilidade da Computação em Nuvem é realmente um diferencial. No Google, por exemplo, os desenvolvedores podem testar seus projetos com milhares de máquinas que estejam fora de uso naquele instante.
Quanto à eficiência, claramente há a possibilidade de melhor utilização de recursos. A Amazon, por exemplo, vende recursos computacionais que estão em excesso a preços bem baratos, em um mercado semelhante ao mercado spot de energia. Também é possível desligar e ligar máquinas de acordo com a demanda.
Quanto à resistência, os sistemas de Computação em Nuvem são normalmente desenvolvidos de forma a suportar falhas locais, por meio de processamento distribuído e possivelmente redundante (dependendo da importância do serviço).
Outra característica interessante é que máquinas podem ser colocadas e retiradas da nuvem de acordo com alguma política. Assim, todos os desktops de uma empresa que não estão sendo utilizados podem ser considerados parte da nuvem e utilizados para processamentos mais longos. Esse tipo de uso já é feito com software semelhante ao usado seti@home (sobre o sistema BOINC), um dos precursores da nuvem.
A computação em nuvem é um modismo ou é a tecnologia do futuro?
As duas coisas. É um modismo porque acabou de ser "inventada", tem um nome que "pega" e ainda promete muito mais do que podemos fazer. Mas certamente é uma tecnologia do futuro próximo, pois os ambientes estão disponíveis, já está implementada em várias empresas e fornece resultados imediatos.
Como será sua participação no Consegi 2010, que tem como tema principal a computação em nuvem?
Minha preocupação maior é com a questão dos dados em nuvem. Principalmente com dados que não precisam ser recuperados de forma exata, como funcionam os mecanismos de busca.
Além disso, estou muito interessado em como essa pesquisa pode ser feita de forma integrada entre as várias linhas de pesquisa, o que é essencial. Na Ciência, costumamos dividir o conhecimento e a pesquisa em áreas, mas certos assuntos exigem uma interação grande entre várias áreas. Na Computação em Nuvem temos que mudar a forma de desenvolver sistemas, temos que entender como esses sistemas funcionam e interagem, temos que ter novas formas de manipular dados e por aí vai. Só fazendo tudo funcionar junto iremos alcançar todas as promessas atuais.
Comunicação Social do Serpro - Brasília, 9 de julho de 2010