Estive ontem no CIAB participando de um painel sobre Cloud Computing. Durante o painel e após, surgiram diversas perguntas que são emblemáticas dos questionamentos dos CIOs e CTOs. Vale a pena compartilhá-las aqui.
Mas, antes de mais nada é importante frisar que na minha opinião Cloud Computing não é hype mas um novo modelo computacional que requer imediata atenção dos executivos de TI.
Bom, mas indo para as questões, o primeiro questionamento que surge em eventos como CIAB e outros geralmente é “Me explica o que realmente é Cloud Computing”. Existem inúmeras definições, mas uma que podemos adotar foi a criada pelo NIST (National Institute of Standards and Technology), órgão de padrões do governo americano que definiu Cloud Computing como “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models”.
As características essenciais são auto-serviço, compartilhamento de recursos, elasticidade, acesso via rede de alta velocidade e serviços mensuráveis. Os serviços da nuvem são SaaS (Software as a Service), PaaS (Platform as a Service) e IaaS (Infrastructure as a Service). Já os modelos de entrega destes serviços são Private cloud, Community cloud, Public cloud e Hybrid cloud. Os documentos do NIST podem ser acessados em http://csrc.nist.gov/groups/SNS/cloud-computing/.
Depois desta resposta vem inevitavelmente a questão “mas, onde cloud computing é diferente do velho e tradicional outsourcing?”. Para mim está claro que Cloud Computing é um novo modelo computacional que apresenta algumas diferenças fundamentais em relação ao outsourcing como conhecemos. Por exemplo, a elasticidade é vital para permitir o modelo pay-as-you-go (pagar pelo que consome) e as economias de escala oferecidas pelos massivos data centers dos provedores de nuvem. Outras diferenças são um gerenciamento automático (em escala muito maior que os tradicionais data centers, onde muitas operações, como provisionamento de recursos, são manuais), workloads padronizados (economia de escala é conseguida quando se reduz a variedade de configurações), provisionamento automático (voce requisita e obtém de imediato um recurso através de um portal de auto-serviço e não precisa passar por negociações e demoras até que um servidor físico seja instalado e configurado) e um billing similar ao da telefonia móvel, onde você paga pelos recursos devidamente consumidos e não por configurações ociosas.
Surge então a pergunta “afinal cloud computing é uma revolução ou evolução?”. Do ponto de vista tecnológico é evolucionário, pois é construído em cima de tecnologias já existentes como a nossa conhecida virtualização. Por outro lado a arquitetura multitenant (um texto ainda incipiente pode ser encontrado no Wikipedia, em http://en.wikipedia.org/wiki/Multitenant) e mesmo ferramentas de análise massivamente paralelas como o Hadoop (http://hadoop.apache.org/) são revolucionárias. Mas podemos considerar Cloud Computing como uma revolução na maneira de se gerenciar e entregar TI. Provavelmente em breve consideraremos capacidade computacional como mais uma das utilities, ao lado de energia, água, gás e comunicação. Para isso acontecer cloud computing terá que ter sido adotado massivamente.
Um dos questionamentos mais comuns é “quais os benefícios e riscos de Cloud Computing?”. Começando pelos benefícios posso destacar aqui alguns itens como a velocidade de resposta para o “time-to-application”, pois a computação em nuvem permite implementar uma aplicação em muito menos tempo, seja adotando uma já pronta no modelo SaaS ou desenvolvendo uma nova via PaaS e/ou IaaS. Basta comparar com quanto tempo se demora para selecionar, adquirir, instalar e configurar um novo servidor. Três meses? Quatro meses? Outros benefícios são o alinhamento dos investimentos (leia-se budgets de TI) com a demanda (você não precisa comprar uma máquina para ser usada daqui a seis meses), a substituição do capex pelo opex (não precisa investir seu capital antes de usar os ativos) e a possibilidade de usar a computação em nuvem como válvula de escape para aquelas situações de demanda de pico, que ultrapassa a capacidade do data center. Não se precisa mais configurar um data center para o período de pico, mas para sua utilização média, usando-se por exemplo, uma nuvem pública para os períodos excepcionais. Quanto aos riscos, lembramos de imediato das questões de segurança e privacidade (principalmente quando falamos em nuvens publicas), aderência a restrições regulatórias (questões de compliance), lock-ins por parte de determinados provedores de nuvens, e a dificuldade de integração entre as aplicações em nuvens publicas e as que continuarão operando no modelo on-premise. Um outro desafio é a qualidade e disponibilidade de banda larga, que no Brasil é cara, lenta e mal distribuída.
Uma pergunta que aparece de vem em quando é “que tipos de aplicação posso colocar em uma nuvem?”. Algumas são mais propícias e podem ir de imediato para nuvens, como aplicações de colaboração e email. Outras, principalmente as que demandam muita integração com sistemas on-premise devem ser deixadas para um segundo momento. Para começar sua jornada em direção a Cloud Computing sugiro começar com aplicações de baixo risco, como uma aplicação Web, que não requeira maiores integrações com outros sistemas e nem demande acesso a dados sensiveis em termos de segurança e compliance.
E afinal, perguntam, “devo ir para nuvem pública ou privada?”. A resposta é “depende”. Talvez os dois…Uma nuvem privada opera dentro do data center e pode ser a resposta para aquelas empresas ou aplicações altamente sensiveis à aspectos de segurança e compliances regulatórios, e que não podem em princípio, serem hospedads em nuvens públicas.
E no final, faço questão de lembrar que ir para Cloud Computing não é mais questão de “se”, mas apenas de “quando e como”. E aproveito para sugerir que vocês se mantenham atualizados com o assunto e uma das fontes para isso é o CCIF (Cloud Computing Interoperability Forum) em http://www.cloudforum.org/. Boa jornada!