O conceito de computação em nuvem (em inglês, cloud computing) refere-se à utilização da memória e das capacidades de armazenamento e cálculo de computadores e servidores compartilhados e interligados por meio da Internet, seguindo o princípio da computação em grade.

O armazenamento de dados é feito em serviços que poderão ser acessados de qualquer lugar do mundo, a qualquer hora, não havendo necessidade de instalação de programas ou de armazenar dados. O acesso a programas, serviços e arquivos é remoto, através da Internet – daí a alusão à nuvem. O uso desse modelo (ambiente) é mais viável do que o uso de unidades físicas.

Num sistema operacional disponível na Internet, a partir de qualquer computador e em qualquer lugar, pode-se ter acesso a informações, arquivos e programas num sistema único, independente de plataforma.
O requisito mínimo é um computador ou aparelho móvel compatível com os recursos disponíveis na Internet.

O PC ou aparelho móvel torna-se apenas um chip ligado à Internet — a “grande nuvem” de computadores — sendo necessários somente os dispositivos de entrada (teclado, mouse) e saída (monitor), e no caso dos aparelhos móveis, teclado e tela.

Empresas como Amazon, Google, IBM e Microsoft foram as primeiras a iniciar uma grande ofensiva nessa “nuvem de informação” (information cloud), que especialistas consideram uma “nova fronteira da era digital”. Aos poucos, essa tecnologia vai deixando de ser utilizada apenas em laboratórios para ingressar nas empresas e, em breve, em computadores domésticos.

O primeiro serviço na Internet a oferecer um ambiente operacional para os usuários—antigamente, disponível no endereço www.webos.org—foi criado por um estudante sueco, Fredrik Malmer, utilizando as linguagens XHTML e Javascript. Atualmente, o termo AJAX é adotado para definir a utilização dessas duas linguagens na criação de serviços na Internet.

Em 1999, foi criada nos EUA a empresa WebOS Inc., que comprou os direitos do sistema de Fredrik e licenciou uma série de tecnologias desenvolvidas nas universidades do Texas, Califórnia e Duke. O objetivo inicial era criar um ambiente operacional completo, inclusive com API para o desenvolvimento de outros aplicativos.

Atualmente, a computação em nuvem é dividida em seis tipos:
IaaS – Infrastructure as a Service ou Infra-estrutura como Serviço (em português): quando se utiliza uma porcentagem de um servidor, geralmente com configuração que se adeque à sua necessidade.

PaaS – Plataform as a Service ou Plataforma como Serviço (em português): utilizando-se apenas uma plataforma como um banco de dados, um web-service, etc. (p.ex.: Windows Azure).

DaaS – Development as a Service ou Desenvolvimento como Serviço (em português): as ferramentas de desenvolvimento tomam forma no cloud computing como ferramentas compartilhadas, ferramentas de desenvolvimento web-based e serviços baseados em mashup.

SaaS – Software as a Service ou Software como Serviço (em português): uso de um software em regime de utilização web (p.ex.: Google Docs , Microsoft SharePoint Online).

CaaS – Communication as a Service ou Comunicação como Serviço (em português): uso de uma solução de Comunicação Unificada hospedada em Data Center do provedor ou fabricante (p.ex.: Microsoft Lync).

EaaS – Everything as a Service ou Tudo como Serviço (em português): quando se utiliza tudo, infraestrurura, plataformas, software, suporte, enfim, o que envolve T.I.C. (Tecnologia da Informação e Comunicação) como um Serviço.

Os seguintes serviços atualmente são oferecidos por empresas:
• Servidor Cloud
• Hospedagem de Sites em Cloud
• Load Balancer em Cloud
• Email em Cloud

No modelo de implantação, dependemos das necessidades das aplicações que serão implementadas. A restrição ou abertura de acesso depende do processo de negócios, do tipo de informação e do nível de visão desejado.

Percebemos que certas organizações não desejam que todos os usuários possam acessar e utilizar determinados recursos no seu ambiente de computação em nuvem. Segue abaixo a divisão dos diferentes tipos de implantação:

Privado – As nuvens privadas são aquelas construídas exclusivamente para um único usuário (uma empresa, por exemplo). Diferentemente de um data center privado virtual, a infraestrutura utilizada pertence ao usuário, e, portanto, ele possui total controle sobre como as aplicações são implementadas na nuvem. Uma nuvem privada é, em geral, construída sobre um data center privado.

Público – As nuvens públicas são aquelas que são executadas por terceiros. As aplicações de diversos usuários ficam misturadas nos sistemas de armazenamento, o que pode parecer ineficiente a princípio.

Porém, se a implementação de uma nuvem pública considera questões fundamentais, como desempenho e segurança, a existência de outras aplicações sendo executadas na mesma nuvem permanece transparente tanto para os prestadores de serviços como para os usuários.

Comunidade – A infraestrutura de nuvem é compartilhada por diversas organizações e suporta uma comunidade específica que partilha as preocupações (por exemplo, a missão, os requisitos de segurança, política e considerações sobre o cumprimento). Pode ser administrado por organizações ou por um terceiro e pode existir localmente ou remotamente.

