Livraria Cultura

09 novembro 2010

Cloud Computing: eliminando algumas dúvidas 


Antes de mais nada precisamos lembrar que existem inúmeros tipos de serviços de Computação em Nuvem. À primeira vista, quando se fala no assunto, aparece a propensão de imaginarmos um único modelo, geralmente de infraestrutura. Mas, existe uma diversidade dos serviços de Computação em Nuvem, que podem ser melhor exemplificadas quando os dividimos em camadas. Estas camadas mostram como os serviços de TI podem ser ofertados sob o modelo de Computação em Nuvem:



a)    Nivel 1: camada de infraestrutura em nuvem (infrastructure-as-a-service), com oferta de serviços de hospedagem de capacidade computacional e armazenamento de dados. É a camada mais básica da Computação em Nuvem.Um exemplo típico são as ofertas de serviços em nuvem da Amazon, chamados de EC2 e S3.

b)     Nivel 2: camada de  desenvolvimento e serviços de gerenciamento em nuvem. Um exemplo é a plataforma de desenvolvimento como as oferecidas pelo Google AppEngine e pelo force.com. Muitas vezes estas camadas usam serviços e softwares da camada anterior.

c)      Nivel 3: camada de aplicações ou Software-as-a-Service  como Salesforce.com, Google Docs ou LotusLive da IBM. Muitas das aplicações Web 2.0 mais conhecidas, como Facebook, Flickr e Linkedin são serviços baseados em nuvem, embora seus usuários não tenham idéia disso. Esta camada é a parte mais visível da Computação em Nuvem e a que mais enfatiza seus benefícios para os usuários.

d)     Nivel 4: camada de processos, que envolvem processos de negócio baseados nas tecnologias ofertadas pelas camadas anteriores. Um exemplo são os serviços de BPO (Business Processing Outsourcing) oferecidos no modelo  de Computação em Nuvem. Ainda incipiente, mas que deve no futuro transformar o próprio mercado de BPO.



Abaixo de todas estas camadas podemos imaginar uma camada zero, onde se situam os fornecedores de tecnologias básicas, que são exatamente os servidores, discos, equipamentos de rede, sistemas operacionais. Estes componentes são a base tecnológica das nuvens. Sim, as nuvens precisam de computadores e data centers...



Uma tecnologia fundamental ao conceito de nuvem é a virtualização. Virtualização é basicamente o uso de software para simular hardware. Quando alugamos os serviços de uma nuvem, na prática não estamos alugando diretamente computadores reais, mas computadores virtuais simulados por software, em cima dos computadores reais da infraestrutura do provedor da nuvem.



A virtualização não é, em absoluto, uma novidade tecnológica. Suas primeiras implementações datam dos mainframes 360/67 da IBM, que apareceram em 1967.  Mas, nos últimos anos, com o aumento da capacidade dos processadores, a virtualização, antes restrita aos mainframes, começou a se espalhar por servidores de pequeno porte, aumentando sua utilidade e disseminação.



A virtualização nos permite construir múltiplos servidores virtuais em uma única máquina física. Cada uma destas máquinas virtuais funciona como se fosse uma máquina real, com seu sistema operacional e aplicações. A virtualização possibilita um uso muito mais eficiente do recursos computacionais, pois compartilha e distribui a carga de vários servidores virtuais em um servidor físico.



O termo infraestrutura como serviços começou a aparecer no final de 2006, como uma sofisticação do conceito e da terminologia de Hardware-as-a-Service, proposto pelo jornalista Nicholas Carr. A idéia básica é que o usuário, ao invés de adquirir e instalar servidores e equipamentos de rede em um data center, poderia usar estes recursos a partir de um provedor externo. Mas, diferentemente dos modelos tradicionais de outsourcing, a Computação em Nuvem não alocaria um determinado recurso ao contratante. A nuvem  alocaria de foma dinâmica e automática os seus recursos, para atender aos requisitos de demanda do cliente.



As caracteristicas básicas do modelo de Infrastruture-as-a-Service (IaaS) são:

a)      O usuário não precisa obrigatoriamente dispor de hardware e software nos moldes tradicionais, ou seja, em seu próprio data center. Pode alocar estes recursos em uma nuvem pública. A capacidade de processamento e de armazenamento é obtida remotamente da nuvem. Por outro lado, ele pode adotar o conceito de nuvem em seu data center, aparecendo então o conceito da nuvem privada.

b)      Em uma nuvem pública todos os recursos computacionais estão na nuvem do provedor, que os alocará de forma dinâmica e elástica, para atender as demandas de flutuação do negócio.

c)       O acesso à nuvem é via Internet. Portanto banda larga é fundamental.

