Afinal o que é o Cloud Computing?
O termo “Cloud” é provavelmente um dos termos mais usados actualmente no mundo da tecnologia, no entanto, é erro frequente considerar que a Cloud é algo imaterial, abstracto, por analogia à "nuvem".
É também errado considerar o Cloud Computing como uma tecnologia ou confundir com virtualização (a tecnologia que permite dividir os recursos de uma máquina física em máquinas virtuais).
Segundo o livro Introdução ao Cloud Computing do autor António Miguel Ferreira, Cloud Computing é um conceito e não uma tecnologia como muitos o identificam. Na prática, o Cloud Computing é um modelo de disponibilização e utilização de Tecnologias de Informação e Comunicação (TIC) que representa uma evolução de modelos TIC anteriores.
Segundo o National Institute of Standards and Technology, Cloud Computing é um modelo que permite o acesso ubíquo, conveniente e a pedido, através da rede, a um conjunto de recursos de computação partilhados (tais como redes, servidores, storage, aplicações, serviços, etc) que podem ser rapidamente aprovisionados ou libertados, com um mínimo de esforço e sem interacção com o fornecedor.
O modelo Cloud é composto por 5 características essenciais, 3 modelos de serviço e 4 modelos de implementação.
5 características essenciais:
- 1) On-demand self-service: eu, utilizador, decido quando necessito do serviço e decido quando o mesmo deve ser disponibilizado, sem intervenção humana de um fornecedor. Normalmente isto faz-se a partir de um vulgar browser Web. A maioria dos denominados fornecedores de Cloud, hoje em dia, falha nesta característica essencial.
- 2) Broad network access: tenho acesso ao serviço Cloud a partir de um equipamento, desde que esteja ligado à Internet.
- 3) Resource pooling: a Cloud pressupõe uma optimização dos recursos, pela partilha dos mesmos (mas garantindo, ao utilizador final, a sua fatia reservada de recursos). Por exemplo, os Cloud Servers são uma “fatia” de um servidor físico de maior dimensão. Como clientes diferentes utilizam Cloud Servers diferentes, o servidor físico subjacente é optimizado, ou seja, há menos desperdício de recursos de RAM, CPU, DISCO e energia.
- 4) Rapid elasticity: a possibilidade de fazer upgrade ou downgrade instantaneamente, quando necessário. Eu, cliente, necessito inicialmente de 2 servidores com 16 GB de RAM. Mas no dia seguinte necessito de 10 servidores com 32 GB de RAM, pois o meu negócio cresceu. No entanto, passadas mais algumas semanas, optimizei a minha aplicação e apenas necessito de 4 servidores com 16 GB de RAM, novamente. Esta elasticidade é fundamental. Se sou um utilizador de uma aplicação (por exemplo, de gestão da minha actividade comercial), tenho que ter a possibilidade de criar 5 contas para os meus colaboradores, crescer para 30, ou descer para 2 ou 3. A elasticidade é também uma característica em que falham muitos (falsos) fornecedores de Cloud.
- 5) Measured service: Cloud Computing é visto como um serviço, que se paga à medida da utilização. Aqui entra o conceito de “pay-per-usage”, tal como hoje em dia acontece com o nosso consumo de electricidade ou de água. Não devem existir custos iniciais ou custos recorrentes fixos. A Cloud pura é aquela em que pago muito, se utilizar muito, pago pouco, se utilizar pouco, ou nada, se deixar de utilizar. É um modelo de pagamento após utilização, não de pré-pagamento.
3 modelos de serviço
- IaaS – Infrastructure-as-a-Service: Trata-se da utilização de recursos de infraestrutura básicos de computação e armazenamento. Neste caso os recursos são RAM, CPU e DISCO (que existem num servidor), sistemas operativos (Linux, Windows) ou, simplesmente, capacidade de armazenamento num espaço de storage externo. O fornecedor mais conhecido a nível mundial é a Amazon AWS. Com presença em Portugal (e outros países), temos a Lunacloud.
- PaaS – Platform-as-a-Service: Trata-se da utilização de um ambiente de desenvolvimento ou serviço de bases de dados, tipicamente para programadores. Quem se quer abstrair ainda mais e nem sequer utilizar um servidor Linux (como o que seria acessível num serviço do tipo IaaS), pode simplesmente utilizar capacidade de computação num ambiente de desenvolvimento gerido pelo fornecedor. Um dos exemplos mais conhecidos é o Heroku, mas o Azure da Microsoft é também essencialmente um serviço do tipo PaaS.
- SaaS – Software-as-a-Service: Trata-se do serviço de Cloud que está mais próximo do consumidor final, do utilizador não profissional. Neste caso, o serviço é a disponibilização de uma aplicação, vulgarmente através de uma interface Web normal. O exemplo mais comum é o Webmail (um serviço de e-mail utilizado com um browser), como o Hotmail ou o Gmail. Mas no mundo profissional existe um outro exemplo muito conhecido, de uma aplicação de CRM, o Salesforce. E muitos outros…
4 Modelos de implementação
Os modelos de implementação definem a forma como o serviço nos é prestado. Existem dois tipos principais: cloud privada e a cloud pública e duas variantes: cloud híbrida e cloud comunidade.
Se quere saber mais detalhes sobre Cloud Computing, aconselhamos a lerem o livro Introdução ao Cloud Computing.
Este artigo tem mais de um ano
E um passatempo do Pplware para oferecer uns livrinhos desses aqui à malta…? 🙂
Um dia destes 😀
+/- on-topic: deviam fazer um artigo sobre o novo modelo de computação distribuida de aprendizagem por maquina cujo codigo foi tornado open-source pela google à dias http://tensorflow.org/
Obrigado pela info.
It’s someone else’s computer…
Legal é quando tua conta é excluida sem motivo algum, como ocorreu com minha conta do dropbox na semana passada.
O pior é o atendimento péssimo deles, que não te dão satisfação alguma.
Estamos a falar de coisas diferentes 🙂
Relativamente à Dropbox ?
Pode ser estupidez mas eu sempre tive a ideia que “cloud computing” passasse pela ideia de ter mos um computador virtual a funcionar para nós em que pudéssemos aceder à maquina como se fosse uma pagina de internet aproveitando serviços como o Mega como se fossem discos rígidos. No fundo termos algo como os nossos PCs de casa mas na rede mundial. Assim em qualquer lugar poderíamos aceder (desde que tivéssemos Internet e fizéssemos o mesmo que em casa fosse trabalhar, jogar e mesmo descarregar ficheiros se assim o quiséssemos…
Alguns serviços permitem isso, ter um servidor com as características que queremos em que acede por RDP mas actualmente ainda sai um pouco caro.
Mas de uma forma geral “cloud computing” é somente um conceito e principalmente uma forma diferente de vender um servidor ou serviço de Hosting.
Ou seja um nome todo pomposo para impingir (no bom sentido) um serviço informático…
Muitas empresas vendem “Cloud Servers”, poucas ou quase nenhumas vende Cloud Servers, por esta razão foi criado um standard, esse mesmo standard foi apresentado neste artigo em “5 características essenciais:”
Infelizmente as maioria das pessoas desconhece que existe um standard e compram gato por lebre.
Só é impingido quem não sabe o que está a comprar
Não existe o risco de ao se criar um sistema de saas a empresa onde se disponibiliza a aplicação ver o código e ficar com ele? Existe alguma forma de impedir que isso aconteça?