# Computação em nuvem

Computação em nuvem (em inglês, cloud computing) é um termo coloquial para a disponibilidade sob demanda de recursos do sistema de computador, especialmente armazenamento de dados e capacidade de computação, sem o gerenciamento ativo direto do utilizador. O termo geralmente é usado para descrever centros de dados disponíveis para muitos utilizadores pela Internet. Nuvens em grande escala, predominantes hoje em dia, geralmente têm funções distribuídas em vários locais dos servidores centrais. Se a conexão com o utilizador for relativamente próxima, pode ser designado um servidor de borda.
O armazenamento de dados é feito em serviços que poderão ser acedidos 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 compatível com os recursos disponíveis na Internet. O PC torna-se apenas um chip ligado à Internet — a "grande nuvem" de computadores — sendo necessários somente os dispositivos de entrada (teclado, rato/mouse) e saída (monitor).

## Corrida pela tecnologia

Empresas como Amazon, Oracle, 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 utilizadores — antigamente, disponível no endereço www.webos.org — foi criado por um estudante sueco, Fredrik Malmer, utilizando as linguagens XHTML e Javascript.
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.

## Modelos de serviço

Atualmente, a computação em nuvem é dividida em dez tipos:
* IaaS - "Infrastructure as a Service" ou Infraestrutura como Serviço (em português): refere-se a serviços online que fornecem APIs de alto nível usadas para abstrair vários detalhes de baixo nível da infraestrutura de rede subjacente, como recursos de computação física, localização, particionamento de dados, dimensionamento, segurança, backup etc. Executa as máquinas virtuais como convidados. "Pools" de "hipervisores" dentro do sistema operacional de nuvem podem suportar um grande número de máquinas virtuais e a capacidade de escalonar os serviços de acordo com os diferentes requisitos dos clientes. Os contentores Linux são executados em partições isoladas de um único kernel do Linux em execução diretamente no hardware físico. "Cgroups" e "namespaces" do Linux são as tecnologias subjacentes do kernel do Linux usadas para isolar, proteger e gerenciar os contentores. A contentorização oferece maior desempenho do que virtualização, porque não há sobrecarga de "hipervisor". Além disso, a capacidade do contentor é dimensionada automaticamente de maneira dinâmica com a carga computacional, o que elimina o problema de provisionamento excessivo e permite o facturamento baseado em uso. As nuvens de IaaS geralmente oferecem recursos adicionais, como uma biblioteca de imagem de disco de máquina virtual, armazenamento bruto de bloco, armazenamento de arquivos ou objetos, firewalls, balanceadores de carga, endereços IP, VLANs (redes locais virtuais) e pacotes de software. Os provedores de nuvem IaaS fornecem esses recursos sob demanda a partir de seus grandes pools de equipamentos instalados nos datacenters. Para conectividade de área ampla , os clientes podem usar a Internet ou as nuvens da operadora (redes privadas virtuais dedicadas). Para implantar seus aplicativos, os utilizadores da nuvem instalam imagens do sistema operacional e seu software de aplicativo na infraestrutura de nuvem. Nesse modelo, o utilizador da nuvem corrige e mantém os sistemas operacionais e o software do aplicativo. Provedores de nuvem geralmente cobram serviços IaaS em uma base de computação utilitária: o custo reflete a quantidade de recursos alocados e consumidos;
* PaaS - "Plataform as a Service" ou Plataforma como Serviço (em português): dá aos desenvolvedores as ferramentas necessárias para criar e hospedar aplicativos Web. A PaaS foi desenvolvida para proporcionar aos utilizadores o acesso aos componentes necessários para desenvolver e operar rapidamente aplicativos Web ou móveis na Internet, sem se preocupar com a configuração ou gerenciamento da infraestrutura subjacente dos servidores, armazenamento, redes e bancos de dados. (p.ex.: IBM Bluemix, Windows Azure e Jelastic). A definição do NIST de computação em nuvem define Plataforma como um serviço como: A capacidade oferecida ao consumidor é implementar na infraestrutura em nuvem os aplicativos criados ou adquiridos ou controlados pelo consumidor criados usando linguagens de programação, bibliotecas, serviços e ferramentas suportados pelo provedor. O consumidor não controla a infraestrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implantados e possivelmente configurações para o ambiente de hospedagem de aplicativos;
* DaaS - "Desktop as a Service" ou Área de trabalho como serviço (em português): O desktop como serviço (DaaS) é uma solução de computação em nuvem na qual a infraestrutura de desktop virtual é terceirizada para um provedor terceirizado. A funcionalidade DaaS conta com o desktop virtual, que é uma sessão controlada pelo utilizador ou uma máquina dedicada que transforma serviços de nuvem sob demanda para utilizadores e organizações em todo o mundo. Esse é um modelo eficiente no qual o provedor de serviços controla todas as responsabilidades de back-end que normalmente seriam fornecidas pelo software aplicativo. Desktop como um serviço também é conhecido como desktop virtual ou serviços de desktop hospedados. O DaaS facilita o gerenciamento de vários tipos de recursos de computadores, incluindo desktops, laptops, unidades de mão e thin clients. O DaaS usa execução distribuída ou execução remota, dependendo do tipo de implementação. O DaaS é uma alternativa econômica para soluções de TI convencionais e é usado por organizações e empresas que exigem altos níveis de desempenho e disponibilidade. Além disso, o DaaS serve como uma solução ideal para pequenas organizações com recursos limitados;
* SaaS - "Software as a Service" ou Software como Serviço (em português): O software como um serviço oferece um produto completo, executado e gerenciado pelo provedor de serviços. Na maioria dos casos, as pessoas que se referem ao software como um serviço estão se referindo às aplicações de utilizador final. Com uma oferta de SaaS, não é necessário pensar sobre como o serviço é mantido ou como a infraestrutura subjacente é gerenciada, você só precisa pensar em como usará este tipo específico de software.(p.ex.: Google Docs , Microsoft SharePoint Online);
* CaaS - "Containers as a Service" ou Contêineres como Serviço (em português): refere-se à oferta de serviço de virtualização baseado em contêineres. Contêineres são sistemas de virtualização ditos "leves" porque implementam uma arquitetura computacional que abstrai hardware como em IaaS mas, também, o sistema operacional. A sigla é, porventura, usada em referência a outros modelos de serviço, como "Content as a Service".
* XaaS - "Everything as a Service" ou Tudo como Serviço (em português): quando se utiliza tudo, infraestrutura, plataformas, software, suporte, enfim, o que envolve T.I.C. (Tecnologia da Informação e Comunicação) como um Serviço. Tudo como um serviço oferece a flexibilidade para que utilizadores e empresas personalizem seus ambientes de computação para criar as experiências que desejam, tudo sob demanda. O XaaS é dependente de uma forte plataforma de serviços em nuvem e conectividade confiável à Internet para ganhar com sucesso tração e aceitação entre indivíduos e empresas;
* DBaas - "Data Base as a Service" ou Banco de dados como Serviço (em português): O nome já deixa claro que essa modalidade é direcionada ao fornecimento de serviços para armazenamento e acesso de volumes de dados. A vantagem aqui é que o detentor da aplicação conta com maior flexibilidade para expandir o banco de dados, compartilhar as informações com outros sistemas, facilitar o acesso remoto por utilizadores autorizados, entre outros;
* SECaaS - "Security as a Service" - ou Segurança como Serviço (em português): é um modelo de negócio, onde o provedor de serviço integra serviços de segurança em uma infraestrutura corporativa por meio mais eficiente do que indivíduos ou corporações podem prover por si próprias - quando o custo total de posse é considerado;
* FaaS - "Function as a Service" - ou Função como Serviço (em português): é uma chamada de procedimento remoto hospedada em serviço que aproveita a computação sem servidor para permitir a implementação de funções individuais na nuvem que são executadas em resposta a eventos. O FaaS está incluído no termo mais amplo computação sem servidor, mas os termos também podem ser usados ​​de forma intercambiável;
* MBaaS - "Mobile Back-End as a Service" - ou Back-End móvel como Serviço (em português): também conhecido como Back-End como um Serviço (BaaS), os desenvolvedores de aplicativos móveis e de aplicativos web são providos com uma maneira de vincular seus aplicativos a serviços de armazenamento em nuvem e computação em nuvem com Interface de programação de aplicações (APIs) expostas às suas aplicações e Kit de desenvolvimento de software personalizado (SDK). Os serviços incluem gerenciamento de utilizadores, notificações por push, integração com serviços de redes sociais, entre outros. Esse é um modelo relativamente recente na computação em nuvem, com a maioria das startups de BaaS datadas de 2011 ou posteriores, mas as tendências indicam que esses serviços estão ganhando tração significativa junto aos consumidores corporativos.

