O assunto Coud Computing ainda gera muito debate. Em um recente evento me perguntaram se uma empresa que usa nuvens públicas ainda precisaria fazer planejamento de capacidade, uma vez que, em tese, os recursos computacionais disponíveis passariam a ser inesgotáveis. Quando for necessário mais recursos, disse a pessoa, bastaria solicitar seu provisionamento ao provedor da nuvem.
Mas, vamos pensar um pouco. Vamos imaginar que um provedor de cloud seja como uma empresa de utilities, como uma operadora de celular. Em tese, basta irmos a uma loja da operadora e comprar uma linha. É verdade, mas volta e meia somos desagradavelmente surpreendidos com problemas de sobrecarga, o que nos gera diversos inconvenientes, como falhas ou interrupções na ligação. Nem sempre é possivel a uma opradora manter uma capacidade maior que a demanda. Existem momentos e locais em que a demanda é maior que a capacidade.
Voltemos ao provedor de cloud. Ele tem que fazer um grande investimento para criar seus data centers e óbviamente que precisa recuperar seu investimento e gerar lucratividade. Pode acontecer que em determinadas situações o provedor não tenha capacidade suficiente para acomodar mais pedidos e manter o mesmo nivel de serviço. Para garantir sempre um atendimento instantâneo ele teria que sustentar uma capacidade em excesso (overprovisioning), que convenhamos, é bastante custoso. Na prática ele vai provavelmente operar como outros provedores de serviços comumente operam, que é vender mais do que a capacidade suportada, esperando que nem todos a requisitem ao mesmo tempo. Quem faz isso constantemente são empresas aéreas, com sua prática de overbooking.
Existe um agravante. Recursos computacionais como servidores e storage podem ser rapidamente adquiridos pelo provedor para atender a uma demnda crescente, mas largura de banda de rede é muito mais demorada para ser ampliada. É um gargalo em potencial.
Assim, os recursos não são infinitos. Os provedores precisam fazer estudos de planejamento de capacidade para definir que capacidade poderão ofertar ao mercado. E quanto aos usuários? Bem, a empresa que vai usar clouds públicas deve estimar quanto de recursos serão necessários, inclusive para fazer as contas de quanto terão que pagar. O custo de hora de servidor virtual é barato, mas os custos de transmissão de dados tendem a ser bem mais caros.
Além disso, à medida que os modelos de serviços de cloud evoluem, novas modalidades de pagamento surgem e o planejamento de capacidade ajuda a identificar qual seria a melhor opção. Não é dificil imaginar no futuro vermos o mercado de provedores de clouds públicas ofertando recursos com preços diferenciados, de acordo com o período do dia ou do mês. Aliás, já vemos alguns primeiros exemplos desta prática, como o modelo spot pricing da Amazon. Neste modelo você faz um leilão para usar recursos ociosos da nuvem da Amazon. Imagine que você queira pagar até 1 dólar por hora de servidor. A Amazon flutua o preço hora de servidor de acordo com a demanda. Vamos supor que o preço de hora de servidor esteja, em determinado momento a 75 centavos de dólar. Neste momento, a Amazon verifica quais usuários querem participar do leilão e quais deles oferecem preços de 75 centavos ou acima. Como voce definiu que pagaria até um dólar, você é um candidato a participar do leilão e eventualmente sua máquina virtual é selecionada e alocada. Ela fica operando até que o preço hora do servidor suba (pelo aumento da demanda) e seu preço de até um dólar fica abaixo do valor. Neste momento o seu servidor virtual é colocado em stand by. Claro que nem todas aplicações podem usufruir desta funcionalidade. Temos, portanto, mais uma atividade que necessita de estudos de planejamento de capacidade. Para maiores detalhes do modelo spot pricing vejam //aws.amazon.com/ec2/spot-instances.
Que conclusão chegamos? Planejamento de capacidade ainda é necessário. Ao usar uma nuvem pública você não faz estudos para adquirir computadores físicos, mas deve planejar quanto de recursos computacionais demanda e estimar quanto custarão estes recursos virtuais. E se vale a pena pagar por eles…