Híbrido – Nas nuvens híbridas temos uma composição dos modelos de nuvens públicas e privadas. Elas permitem que uma nuvem privada possa ter seus recursos ampliados a partir de uma reserva de recursos em uma nuvem pública. Essa característica possui a vantagem de manter os níveis de serviço mesmo que haja flutuações rápidas na necessidade dos recursos.

A conexão entre as nuvens pública e privada pode ser usada até mesmo em tarefas periódicas que são mais facilmente implementadas nas nuvens públicas, por exemplo. O termo computação em ondas é, em geral, utilizado quando se refere às nuvens híbridas.

A maior vantagem da computação em nuvem é a possibilidade de utilizar softwares sem que estes estejam instalados no computador. Mas há outras vantagens:

• na maioria das vezes o usuário não precisa se preocupar com o sistema operacional e hardware que está usando em seu computador pessoal ou aparelho móvel, podendo acessar seus dados na “nuvem computacional” independentemente disso;

• as atualizações dos softwares são feitas de forma automática, sem necessidade de intervenção do usuário;

• o trabalho corporativo e o compartilhamento de arquivos se tornam mais fáceis, uma vez que todas as informações se encontram no mesmo “lugar”, ou seja, na “nuvem computacional”;

• os softwares e os dados podem ser acessados em qualquer lugar, bastando que haja acesso à Internet, não estando mais restritos ao ambiente local de computação, nem dependendo da sincronização de mídias removíveis.

• o usuário tem um melhor controle de gastos ao usar aplicativos, pois a maioria dos sistemas de computação em nuvem fornece aplicações gratuitamente e, quando não gratuitas, são pagas somente pelo tempo de utilização dos recursos. Não é necessário pagar por uma licença integral de uso de software;

• diminui a necessidade de manutenção da infraestrutura física de redes locais cliente/servidor, bem como da instalação dos softwares nos computadores corporativos, pois esta fica a cargo do provedor do software em nuvem, bastando que os computadores clientes tenham acesso à Internet;

• a infraestrutura necessária para uma solução de cloud computing é bem mais enxuta do que uma solução tradicional de hosting ou collocation, consumindo menos energia, refrigeração e espaço físico e consequentemente contribuindo para preservação e uso racional dos recursos naturais.

A maior desvantagem da computação em nuvem, vem fora do propósito da mesma, que é acesso internet. Caso você perca o acesso, comprometerá todos os sistemas embarcados.

A velocidade de processamento também pode ser um problema, caso seja necessário uma grande taxa de transferência, se a internet não tive uma boa banda, o sistema pode ser comprometido. Um exemplo típico é com mídias digitais ou jogos. E assim como todo tipo de serviço, ele é custeado.
Existem sete princípios de segurança em uma rede em nuvem:

1. Acesso privilegiado de usuários – A sensibilidade de informações confidenciais nas empresas obriga um controle de acesso dos usuários e informação bem específica de quem terá privilégio de administrador, para então esse administrador controle os acessos

2. Compliance com regulamentação – As empresas são responsáveis pela segurança, integridade e a confidencialidade de seus próprios dados. Os fornecedores de cloud computing devem estar preparados para auditorias externas e certificações de segurança.

3. Localização dos dados – A empresa que usa cloud provavelmente não sabe exatamente onde os dados estão armazenados, talvez nem o país onde as informações estão guardadas. O fornecedor deve estar disposto a se comprometer a armazenar e a processar dados em jurisdições específicas, assumindo um compromisso em contrato de obedecer os requerimentos de privacidade que o país de origem da empresa pede.

4. Segregação dos dados – Geralmente uma empresa divide um ambiente com dados de diversos clientes. Procure entender o que é feito para a separação de dados, que tipo de criptografia é segura o suficiente para o funcionamento correto da aplicação.

5. Recuperação dos dados – O fornecedor em cloud deve saber onde estão os dados da empresa e o que acontece para recuperação de dados em caso de catástrofe. Qualquer aplicação que não replica os dados e a infra-estrutra em diversas localidades está vulnerál a falha completa. Importante ter um plano de recuperação completa e um tempo estimado para tal.

6. Apoio à investigação – A auditabilidade de atividades ilegais pode se tornar impossível em cloud computing uma vez que há uma variação de servidores conforme o tempo ondes estão localizados os acessos e os dados dos usuários. Importante obter um compromisso contratual com a empresa fornecedora do serviço e uma evidência de sucesso no passado para esse tipo de investigação.

7. Viabilidade em longo prazo – No mundo ideal, o seu fornecedor de cloud computing jamais vai falir ou ser adquirido por uma empresa maior. A empresa precisa garantir que os seus dados estarão disponíveis caso o fornecedor de cloud computing deixe de existir ou seja migrado para uma empresa maior. Importante haver um plano de recuperação de dados e o formato para que possa ser utilizado em uma aplicação substituta.