## Serviços oferecidos

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

## Característica de computação em nuvem

A definição de computação em nuvem do Instituto Nacional de Padrões e Tecnologia identifica "cinco características essenciais":
* Auto atendimento sob demanda - Um consumidor pode utilizar unilateralmente recursos de computação, como tempo de servidor e armazenamento de rede, conforme necessário, automaticamente, sem exigir interação humana com cada provedor de serviços;
* Amplo acesso à rede - Os recursos estão disponíveis na rede e são acedidos ​​por meio de mecanismos padrão que promovem o uso por plataformas heterogêneas (por exemplo, telefones celulares, tablets, notebooks e estações de trabalho);
* Pool de recursos - Os recursos de computação do provedor são agrupados para atender a vários consumidores usando um modelo de multilocação, com diferentes recursos físicos e virtuais atribuídos e reatribuídos dinamicamente de acordo com a demanda do consumidor;
* Elasticidade rápida - Os recursos podem ser provisionados e liberados elasticamente, em alguns casos automaticamente, para escalar rapidamente para fora e para dentro de acordo com a demanda. Para o consumidor, os recursos disponíveis para utilização muitas vezes parecem ilimitados e podem ser apropriados em qualquer quantidade e a qualquer momento;
* Serviço medido - Os sistemas em nuvem controlam e otimizam automaticamente o uso de recursos aproveitando um recurso de medição em algum nível de abstração apropriado ao tipo de serviço (por exemplo, armazenamento, processamento, largura de banda e contas de utilizador ativas). O uso de recursos pode ser monitorado, controlado e relatado, fornecendo transparência tanto para o provedor quanto para o consumidor do serviço utilizado.

