Nas nuvens: entendendo o Cloud Computing

Nas nuvens: entendendo o Cloud Computing

Um termo de destaque nos dias de hoje é o “Cloud Computing”, ou “computação em nuvem”. Ele é usado em relação a todo tipo de serviços web, novas opções de planos de hospedagem e assim por diante. Muito se discute sobre se o cloud computing é ou não uma boa opção e se ele é mesmo o futuro, ou se é apenas uma moda passageira. Em meio a todo o barulho, muita gente olha para cima, e se pergunta o que tudo isso significa. Se você é um deles, vamos a uma explicação simples.

Existem várias versões para a origem do termo, mas a mais popular é que o termo surgiu em tom de brincadeira, para explicar onde os serviços estavam rodando. Em vez de rodarem em um servidor, trancado em uma sala da empresa, passaram a dizer que eles estavam rodando “nas nuvens”.

A “nuvem” dentro da metáfora, nada mais é do que um conjunto de servidores, que rodam os mais diversos serviços e são conectados aos clientes através da Internet. Como os servidores estão escondidos em algum datacenter distante, e toda a manutenção, upgrades e modificações são feitas por equipes no local, sem qualquer intervenção dos clientes, o sistema todo se torna bastante impessoal, diferente de quando você cuida de um servidor real, por exemplo.

A idéia central por trás do Cloud Computing é fornecer serviços através da Internet, permitindo que você acesse arquivos, documentos, e-mail, rode aplicativos e assim por diante, a partir de qualquer PC conectado à web. Dois bons exemplos introdutórios seriam o Gmail e o Google Docs, dois serviços onde os dados são armazenados nos datacenters do Google e você simplesmente acessa as informações utilizando o navegador, seja através do próprio PC, ou de um smartphone ou qualquer outro dispositivo conectado:

artigo-cloud-computing_html_6568a1d9

Não é preciso dizer que esta nova modalidades de serviços despertam muitos alertas com relação à segurança e à privacidade, uma vez que seus dados deixam de ficarem armazenados no seu PC e passam a fazer parte na nuvem, armazenados e replicados em diversos servidores.

Por outro lado, o sistema é muito mais simples e transparente de usar, uma vez que as informações podem ser acessadas de qualquer lugar e podem ser compartilhadas com outras pessoas rapidamente, o que é suficiente para garantir sua popularização. O usuário não precisa se preocupar em instalar o OpenOffice ou o MS Office, nem aprender como compartilhar arquivos ou fazer backups. As desvantagens, por outro lado, incluem a questão do desempenho (que fica condicionado à velocidade da conexão) e a limitação óbvia de que os aplicativos ficam indisponíveis se a conexão cai.

Com relação à hospedagem, em cada datacenter, temos algumas centenas ou milhares de servidores, configurados em um sistema de cluster, o que faz com que se comportem como se fosse um único supercomputador. As tarefas são distribuídas e os dados são armazenados de maneira descentralizada, com uma camada de redundância.

O sistema se comporta de maneira bastante transparente, permitindo que novos servidores sejam adicionados quando mais poder de processamento é necessário e que os dados não sejam perdidos em caso de defeitos em alguns dos servidores, assim como ao usar vários HDs em RAID 5 ou RAID 6.

O Cloud Computing também se aplica a serviços de hospedagem. Tradicionalmente, a hospedagem de sites se ramifica em dois tipos de planos: dedicated hosting (onde você tem um servidor dedicado e pode configurá-lo como quiser) e shared hosting, onde você tem apenas um virtual host dentro do servidor web, com espaço para hospedar o site.

Mais recentemente, tivemos a popularização dos VPS (Virtual Private Servers), que são máquinas virtuais, rodando dentro do Xen, Virtuozzo, VMware Server, ou outro software de virtualização. Como cada servidor pode hospedar um grande número de servidores virtuais, os preços dos planos acabam sendo muito mais baixos, mas, por outro lado, o compartilhamento de recursos faz com que o desempenho oscile de acordo com o nível de utilização do servidor.

Para melhorar a eficiência e reduzir os custos de manutenção, o uso de virtualização passou a ser combinado com o uso de grids computacionais, que nada mais são do que uma espécie de cluster com muitas máquinas.

Com isso, os servidores virtuais passaram a ser processados dentro do grid, migrando de um servidor a outro de acordo com os recursos disponíveis. Com isso, o problema da oscilação de desempenho foi reduzida, pois o grid pode absorver os picos de acesso de alguns servidores específicos de maneira mais eficiente do que um servidor isolado. Novos servidores podem ser adicionados de maneira transparente ao cluster, conforme mais processamento e memória RAM são necessários.

Não demorou para que as empresas de hospedagem passassem a chamar estes servidores virtuais clusterizados de “Cloud Servers”, dando origem a uma nova safra de planos, onde os servidores “vão para as nuvens”. A idéia básica é que você pode definir quanto poder de processamento, memória e espaço de armazenamento precisa na hora de assinar o plano, com a mensalidade variando de acordo. A empresa de hospedagem assume então um compromisso de entregar os recursos determinados, independentemente de oscilações no uso dos servidores:

artigo-cloud-computing_html_e2914e91

Como você pode notar, os planos não especificam quais são os recursos reais dos servidores utilizados, mas sim o volume de recursos que você poderá utilizar. Os “2 cores de 500MHz” significam apenas que você dispõe do equivalente a 1 GHz de processamento.

Estes planos resolvem alguns problemas comuns com relação à hospedagem. Como os dados são armazenados no grid, a própria empresa de hospedagem fica encarregada de fazer backup e implantar recursos de redundância, diferente do que você tem ao administrar um servidor dedicado, onde precisa se preocupar com tudo isso.

Cada servidor se comporta como uma máquina exclusiva, onde você pode escolher o sistema operacional que virá instalado e tem direito a um ou mais endereços IP. A grande diferença em relação a um servidor dedicado está mesmo no modo de funcionamento, já que, afinal, em vez de uma máquina exclusiva, você tem um servidor virtual flutuando na nuvem.

Para as empresas de hospedagem, os Cloud Servers são uma opção para aproveitar melhor os recursos disponíveis (e assim ganhar mais dinheiro), já que os servidores podem ser melhor utilizados do que em planos de dedicated hosting regular, onde a maior parte dos servidores dedicados ficam ociosos na maior parte do tempo. A idéia tem também seus benefícios do ponto de vista ecológico, já que os datacenters consomem muita energia e menos servidores significa menos desperdício.

O Cloud Computing também está causando mudanças na área de desenvolvimento. Em vez de venderem softwares em caixinhas (como nos anos 90), ou oferecerem versões shareware para download, as empresas de desenvolvimento estão cada vez mais centralizando os esforços no desenvolvimento de aplicativos web, que rodam “nas nuvens” e são oferecidos aos usuários na forma de algum serviço, mantido através de anúncios ou através de algum tipo de assinatura.

Graças à disponibilidade de frameworks como o Ruby on Rails, o Ajax e o Django, desenvolver aplicativos web não é muito diferente de desenvolver aplicativos tradicionais. Existem algumas dificuldades adicionais, como hospedar o software e manter a segurança dos dados, mas estes problemas acabam muitas vezes recaindo sobre a empresa de hospedagem.

A idéia básica por trás da idéia é oferecer um serviço e não um software ou um servidor. As informações simplesmente ficam “na nuvem” e os usuários assinam os serviços que querem utilizar. Se a idéia e boa ou ruim, depende muito da situação e da responsabilidade da empresa que presta o serviço, mas não restam dúvidas que a nuvem vai continuar se expandindo.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X