Arquitetura em nuvem é muito mais que apenas um conjunto (embora massivo) de servidores interligados. Requer uma infraestrutura de gerenciamento desse grande fluxo de dados que, incluindo funções para aprovisionamento e compartilhamento de recursos computacionais, equilíbrio dinâmico do workload e monitoração do desempenho.

Embora a novidade venha ganhando espaço, ainda é cedo para dizer se dará certo ou não. Os arquivos são guardados na web e os programas colocados na nuvem computacional – e não nos computadores em si – são gratuitos e acessíveis de qualquer lugar. Mas a ideia de que ‘tudo é de todos e ninguém é de ninguém’ nem sempre é algo bem visto.

O fator mais crítico é a segurança, considerando que os dados ficam “online” o tempo todo. Os sistemas operacionais para Internet mais utilizados são:

Google Chrome OS: Desenvolvido pela Google, já incorporado nos Chromebooks, disponíveis desde 15 de junho de 2011. Trabalha com uma interface diferente, semelhante ao do Google Chrome, em que todas as aplicações ou arquivos são salvos na nuvem e sincronizados com sua conta do Google, sem necessidade de salvá-los no computador, já que o HD dos dois modelos de Chromebooks anunciados contam com apenas 16gb de HD.

Joli Os: desenvolvido por Tariq Krim, o ambiente de trabalho chamado jolicloud usa tanto aplicativos em nuvem quanto aplicativos ofline, baseado no ubuntu notebook remix, ja tem suporte a varios navegadores como google chrome, safari, firefox, e esta sendo desenvolvido para funcionar no Android.

YouOS: desenvolvido pela empresa WebShaka, cria um ambiente de trabalho inspirado nos sistemas operacionais modernos e utiliza a linguagem Javascript para executar as operações. Ele possui um recurso semelhante à hibernação no MS-Windows XP, em que o usuário pode salvar a área de trabalho com a configuração corrente, sair do sistema e recuperar a mesma configuração posteriormente. Esse sistema também permite o compartilhamento de arquivos entre os usuários. Além disso, possui uma API para o desenvolvimento de novos aplicativos, sendo que já existe uma lista de mais de 700 programas disponíveis. Fechado pelos desenvolvedores em 30 de julho de 2008;

DesktopTwo: desenvolvido pela empresa Sapotek, tem como pré-requisito a presença do utilitário Flash Player para ser utilizado. O sistema foi desenvolvido para prover todos os serviços necessários aos usuários, tornando a Internet o principal ambiente de trabalho. Utiliza a linguagem PHP como base para os aplicativos disponíveis e também possui uma API, chamada Sapodesk, para o desenvolvimento de novos aplicativos. Fechado para desenvolvedores;

G.ho.st: Esta sigla significa “Global Hosted Operating SysTem” (Sistema Operacional Disponível Globalmente), tem como diferencial em relação aos outros a possibilidade de integração com outros serviços como: Google Docs, Meebo, ThinkFree, entre outros, além de oferecer suporte a vários idiomas;

eyeOS: Este sistema está sendo desenvolvido por uma comunidade denominada EyeOS Team e possui o código fonte aberto ao público. O objetivo dos desenvolvedores é criar um ambiente com maior compatibilidade com os aplicativos atuais, MS-Office e OpenOffice. Possui um abrangente conjunto de aplicativos, e o seu desenvolvimento é feito principalmente com o uso da linguagem PHP.

iCloud: Sistema lançado pela Apple em 2011, é capaz de armazenar até 5 GB de fotos, músicas, documentos, livros e contatos gratuitamente, com a possibilidade de adquirir mais espaço em disco (pago).

Ubuntu One: Ubuntu One é o nome da suíte que a Canonical (Mantenedora da distribuição Linux Ubuntu) usa para seus serviços online. Atualmente com o Ubuntu One é possível fazer backups, armazenamento, sincronização e compartilhamento de arquivos e vários outros serviços que a Canonical adiciona para oferecer mais opções e conforto para os usuários.

IBM Smart Business: Sistema da IBM que engloba um conjunto de serviços e produtos integrados em nuvem voltados para a empresa. O portfólio incorpora sofisticada tecnologia de automação e autosserviço para tarefas tão diversas como desenvolvimento e teste de software, gerenciamento de computadores e dispositivos, e colaboração. Inclui o Servidor IBM CloudBurst server (US) com armazenamento, virtualização, redes integradas e sistemas de gerenciamento de serviço embutidos.

No Brasil, a tecnologia de computação em nuvem é muito recente, mas está se tornando madura muito rapidamente. Empresas de médio, pequeno e grande porte estão adotando a tecnologia gradativamente. O serviço começou a ser oferecido comercialmente em 2008 e em 2012 está ocorrendo uma grande adoção.

Existem pouco menos de 10 empresas ofertantes do serviço em nuvens públicas (que podem ser contratadas pela internet em estrutura não privativa e com preços e condições abertas no site) com servidores dentro do Brasil e com baixa latência. A maioria utiliza tecnologia baseada em Xen, KVM, VMWare, Microsoft Hypervisor.