Provisionamento dinâmico com Windows Azure

Olá pessoal, tudo certo?

Semana passada tive algumas conversas sobre provisionamento dinâmico, private cloud e public cloud. Dois tópicos foram importantes: provisionamento elástico e cálculo de operação de uma aplicação.

Olhando o portal do Windows Azure, você deve conhecer a ferramenta de análise de TCO, disponível no link abaixo:

https://www.microsoft.com/windowsazure/economics/

Com essa ferramenta, é possível gerar relatórios de análise com uma boa memória de cálculo sobre diferentes cenários de capacidades computacionais envolvidas numa solução.

Veja o exemplo abaixo para uma solução de e-commerce local e na nuvem, com até 15 máquinas e usuários power-user:

image

Mudando os valores de configuração da aplicação, conseguimos resultados comparativos muito interessantes, ampliando nosso entendimento dos componentes de maior impacto na solução.

Além de relatórios como esse, a ferramenta ainda oferece gráficos de comparação, como:

image

Por isso, recomendo a realização de diversas análises de cenários, combinando as diferentes configurações de máquinas, recursos e usuários disponíveis na ferramenta. O objetivo é obter os benefícios de um modelo elástico de provisionamento, possíveis com a computação em nuvem.

Falando sobre provisionamento elástico, veja a figura a seguir:

image

Quando pensamos numa solução local (on-premise), é comum trabalharmos com diversos períodos de over-provisioning, ou seja, nossa infraestrutura opera muito abaixo da capacidade, pois disponibilizamos uma folga muito grande para eventuais picos. Porém, picos acontecem e é muito provável que você enfrente situações de under-provisioning, onde a infraestrutura local não é capaz de suportar a demanda emergente. Desse modo, nossa infraestrutura transita entre períodos de grande osciosidade e falta de capacidade, enquanto ocorre flutuações de caga em nossa aplicação.

Esse tipo de desequilíbrio é muito comum e quando é possível monetizá-lo, vemos o tamanho do custo operacional devido ao poder de computação oscioso que temos localmente.

Qual é o sonho aqui? Algo como a figura abaixo:

image

Vemos acima que a curva de capacidades e custos operacionais acompanha a curva de carga real demandada pela aplicação. Assim, seja em picos e vales de carga, conseguimos minimizar períodos de over-provisioning ou under-provisioning de nossa infraestrutura. Esse tipo de comportamento só é possível quando temos um ambiente com provisionamento elástico, como o que ocorre na plataforma de nuvem do Windows Azure.

Ao mesmo tempo, outro cenário interessante é quando prevemos períodos de picos em nossa infraestrutura, mantendo uma situação constante de over-provisioned “by design”. Algo como vemos na figura a seguir:

image

Veja que a infraestrutura é constante (linha vermelha), com excesso de poder computacional, prevendo cenários de carga periódicos (linha verde). Porém, esse cenário também apresenta problemas e custo operacional acima do real utilizado. O ideal seria trabalharmos com uma curva de infraestrutura como segue, eliminando o provisionamento excessivo da infraestrutura:

image

Ou seja, mesmo reconhecendo os picos e vales períódicos, também provisionamos nossa infraestrutura o mais próximo ao comportamento real de carga da aplicação.

Pensar sobre o comportamento de carga de sua solução, assim como o custo operacional envolvido é um grande desafio hoje em dia, mas que será cada vez mais cobrado das áreas de negócio de sua empresa. Por isso, fique atento e se antecipe essa boa prática em sua TI

Por enquanto é só! Até o próximo post :)

Waldemir.