Índice das dicas

Nas nuvens: entendendo o Cloud Computing

Por Carlos E. Morimoto em 28 de janeiro de 2009 às 16h54

32

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.

32 comentáriosPor Carlos E. Morimoto. Revisado 23 de março de 2011 às 11h20

Comentários

Segurança dos dados
por Rodrigo Miron (anônimo) em 24 de agosto de 2011 às 16h15
Estou vendo os comentários sobre a segurança dos dados disponíveis remotamente e penso que uma solução seria manter um sistema de criptografia forte onde os dados estariam todos cifrados e impossíveis de serem acessados (e compreendidos) a não ser pelos clientes autorizados (que teriam as chaves). O problema seria fazer essa decodificação "on-the-fly" toda vez que dados fossem requisitados, prejudicaria um pouco a performance. O que ajudaria mais seriam redes com mais largura de banda, aí seria viável implementar muitas coisas interessantes.

Abraços
PORQUE
por GARCIA (anônimo) em 18 de julho de 2011 às 21h37
O QUE MODIFICA EM RELAÇÃO AO HAWDWARE UTILZADO EM PC QUE UTILIZA A COMPUTAÇÃO NAS NUVENS
 
por Etica (anônimo) em 26 de julho de 2010 às 14h50
Po cara na real , eu não colocaria esse "nas nuvens' não, por que como vc ira ter certeza que seus arquivos estao seguros ,como vc sabera que ninguem invadiu, e outra se vc quiser mecher no pc naão dara por que ele estara "nas nuvens" por isso não confio nessa inovação.
 
por Pgtf (anônimo) em 3 de julho de 2010 às 15h22
O termo "computação em nuvem" surgiu pelo menos nos anos 80´s quando projetos (de pesquisa e comerciais) de computação pregavam a conexão de terminais ("burros") a uma rede intermediária e desta a computadores centrais. No desenho dessa rede, em vez de haver a conexão direta dos terminais aos "mainframes", havia o desenho da conexão de terminais a uma rede dispersa, e desta a mainframes. Essa rede era desenhada em forma de nuvem. Isso pode ser visto em vários artigos, por exemplo, nos congressos da Sucesu de 1984 a 1989.
 
por Natananel (anônimo) em 24 de março de 2010 às 08h56
Vou da meu depoimento real, sou desenvolvedor e uso esse sistema de nuvens, oferecido pela empresa de hospedagem, para criar sistemas que ofereço aos meus clientes de deiversas areas.

Um dos serviços que estou oferecendo é o site para imobiliárias (www.w21studio.com/site-para-imobiliaria) e esta com desempenho muito bom. Para todos os assinantes

Esse sistema de nuvens como é chamado não esta apenas fazendo as empresas ganharem mais dinheiro, no meu ponto de vista, esta democratizando a tecnologia uma vez que pessoas ou empresas com pequeno capital podem oferecer serviços e produtos de qualidade
 
por Marcelo (anônimo) em 7 de março de 2010 às 08h04
Recentemente minha empresa decidiu embarcar nessa onda de cloud computing, e contratou os serviços da SimpleWeb, e não podíamos estar mais satisfeitos. Reduzimos em cerca de 50% nossos custos em datacenter e servidores, e ganhamos em performance e escalabilidade. É possível inclusive aumentar os recursos dos servidores em períodos críticos de pico de uso, como por exemplo quando rodamos a folha de pagamento em nosso ERP.
 
por Otto Pohlmann (anônimo) em 1 de fevereiro de 2010 às 07h09
As aplicações que vão migrar para a nuvem são as mesmas que já são acessadas via internet a partir de servidores proprietários ou hospedados, não piorando o que já existe hoje, a unica coisa que muda é que fica hospedado na nuvem.

Agora o que era dificil e dava trabalho era mover as aplciações entre servidores ou para a cloud sem ter que instalar tudo do zero.

Mas com o surgimento da tecnologia da APPZERO (www.appzero.com.br\) isto passo a ser uma operação simples. O APPZERO empacota toda a aplicação com todas as suas dependencias, sem sistema operacional (conceito Zero OS), num único arquivo chamadao VAA (Virtual Application Appliance) que pode ser movido com muita facilidade entre servidores ou para a nuvem, sem nenhum trabalho de instalação.
 
por Charles (anônimo) em 30 de novembro de 2009 às 08h14
Quem de voces ai dormiria tranquilo depois de salvar documentos importantes e secretos da sua empresa nesse cloud?
 
por Fernaux (anônimo) em 6 de novembro de 2009 às 10h48
Caro Artur vc está meio antiquado sim. Pois cloud computing é um método de produção. Richard Stallman alega que o cloud deixa sua aplicação amarrada às empresas de cloud. Mas deve-se levar em consideração que é possível vc mesmo montar uma estrutura de cloud em sua empresa e garantir a segurança dos dados e otimizar o uso dos servidores para não manter um monte de dedicados ociosos. Mas respeito sua opinião.

Abraços a todos.
 
por rib (anônimo) em 27 de outubro de 2009 às 08h40
Olá Carlos, tenho uma dúvida.

No caso, quando contratamos um servidor dedicado, muitas vezes caímos na questão do servidor não dar mais conta e termos que alugar outro, para colocar, por exemplo, o banco de dados em um servidor e no outro, os arquivos do site.

Teoricamente, no Cloud Computing ainda teria esse problema ou, alugando o serviço "nas nuvens" eu esteria isento deste problema?

Obrigado.