Jun 15

O National Institute of Standards and Technology (NIST [1]) disponibilizou no início de Junho o primeiro rascunho de uma definição para Cloud Computing (Computação em Nuvem). Trata-se de um documento de duas páginas com as primeiras linhas do que futuramente deve se tornar uma definição formal desse paradigma de computação na visão do instituto.

O texto é muito acessível e basicamente define cinco características essenciais que definem computação em nuvem, três modelos de entrega dos serviços e quatro modelos de instalação e configuração da infraestrutura necessária para criação das nuvens.

O texto completo está disponível publicamente no site do instituto [2]. Neste artigo gostaria apenas de fornecer a descrição dos três modelos de entrega de serviço definidas neste trabalho, pois através desses conceitos é possível entender melhor os serviços de computação em nuvem oferecidos atualmente:

  • Software as a Service (SaaS): Esse é o já conhecido pela maioria dos profissionais da área de software, trata-se de entregar produtos de software para os consumidores finais através de dispositivos e aplicações clientes “leves”, como dispositivos móveis (p.ex. celulares e netbooks), e de uma forma mais geral através de navegadores de Internet padrão (browsers). O cliente final não gerencia ou controla a infraestrutura necessária para o funcionamento do serviço, como rede, armazenamento, sistema operacional, nem tão pouco as funcionalidades oferecidas. Nessa categoria estão produtos como Gmail, Google Docs, Twitter, Flickr, Picasa, Facebook, entre muitos outros.
  • Plataform as a Service (PaaS): Nessa categoria o provedor fornece uma infraestrutura na nuvem para a instalação e disponibilização de aplicações desenvolvidas pelo o usuário, utilizando ferramentas e ambientes de execução fornecidas pelo provedor do serviço. O usuário não gerencia ou controla os recursos de infraestrutura do ambiente de execução, como sistema operacional, rede, plataforma de execução, banco de dados e etc. Esses recursos são oferecidos de forma transparente através de APIs fornecidos pelo provedor. Mas nesse caso o cliente tem total controle da aplicação em si e geralmente de parâmetros de configuração do ambiente de execução. O Google App Engine [3] é talvés o mais famoso exemplo desse modelo.
  • Infrastructure as a Service (IaaS): Neste modelo os serviços oferecidos aos clientes são processamento, armazenamento, rede e outros recursos computacionais fundamentais através dos quais os usuários podem executar quaisquer tipos de aplicações. Nesse caso o cliente tem total controle sobre o ambiente de execução, desde o sistema operacional até a plataforma de execução das aplicações. Porém, o usuário não gerencia ou controla a infraestrutura da nuvem em si, como por exemplo em qual hardware real suas “máquinas” estarão rodando. O Amazon Web Services (AWS [4]) sem dúvida é o melhor representante deste modelo atualmente.

Como diz a primeira nota da versão atual da definição do NIST [2], o paradigma de computação em nuvem está em pleno desenvolvimento e suas definições e características evoluirão com o tempo.

[1] http://www.nist.gov/index.html
[2] http://csrc.nist.gov/groups/SNS/cloud-computing/index.html
[3] http://code.google.com/appengine/
[4] http://aws.amazon.com/

Tagged with:
May 05

É fato que a Amazon saiu na frente no mercado de Cloud Computing com seu serviço Amazon Web Services. O serviço foi lançado em 2006, mas foi em meados de 2008 que passou a ganhar mais destaque devido ao grande interesse do mercado na chamada computação em nuvem, que basicamente é a venda de recursos computacionais como serviço na Internet. E ainda não há no mercado um sistema tão simples de usar e com um esquema de tarifação tão atrativo como o da Amazon.


No serviço Elastic Cloud Computing, ou EC2, basicamente a Amazon cobra por tempo de uptime de uma “máquina”, chamada instância. Uma instância “small” por exemplo, com capacidade computacional equivalente a um computador com processador AMD Opteron(tm) Dual-Core de 2.5GHz com 2GB custa US$ 0,10 por hora para Linux e Unix, e US$ 0,125 para instâncias Windows, além dos custos de tráfego de rede e armazenamento [EC2 pricing]. Mas o serviço EC2 é apenas um dos 15 serviços oferecidos atualmente.

O mais interessante é que você pode subir quantas instâncias quiser com um único comando. Em questão de segundos uma ou “n” máquinas estão no ar, pode-se criar imagens customizadas com todo o software necessário e simplesmente dar um comando como

ec2-run-instances -n 50 ami-id

para subir 50 instâncias da imagem identificada com “ami-id” na nuvem. Dai pra frente você acessa a console das máquinas via SSH ou Terminal Services. E o melhor, pagando US$ 5,00 por hora por um recurso computacional equivalente a 50 computadores Dual-Core e 100GB de memória ao todo! Imagine ter que alugar ou comprar essas máquinas, switches e roteadores, instalar o sistema operacional e programas necessários nas 50 máquinas, e etc, etc, etc. Pra quem rala pra conseguir meia-dúzia de máquinas no laboratório da empresa sabe o que isso significa.

E pra melhorar ainda mais essa oferta a Amazon lançou um programa educacional, onde professores e estudantes podem utilizar a nuvem para lecionar disciplinas relacionadas a computação e desenvolver projetos acadêmicos, e de graça!

Cada professor pode ter até 2 disciplinas simultâneas, com US$ 100,00 de crédito para cada aluno usar durante até 1 ano. Chega de brigar com os laboratoristas para instalar o programa X, liberar as portas Y e Z, e todos os percalços que todo professor e estudante já tiveram que lidar para conseguir recursos nos laboratórios da faculdade.

Tenho certeza que esse tipo de infraestrutura motivaria muito os estudantes de computação, além de ser uma tecnologia “em alta” e com toda certeza uma tendência sem volta para o mercado, os estudantes têm a sua disposição uma capacidade computacional e um ambiente de desenvolvimento que apenas grandes empresas poderiam bancar.

É claro que esse tipo de inciativa visa formar profissionais capacitados a trabalhar nesse novo ambiente, é um investimento que com certeza retornará para a Amazon na forma de novos clientes que só poderão utilizar esse tipo de serviço se puderem contar com mão-de-obra capacitada. Mas independente da plataforma, interface e produtos específicos que a Amazon oferece atualmente, os conceitos utilizados para o desenvolvimento de aplicações para rodar nesse tipo ambiente servirá para qualquer outra nuvem, seja o Google App Engine, Sun Cloud Computing, ou até mesmo na sua “nuvenzinha particular” criada com o promissor projeto open source Eucalyptus.

Parabéns pela iniciativa da Amazon e boa sorte para os professores, estudantes e profissionais que decidirem aceitar o desafio e sair na frente nessa nova e excitante era da computação!

Tagged with:
preload preload preload