## Modelo de implantação

A adoção de sistemas Cloud Computing dependem das características tecnológicas e do modo como os utilizadores percebem a utilidade da Cloud. Por exemplo se os sistemas Cloud forem fáceis de usar e se acrescentarem utilidade aos utilizadores finais, estes tendem a usar sistemas Cloud. Para auxiliar na decisão do utilizador final na escolha do modelo Cloud, o utilizador deverá identificar a adequação da infraestrutura tecnológica, deverá mensurar os custos e o retorno desse investimento, bem como identificar as medidas de controle de integridade de informação, a usabilidade da informação e dos sistemas. Neste contexto, importa ainda identificar as medidas de confiabilidade e segurança e integridade dos sistemas da informação e dos dados. Dependemos das necessidades das aplicações que serão implementadas no modelo de implantação. 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 utilizadores possam aceder e utilizar determinados recursos no seu ambiente de computação em nuvem. Segue abaixo a divisão dos diferentes tipos de implantação:

### Nuvem privada

As nuvens privadas são aquelas construídas exclusivamente para um único utilizador (uma empresa, por exemplo). Diferentemente de um data center privado virtual, a infraestrutura utilizada pertence ao utilizador, 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.
Segundo Veras, a nuvem privada é uma infraestrutura em nuvem operada exclusivamente para uma única organização, e quase sempre operada pela própria organização ou por terceiros e hospedada interna ou externamente. Realizar um projeto de nuvem privada requer engajamento significativo para virtualizar o ambiente de negócios e exige que a organização reavalie as decisões sobre os recursos existentes. Pode melhorar os negócios, mas cada etapa do projeto levanta questões de segurança que devem ser abordadas para evitar vulnerabilidades sérias.
A hospedagem interna é bastante interessante, quando o controle dos dados é algo muito crítico, nesses casos, hospedar através de algum provedor, não é uma solução interessante, devido a perda do controle do armazenamento das informações.