d)      Os recursos, de uma maneira geral, sendo compartilhados tendem a ser usados de forma mais eficiente.

e)      Todo o pagamento é pelo volume de utilização. Usou, pagou pelo que foi usado.

f)         Este modelo incentiva a criação de ecossistemas que podem gerar aplicações e serviços complementares à oferta IaaS. Um exemplo é ecossistema criado em cima da nuvem da Amazon, com inúmeras empresas disponibilizando serviços adicionais usando esta nuvem como infraestrutura. O catálogo de aplicações basedas na nuvem da Amazon pode ser visto em:  http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=60.



Outro serviço em nuvem interessante é o do Sofware-as-a-Service. O modelo SaaS é um modelo que entrega software como um serviço, de forma diferente do modelo tradicional, onde a empresa adquire uma licença de uso e instala o software nos servidores da empresa. O modelo SaaS muda as regras do jogo, transformando a maneira de como software é comercializado. Não existe mais a necessidade de contratos de manutenção, pois esta fica  cargo do provedor e não mais da empresa. O usuário passa apenas a usar o software, sem se preocupar com as atividade de instalação, manutenção, upgrades, etc.



O benefício pode ser visto através de um exemplo bem simples: um editor de texto. No modelo tradicional, o usuário precisa ter uma cópia do software e sua respectiva licença de uso no seu desktop ou laptop. O usuário adquire esta licença para uso 24x7,  mesmo que não use o software a noite ou nos fins de semana. Além disso, se ele levar trabalho para casa e ter que usar um outro computador, como seu PC doméstico, terá que obter uma segunda licença. No modelo SaaS, quando o software não está sendo usado, não está sendo pago. E ele, usuário, pode usar o editor em casa ou no escritório, sob a mesma assinatura, pagando apenas pelo seu uso.



O modelo SaaS não surgiu de um dia para o outro, mas é fruto da convergência de diversas tecnologias (networking, ferramentas de programação e capacidade computacional) que vem apresentando custos continuamente descrescentes. Por outro lado, os softwares vendidos por modelos de licenciamento estão continuamente se tornando mais complexos e custosos para serem adquiridos, implementados e mantidos. E em cima deste contexto, um cenário de negócios exigindo cada vez mais rapidez e menores custos das áreas de TI. A combinação de todos estes fatores gerou um pano de fundo que criou um mercado para que o software possa ser entregue como serviços, a custos bem menores que no modelo atual.



Surgiu então o SaaS, cujo conceito começou a circular por volta de 1999, mas apenas nos últimos anos ganhou espaço considerável de mídia. Uma das iniciativas pioneiras foi o Salesforce.com, embora hoje muitos outros softwares já estejam disponíveis sob este modelo.



Ainda existe uma grande confusão em torno das diferenciações entre SaaS e o anterior modelo ASP ou Application Services Provider. SaaS está relacionada com a funcionalidade da aplicação, entregue via modelo de subscrição. O cliente não precisa ter a “propriedade” do software. O ASP é diferente. É um modelo de hospedagem da aplicação, onde o cliente adquire o software e o instala em um provedor remoto. Por exemplo, o cliente adquire a licença de uso de um ERP e o hospeda em um servidor externo. A diferença com relação ao modelo tradicional é que no ASP em vez de instalar e operar o aplicativo nos seus servidores, ele fica em servidores externos. Se um dia o cliente não quiser mais usar este provedor externo, mas rodá-lo internamente, como ele “possui” o software, simplesmente o instala em seus próprios servidores.



No SaaS, ele não “possui” o software e portanto não pode instalá-lo em seus próprios servidores. Adicionalmente não precisa se preocupar com a tecnologia em que o software vai operar. No ASP esta preocupação existia, pois ele tinha que adquirir um software para determinado ambiente operacional.



Software-as-a-Service é um modelo disruptivo. Sua proposição de valor é  funcionalidade oferecida e não a “propriedade” do produto. A idéia básica é que você na verdade não quer uma máquina de lavar roupa, mas quer a roupa lavada. Você não necessita instalar um pacote de CRM ou ERP, mas precisa apenas das suas funcionalidades.



O cliente não adquire licença de uso, mas paga uma taxa mensal baseada no número de funcionários que acessem o serviço. SaaS por ser um modelo disruptivo, vai afetar toda a estrutura da indústria de software. As empresas de software que se sustentarão neste modelo tenderão a ter nítida vantagem sobre as que se mantiverem rigidamente presas ao modelo de depender de despesas de capital por parte de seus clientes, para a compra de seus produtos. Claro, não será amanhã, mas é um movimento que já se iniciou...