thumb|400px|A nuvem (cloud) é o nome genérico dado à computação em servidores disponíveis na Internet a partir de diferentes provedores 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).
História A metáfora da nuvem para representar redes de computadores e a internet surgiu na década de 1990, quando a empresa de tecnologia General Magic aplicou o conceito em um artigo para descrever uma rede de dispositivos interconectados e serviços digitais. O conceito começa a tomar mais forma pouco tempo depois, em 1996, quando executivos da Compaq utilizaram o termo em planos internos da empresa tratando do futuro da computação e consequente estratégia comercial da empresa.
A visão da nuvem começou a se materializar de forma mais concreta nos anos 2000, impulsionada pela popularização da internet e pelo avanço das tecnologias de computação. A Amazon desponta como uma das primeiras a oferecer serviços web para desenvolvedores, sobretudo com o lançamento da Amazon Simple Storage Service (S3) e do Amazon Elastic Compute Cloud (EC2), em 2006. Nos anos seguintes, outras gigantes da tecnologia estabeleceram suas próprias plataformas de nuvem: Microsoft Azure (2008), Google Cloud (2012), IBM Cloud (2013), Oracle Cloud (2016).
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 : 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 : 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 : 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 : 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 : 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 : 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 : 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 : é 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;https://www.cio.com/article/3192649/security/security-as-a-service-model-gains-traction.html FaaS - "Function as a Service" - ou Função como Serviço : é 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.https://www.martinfowler.com/bliki/Serverless.html 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;Sbarski, Peter (2017-05-04). Serverless Architectures on AWS: With examples using AWS Lambda (1st ed.). Manning Publications. ISBN 9781617293825.