"Cloud computing", que confusão!
Em primeiro lugar quero felicitar todos os leitores e desejar um excelente ano de 2009. Por mais tenebrosas e funestas que sejam as tendências, tendência não é futuro e ele há de ser maravilhoso para todos. Nesta época do ano costumo parar um pouco para “recarregar as baterias” e aproveito para colocar algumas leituras em dia. Ano passado nessa época eu reli a biografia de Johanes Kepler que me inspirou o texto Entre a desgraça e a genialidade , texto que adorei escrever. Nesta virada de ano, meio que por acaso, acabei lendo muita coisa sobre computação em nuvem (“cloud computing”). Isso despertou em mim uma visão crítica sobre o assunto.
[singlepic id=8423 w=320 h=240 float=]
Muito se tem falado e há informações ou conceitos um pouco desconexos. Muitas empresas estão usando o discurso de “cloud computing” e não estão necessariamente falando da mesma coisa. Vejamos alguns exemplos.
“Não há mágica, o que fazemos é alocar na nuvem apenas os recursos efetivamente usados pelo cliente. Esta é a diferença fundamental em relação a um servidor dedicado que continua consumindo energia e espaço mesmo quando ocioso. O cliente do serviço de nuvem pode alterar a configuração da máquina a qualquer momento pela web, não há perigo do servidor quebrar pois tudo roda numa nuvem que se autoconserta, o cliente é transferido para outro servidor sem perceber”-Gilberto Mautner presidente da LOCAWEB.
Esta é uma ótima solução que a LOCAWEB oferece para seus clientes. Mas se ler a frase mais uma vez e com mais atenção verá que a tecnologia descrita é a de VIRTUALIZAÇÃO de servidores. A empresa foi pioneira há muitos anos ao introduzir servidores dedicados virtuais para seus clientes. Um “maquinão” ou um bom “cluster” de servidores há anos já era usado de forma muito mais racional que os permitiu oferecer produtos de hospedagem dedicada de domínios em ambientes virtualizados. O VMware ESX, parrudo e tolerante a falhas, com o espertíssimo recurso de migração de máquinas virtuais dinamicamente, seja no caso de sobrecarga em um certo conjunto de servidores, seja no caso de uma pane física de uma das máquinas é o pilar mestre desta solução da LOCAWEB. Mas eu pergunto: então VIRTUALIZAÇÃO é CLOUD COMPUTING?? Pode ser?
“Na visão da IBM a computação em nuvem é TI oferecida como serviço, com hardware e software. Para isso acontecer é necessário um ambiente profundamente escalável e de alto desempenho. Ele permite aumentar a capacidade computacional sem nenhuma perturbação ao ambiente, ou seja, quando a carga de trabalho e dados aumenta basta conectar mais um servidor à infra-estrutura que ele passa a trabalhar na tarefa em execução” -Cezar Taurion gerente de novas tecnologias aplicadas da IBM Brasil.
A gigante IBM, desde que passou a se concentrar em serviços, vem apresentando soluções muito interessantes. Esta solução descrita é denominada “
Blue Cloud
“. Mas relendo as palavras citadas podemos perceber que a “big blue” chama de computação em nuvem a sua solução de “Grid Computing”. Só para homogeneizar os conceitos entre os leitores, um “Grid” é um sistema computacional no qual o processamento é altamente distribuído. Aqui mesmo no FORUMPCs já escrevi a respeito : Haverá um Grid em seu caminho? . Além disso, a belíssima iniciativa do “Folding@Home”, também com a participação de muitos usuários do ForumPCs é um bom exemplo.Não é exatamente um Grid, mas o conceito é o mesmo. Milhares (ou até milhões) de PCs são aproveitados para analisar um bloco de dados sobre proteínas humanas. Computação em Grid apareceu inicialmente no meio científico e acadêmico, mas seu uso foi expandido para outras áreas. A IBM foi uma das empresas que fez isso de forma competente. A “mágica” por trás do “Grid Computing” é tornar transparente às aplicações a infra-estrutura utilizada para o processamento e permitir o crescimento do poder computacional pela adição de mais e mais “máquinas pensantes”. De certa forma é como VIRTUALIZAÇÃO ÀS AVESSAS, pois torna dezenas, centenas ou milhares de CPUs em uma única CPU virtual gigante enquanto a virtualização clássica transforma uma única, grande e muito poderosa CPU em várias outras que compartilham toda esta capacidade. Mas de novo eu pergunto: então GRID é CLOUD COMPUTING?? Pode ser?
E o caso GOOGLE? O que eles chamam de cloud computing é poder utilizar diversos recursos de software, largamente baseados em open source, e disponíveis globalmente. Assim Google DOCs com seus recursos de criação e edição de textos, bem como as planilhas eletrônicas, também o acesso indiscriminado a caixa postal do GMAIL e disco virtual individual com alta capacidade, compõem uma solução global que permite o usuário criar seus documentos pessoais e de trabalho e para isso não há necessidade de um PC específico, apenas uma credencial Google e um PC com navegador de Internet como IE, Firefox, Chrome, Mozilla, Opera, etc. Por trás disso tudo há os aplicativos criados pela empresa Google hospedados em dezenas de datacenters estrategicamente espalhados pelo mundo. Mais uma vez eu pergunto: então aplicações gratuitas com dados disponíveis por navegador de internet é CLOUD COMPUTING?? Pode ser?
E a AMAZON? Gigante e pioneira em e-commerce precisou investir bastante em infra-estrutura. Mas ao longo do caminho percebeu que a ociosidade de seus datacenters poderia ser aproveitada como um produto muito valioso. Desde 2006 a AMAZON oferece para empresas os Amazon Web Services (AWS) que consistem em produtos para armazenamento como S3 (Simple Storage Services), Elastic Computing Cloud (EC2) e Simple Queue Service (SQS). Já são mais de 350 mil programadores afiliados ao processo de desenvolvimento de aplicativos de negócios usando a plataforma da AMAZON, que permite usar o recurso computacional disponível. O serviço de armazenamento também vem se tornando muito popular, pois oferece espaço ilimitado e custa alguns centavos de dólar por Gbyte armazenado e mais outros poucos centavos de dólar por Gbyte transferido.
Da MICROSOFT não se ouve muito falar em computação em nuvem, mas existe uma solução “no forno” que é conhecida como AZURE que faz o “provisionamento” de máquinas conforme a necessidade, ou seja, alocação dinâmica de recursos. Assim um sistema de e-commerce por exemplo, pode estar usando trinta computadores em suas rotinas e com facilidade alocar outras dez, vinte ou mais máquinas para reforçar o processamento. Isso soa como o “Grid” da IBM, mas provavelmente muito mais fundamentado em software e em ambiente homogêneo da Microsoft. Parece uma boa solução, mas o conceito mais puro e teórico de um Grid envolve ambiente heterogêneo. Por outro lado forçar uma plataforma homogênea simplifica muito a implementação… Esse eu também quero muito conhecer.
Muitas outras empresas também estão pegando carona nessa onda de “cloud computing” como Yahoo, Oracle, SAP, etc. O fato concreto é que existem diversas definições no mercado para o termo em questão. Na minha visão cada um dos fornecedores desvia o conceito para o lado que ele apresenta maior competência ou expertise. Dessa forma todos estariam certos mas também errados, pois chamam de “cloud computing” apenas a parte aplicável da tecnologia que lhes interessa mais. Assim o conceito “real” de computação em nuvem pode ser considerado como a soma de todas estas facetas apresentadas por estas e outras empresas.
Muito se fala e se discute da SEGURANÇA neste ambiente. Não somente pela confidencialidade e inviolabilidade dos dados, mas principalmente pela plena disponibilidade. Depositar nossos mais valiosos arquivos na nuvem e processá-los com poder e velocidade tão rápida quanto desejemos (e possamos pagar) é um sonho
que poderá ser concretizado. Mas especialistas ainda imaginam que alguns bons anos terão que passar para que se resolvam todas as fragilidades e aspectos de segurança da tecnologia.
Esta discussão toda sobre o assunto me faz lembrar uma jocosa comparação. Computação em nuvem é como “sexo na adolescência”: todos falam a respeito o tempo todo, todos querem fazer, muitos dizem que fazem, mas não fazem e os poucos que fazem não fazem direito! Exagero da comparação à parte é assim que enxergo o assunto. Quando o adolescente (a tecnologia) amadurecer CERTAMENTE serviços de TI, pessoal e corporativo terão características de real uso sob demanda, como a luz elétrica de sua casa. Se precisar de mais potência, basta demandá-la que o provedor de energia suprirá sua real necessidade. Um maravilhoso cenário no qual virtualização, provisionamento de recursos instantaneamente e sob demanda, armazenamento global, ilimitado e distribuído, com baixo custo, fundamentados em conexões de alta velocidade e total disponibilidade (sem falhas ou interrupções) transformarão completamente a forma como entendemos e usamos os computadores atualmente.