### Nuvem pública

Uma nuvem é chamada de "nuvem pública" quando os serviços são disponibilizados em uma rede aberta para uso público. Os serviços de nuvem pública podem ser gratuitos. Tecnicamente, pode haver pouca ou nenhuma diferença entre a arquitetura de nuvem pública e privada, entretanto, a consideração de segurança pode ser substancialmente diferente para serviços (aplicativos, armazenamento e outros recursos) disponibilizados por um provedor de serviços para uma base de usuários pública e quando a comunicação é efetuada através de uma rede não confiável. Geralmente, os provedores de serviços de nuvem pública, como o Amazon Web Services (AWS), a Oracle, a Microsoft e o Google, possuem e operam a infraestrutura em seu data center e o acesso é geralmente feito pela Internet. A AWS, Oracle, Microsoft e Google também oferecem serviços de conexão direta chamados "AWS Direct Connect", "Oracle FastConnect", "Azure ExpressRoute" e "Cloud Interconnect" respectivamente. Essas conexões exigem que os clientes comprem ou concedam uma conexão privada a um ponto de "peering" oferecido pelo provedor de nuvem.

### Nuvem híbrida

Nas nuvens híbridas temos uma composição dos serviços disponibilizados por nuvens públicas, privadas e de terceiros com orquestração entre essas plataformas. Elas permitem que uma nuvem privada possa ter seus recursos acedidos 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.

### Outros
#### Nuvem comunitária

A nuvem comunitária é de uso exclusivo para específicas comunidades de consumidores de organizações com interesses compartilhados (Requerimentos de segurança, política, considerações de compliance, entre outros). Ela pode ser gerenciada por uma ou mais organizações na comunidade, por terceiros, ou por alguma combinação entre eles, e podem ser hospedadas tanto internamente ou externamente. Seu custo por utilizadores é maior a Nuvem pública (porém, menor do que na Nuvem privada), então apenas alguns recursos de menor custo da computação em nuvem podem ser aplicados.

#### Nuvem HPC

Nuvem HPC se refere ao uso dos serviços e infraestrutura da computação em nuvem para executar aplicações de alta performance (em inglês, High Performance Computing Cloud ou HPC Cloud). Essas aplicações consomem uma porção considerável de poder de computação e de memória, e são tradicionalmente aglomerados de computadores. Vários vendedores oferecem servidores que suportam a execução dessas aplicações. Em nuvem HPC, o modelo de implantação permite que todos os recursos de HPC estejam dentro da infraestrutura do provedor da nuvem ou em diferentes porções de recursos HPC a serem compartilhados entre o provedor e o cliente no local em que a infraestrutura se encontra. A implementação de nuvem para rodar aplicações de alta performance (HPC applications) começou majoritariamente para aplicações compostas de tarefas independentes, sem "Inter-process Communication" (IPC). Conforme os provedores de nuvens começaram a oferecer tecnologias de rede de alta velocidade, como a InfiniBand, aplicações com multiprocessamento totalmente acopladas começaram a se beneficiar dos serviços de nuvem também.

#### Multicloud

O Multicloud é o uso de vários serviços de computação em nuvem em uma única arquitetura heterogênea para reduzir a dependência de fornecedores individuais, aumentar a flexibilidade por meio de opções, mitigar desastres etc. Diferencia-se da nuvem híbrida em se referir a vários serviços em nuvem, em vez de várias implantações modos (nuvem pública, hardware privado, ou legado).

#### Nuvem de BigData

Os problemas para transferir grandes quantidades de dados para a nuvem, assim como segurança desses dados uma vez que esses dados estão na nuvem inicialmente dificultaram a implementação de nuvem para Big Data, mas agora que muitos dados se originam na nuvem e com o advento dos servidores "bare-metal", a nuvem se tornou uma solução para usada para diversos casos, incluindo análise de negócios ("business analytics") e análises geoespaciais ("geospatial analysis").

