Cloud Computing

Introdução

O cloud computing é uma das mais importantes tendências tecnológicas dos próximos tempos. Mas o que é afinal cloud computing? Não existe ainda uma definição clara, se quiser um exemplo disso faça esta pergunta a cinco pessoas ligadas à tecnologia e provavelmente irá obter cinco ou até mais respostas diferentes.

Existem opiniões que dizem que tudo o que está fora da firewall é cloud computing, ou seja, um simples webservice pode ser considerado cloud computing. Esta resposta até faz sentido porque na realidade o processamento desse webservice ocorre fora do nosso computador. No entanto, cloud computing é muito mais do que isso.

Essencialmente trata-se de afastar completamente a computação e os dados dos computadores de secretária e portáteis, e simplesmente mostrar ao utilizador os resultados da computação que ocorre numa localização centralizada (grandes datacenters) e é transmitida via internet para o ecrã do utilizador. Mais ainda, é potenciar a interacção entre o software, que neste paradigma reside na nuvem, através de serviços. Estaremos então a voltar à época dos terminais “estúpidos”? Iremos tentar perceber a resposta a esta pergunta mais à frente neste artigo, mas neste momento torna-se necessário perceber as mudanças que ocorreram no passado para perceber o porquê dessas mudanças no futuro.

Olhando um pouco para a história dos computadores, não propriamente a partir do primeiro computador no sentido do termo (computador humano, pessoa que realizava cálculos numéricos), mas sim a partir do primeiro computador electrónico, vamos tentar perceber as mudanças nas arquitecturas dos sistemas e as razões que levaram a essas mudanças.

História

Os primeiros computadores eram máquinas enormes, muito pesadas e de elevado custo. Sempre que alguém pretendia realizar alguma computação tinha que se deslocar a esse computador, do tamanho de uma sala, para a poder realizar. O que é importante reter é que a computação começou, por razões económicas, com uma arquitectura de centralização da informação.

Mais tarde surgiram os terminais. O uso de terminais já não obrigava a que o operador se deslocasse ao computador para poder realizar operações e permitia ainda que estivessem várias pessoas a usar o computador em regime de partilha de tempo de computação. A arquitectura continua centralizada, todas as operações são realizadas no computador, sendo o terminal apenas um interface para aceder ao computador.

À medida que a Lei de Moore se vai manifestando, o tamanho e custo dos computadores desce e torna-se prática comum a utilização de computadores pessoais visto que já era economicamente viável ter um computador no escritório ou até em casa. Com o uso de computadores pessoais passa-se a utilizar uma arquitectura completamente descentralizada. Neste momento poderia optar-se pelas duas arquitecturas, a centralizada que ainda oferecia um custo mais baixo em termos de custo por utilizador, ou um sistema completamente descentralizado que oferecia uma maior autonomia e melhor interface aos utilizadores.

Posteriormente surge a arquitectura cliente-servidor em que existem computadores em ambos os lados. Algumas partes do programa correm no computador-servidor e outras correm no computador-cliente. Isto causa um aumento da complexidade do software dada a necessidade de comunicação e sincronização entre as partes. Estamos agora numa arquitectura mista.

Entretanto surge o primeiro web browser que apenas mostrava texto e praticamente todo o processamento era realizado no lado do servidor. Voltamos novamente a uma arquitectura completamente centralizada. As capacidades deste tipo de aplicações eram muito limitadas. Os web browsers evoluíram, sendo já é possível correr código de aplicações dentro destes, o que levou e leva a que apareçam cada vez mais aplicações web em detrimento de aplicações desktop.

Esta arquitectura cliente-servidor oferece algumas vantagens tecnológicas que naturalmente se tornam em vantagens económicas. A centralização de todos os dados no servidor é um exemplo disso, que leva a um aumento da segurança e à redução nos custos de manutenção.

Como pudemos observar, certa parte destas mudanças aparecem por razões económicas. Se uma arquitectura diferente apresenta as mesmas funcionalidades a um preço mais reduzido tende a ser cada vez mais adoptada.