As últimas conversas com executivos de TI e de negócios envolvidos com iniciativas de cloud computing me permitiram criar alguns insights que gostaria de compartilhar aqui. Uma questão é porque Cloud Computing e SaaS tem despertado tanto interesse? Quando analisando a proposta da computação em nuvem vemos que ela conecta o preço que o cliente paga por uma solução ao valor da própria solução e não ao dos componentes de tecnologias que estão por trás. Explicando melhor. Imaginem uma área de negócios que precisa de um determinado aplicativo. Para operar este aplicativo ela tem que comprar alguns servidores e seus softwares basicos. Tem que fazer um estudo comparativo entre tecnologias e analisar o custo de propriedade envolvido. Ela tem que analisar com cuidado este custo de propridade pois um servidor de maior capacidade pode significar um custo de licença maior, mesmo que a funcionalidade do aplicativo seja exatamente a mesma. Mas, este é o modelo tradicional de compra de software aplicativos praticado hoje pela indústria. O que este modelo faz? Faz com que o usuário tenha que se preocupar com a plataforma tecnológica no qual seu aplicativo irá rodar. O custo total da solução envolve o aplicativo e toda a parafernália tecnológica por trás.
Com o modelo de SaaS em computação em nuvem a atenção se desloca para as funcionalidades da aplicação. Ou seja a preocupação passa a ser com o que a solução vai fazer e não como ela vai ser implementada. Não é necessário comprar servidores ou fazer estudos de custo de propriedade.
O modelo de computação em nuvem desloca o foco de produto para o de serviços. O usuário deixa de prestar atenção nos produtos (e tecnologias) em si e começa a se focar nos serviços prestados. Ou seja para ter sua roupa lavada, seu objetivo, em vez de comprar máquina de lavar, ele busca alguém que lave a roupa para ele. Esse alguém é que passa a ter a responsabilidade de comprar e operar a máquina de lavar roupa. Qual marca e qual sabão será usado será responsabilidade do provedor. O cliente recebe e paga apenas o serviço.
Outra consideração interessante é que a maioria das iniciativas de cloud que tenho visto se concentram ou na camada de IaaS (infastruture-as-a-Service) como ofertado pela Amazon ou na camada de SaaS (Software-as-a-Service) como o modelo Salesforce. A camada de PaaS (Platform-as-a-Service) tem andado bem mais devagar. Na minha opinião o modelo SaaS é o de mais fácil implementação e tende a ser o ponto de entrada das empresas no conceito de cloud computing. Outros cenários que começam a despertar interesse para operarem em cloud são aplicações web (quase não existem razões para não colocar em cloud as aplicações web), email e colaboração (vale a pena pensar seriamente no assunto) e desenvolvimento e teste de aplicações (gol dentro).
De maneira geral estimo que as iniciativas de IaaS serão, por parte de grandes empresas, criações de nuvens privadas, com objetivo de reduzir custos. A IBM por exemplo oferece uma solução que se propõe a criar nuvens privadas, chamada CloudBurst, que pode ser vista como um “Amazon EC2 dentro de casa (private cloud)”. Já as SaaS começarão por aquelas aplicações com poucas exigências de integração. Quanto mais stand alone, mas fácil colocar em SaaS. Quanto a PaaS vemos que ainda é um setor imaturo, com poucas empresas conhecidas do mundo de TI atuando forte. Mesmo a iniciativa do Google (Google Application Engine) tem apelo limitado para o ambiente empresarial (não tem suporte para bancos de dados relacionais, por exemplo), sendo mais focado no usuario final. Para o PaaS ser encarado mais seriamente no contexto empresarial será necessário o surgimento de um ecossistema mais vibrante, com empresas conhecidas do setor de TI atuando de forma mais consistente.
Por outro lado, as questões de segurança e privacidade aparecem em primeiro lugar quando abordam-se as duvidas e temores. A lista de preocupações é extensa e inclui localização dos dados, isolamento dos dados de uma empresa de outra, os aspectos regulatórios e suas restrições, o risco de lock-in e as condições de portabilidade de uma nuvem para outra, integração entre aplicações nas nuvens e on-premise, a imaturidade da maioria dos provedores, falta de padrões, falta de skills, questões de licenciamento de software e mesmo se o provedor terá sustentabilidade econômica para manter o modelo ao longo do tempo. Claramente cloud computing é um “work in progress” e muitas das respostas só virão com a maturidade do conceito e de suas tecnologias. Mas o importante é começar.
E como começar? Primeiro analise quando de ganho você teria ao deslocar os custos de capital para custos operacionais (trocar capex por opex). Analise se você teria condições de manter opex menor que o provedor. Um exemplo prático: o Salesforce opera 77.000 clientes em 3.000 servidores, espalhados por 3 data centers. No modelo tradicional, com cada cliente tendo seus próprios servidores, provavelmente seriam necessários cerca de 100.000 ou mais servidores para atender esta demanda. No modelo de cloud são necessários apenas 3% desta capacidade. Este mesmo raciocínio pode se aplicar a uma empresa, que poderia simplificar em muito sua base de servidores. Assim, se seu opex for maior que o do provedor, identifique alguns workloads que sejam candidatos à operarem em nuvens publicas. Comece por eles e aprenda a usar a nuvem. Existe muita a coisa para aprender.
Por exemplo o modelo de pay-as-you-go vai exigir que você saiba antecipadamente quanto terá que pagar. Como na conta do celular. Você não gostará de ser surpreendido com uma fatura de mil reais porque usou o celular além da conta…o mesmo acontecerá com cloud computing em nuvens publicas. O fato dos recursos computacionais estarem à disposição e é só usar, não significa que não precisamos conhecer sua estrutura de custos e validar se estaremos dentro do budget ou não. Surge um fenômeno chamado “on-demand overspending” que é exatamente usar o modelo pay-as-you-go sem limites.
E ao migrar para nuvens publicas, você já planejou como ficará sua área de TI? Uma empresa operando em nuvens publicas ainda terá sua área de TI, embora com papéis diferenciados. As atividades que requerem alto grau de expertise tecnológica sem maiores necessidades de conhecimento do negócio (analistas de suprte e operadores, por exemplo) saem de dentro de casa e vão se concentrar nos provedores. A área de TI passará a concentrar profissionais que dominam o negócio e que interagirão com os provedores de nuvens, como analistas de negócios e arquitetos de software. Enfim, muitas mudanças à vista.