#### Nuvem Distribuída

Uma plataforma de computação em nuvem pode ser montada por máquinas distribuídas em diferentes locais, conectadas a uma rede ou a um serviço de hub. Existem dois tipos de nuvem distribuída: computação com recursos públicos ("public-resource computing") e nuvem voluntária ("volunteer cloud").
* Computação com recursos públicos: Este tipo de nuvem distribuída é resultado de uma extensa definição de computação em nuvem, porque eles são mais semelhantes à nuvem distribuída do que à computação em nuvem. De qualquer forma, esta é considerada uma subclasse da computação em nuvem, e alguns exemplos incluem plataforma distribuídas de computação como: BOINC e Folding@Home;
* Nuvem voluntária: Esta é caracterizada como a interseção entre nuvem distribuída e computação em nuvem, onde a infraestrutura da computação em nuvem é construída utilizando recursos voluntários. Muitos desafios surgem por conta deste tipo de infraestrutura, por causa da volatilidade dos recursos usados para a construção e por conta do ambiente dinâmico em que opera. Esta também pode ser chamada de nuvens de pessoa para pessoa ("peer-to-peer cloud"), ou nuvens "ad-hoc". A Cloud@Home é uma iniciativa interessante nessa direção, ela tem como objetivo implementar uma infraestrutura de computação em nuvem utilizando recursos voluntários provendo um modelo de negócios que incentiva contribuições através de restituição financeira.

## Arquitetura
### Arquitetura de Nuvem

Arquitetura de nuvem, os sistemas de arquitetura dos sistemas de software envolvidos na entrega da computação em nuvem, tipicamente envolvem múltiplos componentes de nuvem comunicando-se entre si através de um mecanismo de acoplamento solto, como uma fila de mensagens. O fornecimento elástico implica inteligência no uso de acoplamento rígido ou solto aplicado a mecanismos como esses e outros.

### Engenharia de Nuvem

Engenharia de nuvem é a aplicação de disciplinas de engenharia à computação em nuvem. Tal acarreta uma abordagem sistemática para as preocupações de alto nível de comercialização, padronização e governança na concessão, desenvolvimento, operação e manutenção de sistemas de computação em nuvem. É um método multidisciplinar que engloba contribuições de diversas áreas, como sistemas, software, web, desempenho, informação, segurança, plataforma, risco e engenharia de qualidade.

## Vantagens

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 utilizador não precisa se preocupar com o sistema operacional e hardware que está usando em seu computador pessoal, podendo aceder os 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 utilizador;
* 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 acedidos em qualquer lugar, basta apenas que haja acesso à Internet, não são mais restritos ao ambiente local de computação, nem dependem da sincronização de mídias removíveis;
* O utilizador 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, paga pelo que consome; 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 computação em nuvem é bem mais enxuta do que uma solução tradicional de hospedagem ou alojamento, consumindo menos energia, refrigeração e espaço físico e consequentemente contribuindo para a preservação e o uso racional dos recursos naturais.

## Desvantagens

A maior desvantagem da computação em nuvem vem fora do propósito desta, que é o acesso à internet. Caso você perca o acesso, comprometerá todos os sistemas embarcados.
* Velocidade de processamento: caso seja necessário uma grande taxa de transferência, se a internet não tiver uma boa banda, o sistema pode ser comprometido. Um exemplo típico é com mídias digitais ou jogos;
* Assim como todo tipo de serviço, ele é custeado.

## Gerenciamento da segurança da informação na nuvem

Sete princípios de segurança em uma rede em nuvem:
* Acesso privilegiado de utilizador - A sensibilidade de informações confidenciais nas empresas obriga um controle de acesso dos utilizadores e informação bem específica de quem terá privilégio de administrador, para que então esse administrador controle os acessos;
* 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 computação em nuvem devem estar preparados para auditorias externas e certificações de segurança;
* 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;
* 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;
* 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 infraestrutura em diversas localidades está vulnerável a falha completa. Importante ter um plano de recuperação completa e um tempo estimado para tal;
* Apoio à investigação - A auditabilidade de atividades ilegais pode se tornar impossível na computação em nuvem uma vez que há uma variação de servidores conforme o tempo onde estão localizados os acessos e os dados dos utilizadores. 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;
* Viabilidade em longo prazo - No mundo ideal, o seu fornecedor de computação em nuvem 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 computação em nuvem 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.

