Computação em Nuvem para leigos

Vamos falar sobre um tema um tanto em voga ultimamente no mercado de TI, o conceito sobre a nuvem ou Cloud Computing.

Muito se fala sobre o tema, muito se fala sobre as tendências deste “tipo” de computação, mas poucos realmente sabem explanar de forma concisa o que realmente é a tal computação em nuvem. Eu diria em termos claros e em bom português que a melhor analogia para Cloud Computing é aquela estória sobre a Roupa do Rei. Para quem não conhece a estória o resumo é o seguinte: “Um belo dia um alfaiate muito atrapalhado precisa entregar uma nova roupa ao Rei, mas ele não tem nada a entregar, então para não perder a cabeça, literalmente, ele no dia de entregar a roupa, entrega uma vestimenta invisível que segundo ele somente os mais inteligentes e sagazes poderiam ver e é claro que o sábio Rei indagado sobre ver ou não a tal peça diz que sim, que vê e a veste! Até que um garotinho lá no fundo com sua santa sabedoria diz em alto e bom tom a todos que ali estavam que o Rei estava nú…”

Eu não quero ser a criança, muito menos o Rei da estória, eu apenas quero falar sobre um tema que parece ser invisível e que parece não existir, ou que desde décadas atrás surgiu e que agora resolveram dar um nome bonito, Cloud Computing. Vender sempre foi o objetivo e dar nomes aos bois ajuda isso acontecer. O objetivo final da computação em nuvem é exatamente este, vender. Vender o que? Vender o que se usa, o famoso, pague pelo que usar (Pay-to-Use).

Mas peraí, vender algo que não existe ou que parece já estar aí já faz muito tempo… Do que exatamente estamos falando? Vamos lá, antes de tudo, precisamos definir exatamente o que é computação em nuvem da forma que o mercado tem colocado.

De forma geral, podemos conceitualizar o tema como um “conjunto de tecnologias formado por imensos parques computacionais, que reúnem milhares de computadores num só ambiente, os datacenters”.

Peraí, datacenter, isso já existia não? Sim… e não, vou explicar. Datacenter sempre foi o ambiente onde ficam os ativos de TI, servidores, racks, switchs, roteadores e toda parafernália necessária para prover um ou mais serviços para empresas, sistemas e pessoas em geral. A Computação em Nuvem então vem para definir a forma como isso tudo é usado, o conceito principal é o de que não importa onde nem como este serviço esta rodando ou sendo provido, o importante é termos acesso aos serviços e resultados gerados, a informação.

“Ah entendi você diria!” Então podemos dizer que Cloud Computing é um termo que se refere a onde os dados estão sendo processados e não importa mais onde isso acontece, o que importa é que eles serão gerados ao final e eu vou pagar somente o que usei, é isso? Isso! E não necessariamente o serviço usado deverá ser “bilhetado”, “cobrado”, o que usar pode ser oferecido gratuitamente também, é o caso dos sistemas de e-mail ou webmail do Google, Yahoo, Hotmail ou então os softwares que são acessados online como Google docs, softwares para iPhone, Android e muitos outros acessíveis unicamente pela internet.

“Ok, entendi, então para usar os serviços da nuvem preciso ter acesso a Internet?”. Mais ou menos, todos os serviços da nuvem baseiam-se no funcionamento das redes, alguns serviços podem ser oferecidos em nuvens privadas por exemplo, como a rede interna de sua empresa e lá você não precisa estar conectado a internet para usar um serviço qualquer que sua empresa ofereça, como o webmail corporativo, um serviço de “nuvem” privada, mas você precisa sim estar conectado a uma rede de dados. Essa nuvem “interna” pode ser conectada a uma nuvem pública, o que chamamos de Nuvem Hibrida, agora alguns garotos como o garoto do começo da história devem estar dizendo, ah pára com isso, antigamente chamavam isso de rede interna, rede hibrida e rede publica, agora tão chamando isso de Nuvem?! Exatamente. Por isso toda a confusão no começo da história e no entendimento do conceito, a idéia principal é que essas nuvens tenham autonomia e possibilidade de bilhetagem, essa autonomia é feita com o uso de recursos novos de TI como web 2.0 que também é apenas um conceito de como programar para web e não uma tecnologia em si e também com o uso da virtualização.

A virtualização é a tecnologia que permite consolidarmos servidores e com a consolidação foi possível expandir os datacenters tendo redução! Confuso né? Expandir reduzindo, daqui a pouco um garoto esperto ai vai dizer, esse cara ta viajando…

Mas é isso mesmo, a virtualização possibilitou o crescimento do datacenter ao ponto de termos a possibilidade de ofertar mais serviços por menor custo, menor área física, menor número de ativos, ou seja, a consolidação que é a técnica que possibilita termos vários servidores “virtuais”, ou seja, vários sistemas operacionais virtuais dentro de um único servidor físico, um único hardware que antes no modelo tradicional permitia somente um único sistema operacional instalado por vez.

A virtualização então trouxe um conceito novo de sistema operacional, o sistema operacional host ou hypervisor que é o grande responsável por essa consolidação. Chamamos estes sistemas de virtualização de plataforma preparada para nuvem e em conjunto com outras tecnologias novas de armazenamento de dados e infraestrutura e com o uso de técnicas recentes de programação para web foi possível formarmos todo o conglomerado de soluções que estão sendo conhecidos universalmente como computação em nuvem ou Cloud Computing no bom inglês.