O mind set de Cloud Computing é voltado a nuvens públicas, como a EC2 da Amazon ou a Smart Cloud Enterprise (SCE) da IBM. Mas existe também a opção de usarmos os recursos de virtualização e automatização dentro dos nossos servidores, para criar uma nuvem privada. Esta opção é muito considerada em empresas que já tem uma grande capacidade computacional instalada, tem políticas de segurança bem definidas e são limitadas pelas regulações de seus setores de negócios.
Uma nuvem privada compreende a fórmula basica da computação em nuvem, como virtualização + padronização + automatização + self-service, apenas com a restrição que abrange apenas os servidores pertencentes à empresa. Isto significa que seu limite de escalabilidade é a capacidade computacional que ela tem instalada. Uma nuvem privada gera praticamente o mesmo valor que uma nuvem pública, com exceção do gasto em capital, que na nuvem pública é trocada pelo operating expenses (opex). Na nuvem privada a empresa tem que investir na aquisição dos seus recursos computacionais. Entretanto, consegue melhorar de forma significativa os custos operacionais, pois os processos de virtualização, automatização, padronização e self-service reduzem de forma drástica os custos de suporte e operação.
Na verdade, ao desenhar uma estratégia de adoção de nuvem privada a empresa deve definir como parametros de benchmarking não mais os data centers de empresas do seu setor, mas os data centers das empresas tipicamente oriundas do mundo cloud como Amazon, YouTube ou Google. Os resultados obtidos podem ser surpreendentes como redução do time-to-deployment dos seus novos sistemas de semanas para horas ou minutos. Um ambiente de desenvolvimento e teste de uma grande corporação, que geralmente demora semanas para atender a uma demanda pode, em cloud, provisionar recursos computacionais para os desenvolvedores em poucas horas. Imaginem o ganho em termos exploração de janelas de oportunidade para lançar novos negócios. Outro benefício é a melhor utilização do pool de recursos. Em vez de uma utilização média de 10% a 15% em cada servidor, podemos quadruplicar esta utilização, gerando mais capacidade computacional utilizável dentro da mesma capacidade instalada.
Mas, ao fazermos uma autópsia de uma nuvem privada vemos que à primeira vista não nos muito diferente de um ambiente virtualizado. Mas, a virtualização é apenas o pré-requisito. A ela adicionamos uma camada de inteligência (softwares) que nos possibilita provisionar, alocar, monitorar e gerenciar os recursos computacionais de forma automática, permitindo que os usuários requisitem estes recursos eles mesmos, via portal self-service. A automação dos processos de provisionamento e gerenciamento dos recursos computacionais permite reduzir em muito o tempo dispendido pelos administradores de sistemas em atividades mundanas (upgrade de versão de sistema operacional, por exemplo) e cada um deles pode gerenciar um número de servidores pelo menos duas ordens de magnitude superior ao número atual. Ou seja, em vez de um administrador para cada grupo de 100 máquinas podemos ter um para cada 10.000 máquinas. Esta camada de automatização é que cria o ambiente de nuvem privada.
O que consiste esta camada? Para implementarmos um ambiente de private cloud é necessário implementarmos tecnologias que gerenciem o acesso dos recursos (a nuvem) pelos usuários na modalidade de auto-serviço (falamos aqui em gestão de acesso e identidade), gestão automatizada dos recursos (catálogo de serviços, gestão de nível de serviço, gestão de configuração, etc), capacidade de gerenciar chargeback e monitorar o desempenho das máquinas e assim por diante. Claro que toda esta tecnologia deve ser operada sob políticas de segurança e controle de acesso.
E como criar esta camada? Podemos fazer todo o trabalho manualmente, usando tecnologias Open Source como o OpenStack. Recentemente a IBM aderiu a Open Stack Foundation. O lado negativo desta alternativa é a necessidade da empresa desenvolver ela mesma todo o trabalho de criação e integração do ambiente de nuvem. Outra alternativa é adquirir tecnologia e serviços de uma empresa que forneça soluções abrangentes como a SmartCloud Foundation da IBM.
OK, private cloud é uma boa alternativa. Mas vale para todas as empresas? Nem sempre… Empresas com data centers pequenos geralmente não conseguem obter ganhos de escala suficientes para gerar uma relação custo x benefício adequadas para construir e operar nuvens privadas. A solução para elas, na minha opinião, é migrar para nuvens públicas. Ou então pode ser uma start-up da economia criativa. Creio que empresas deste setor deveriam ir direto para nuvens públicas. Alguns exemplos de uso de nuvens públicas por empresas da economia criativa, que começaram a operar sem dispor de data center próprio: Netflix, FourSquare, Yelp, TweetDeck e Peixe Urbano, este último no Brasil. Também existem casos onde por questões de desempenho os servidores não podem ser compartilhados e cloud é compartilhamento por excelência. Vamos citar também casos onde as aplicações utilizam tecnologias muito diversas o que contraria um dos requisitos básicos da computação em nuvem que é a padronização de ambientes. Quanto mais padronizável, maior o ganho de escala, pois podemos selecionar uma entre um conjunto de imagens (ambientes virtuais) e operar a aplicação nele.
Finalmente, é bom lembrar que o ambiente de cloud é flexível, não precisando ser tudo nuvem privada ou tudo nuvem pública. Podemos usar as nuvens híbridas, atendendo parte das demandas computacionais da empresa em nuvens privadas e parte em nuvens públicas. Em resumo, cloud já está entre nós. Se vamos começar por nuvem pública ou privada depende da estratégia da empresa e de suas caracteristicas. Mas, já chegamos no ponto de não mais ter sentido a pergunta se vamos ou não para cloud, mas sim quando e com qual velocidade iremos.