## Revelações da Vigilância pela NSA

Em outubro de 2013 a imprensa publicou, com base nos documentos revelados por Edward Snowden, que através do Programa MUSCULAR, o GCHQ britânico e a NSA secretamente invadiram os principais enlaces de comunicação dos centros de processamento de dados do Yahoo! e do Google ao redor do mundo, tendo acesso aos dados da nuvem de ambos.
Um dos slides de uma apresentação da NSA sobre o programa mostra como este funciona e apresenta um rosto com um sorriso indicando o sucesso da NSA em invadir os sistemas alvo. Em palestra em abril de 2014, o jornalista Barton Gellman disse que quando os engenheiros do Google viram o slide, responderam furiosamente ao ataque ao sistema do Google. Foi também este slide um dos fatores importantes em convencer o jornal Washington Post da necessidade e importância de publicar os documentos revelados por Edward Snowden.

## Dúvidas

Existe uma ambiguidade terminológica no termo nuvem, que mantém a aura de algo nebuloso. 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 incluem 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.

## Sistemas atuais

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 offline, baseado no ubuntu notebook remix, já tem suporte a vários navegadores como Google Chrome, Safari, Firefox, e está 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 utilizador 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 utilizadores. 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 utilizadores, 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é 50gb de fotos, músicas, documentos, livros e contatos gratuitamente, com a possibilidade de adquirir mais espaço em disco (pago);
* Ubuntu One: Ubuntu One é a 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 utilizadores;
* IBM Cloud: 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;
* Dropbox: Dropbox é um sistema de armazenamento em nuvem que inicia-se gratuitamente com 2gb e conforme indica amigos o espaço para armazenamento de arquivos cresce até 50gb. Também tem opções pagas com maior espaço;
* OneDrive: Serviço de armazenamento em nuvem da Microsoft com 5gb free e com a possibilidade de adquirir mais espaço. Tem serviços sincronizados com o Windows 8, Windows phone e Xbox.

## No Brasil

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, ocorreu uma grande adoção.
A empresa Centralx$^®$ foi a primeira a desenvolver a tecnologia em nuvem no Brasil, em 2001. Desenvolvedora de software para consultório médico, em 2001 lançou o HiDoctor$^®$ NET, que permitiu que os dados do software fossem sincronizados com a Internet, de maneira que vários computadores pudessem ser mantidos com os mesmos dados atualizados e ainda que os médicos conseguissem, através de conexão segura com a Internet, aceder aos dados dos seus pacientes. Sendo assim, foi a primeira aplicação a implementar o conceito de “nuvem” e sincronização de dados no Brasil e a Centralx$^®$ a primeira empresa a oferecer a tecnologia para sistemas médicos. A tecnologia de sincronia multiponto e acesso web aos dados do software instalado são usados até hoje pelo programa, que recebe atualizações constantes.
No ano seguinte, 2002, a empresa Katri também desenvolveu a tecnologia no Brasil, batizando-a IUGU. Aplicada inicialmente no site de busca de pessoas físicas e jurídicas Fonelista. Durante o período em que esteve no ar, de 2002 a 2008, os utilizadores do site puderam comprovar a grande diferença de velocidade nas pesquisas proporcionada pelo processamento paralelo.
Em 2009 a tecnologia evoluiu muito e sistemas funcionais desenvolvidos no início da década já passam de sua 3ª geração, incorporando funcionalidades e utilizando de tecnologias como "índices invertidos" ("inverted index").
No ambiente acadêmico o Laboratório de Redes e Gerência da UFSC foi um dos pioneiros a desenvolver pesquisas em Computação em Nuvem publicando artigos sobre segurança, IDS ("Intrusion Detection Systems") e SLA ("Service Level Agreement") para computação em nuvem. Além de implantar e gerenciar uma nuvem privada e computação em nuvem verde.
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.