7 de agosto de 2018

image

Quantas vezes você como consultor foi questionado quanto custaria para hospedar um ambiente de PaaS ou SaaS no Microsoft Azure? Quais seriam as vantagens em frente a outros fornecedores como a Amazon (AWS) ou Google Cloud.

Para responder a essa pergunta você precisa ter números (custos), pois no final é o que realmente mais importa ao cliente.

Antes de dizer os custos, você precisa justificar os ganhos escolhendo o Microsoft Azure como qualidade, segurança, disponibilidade, mas o custo ainda muitas vezes será o mandatório.

A Microsoft disponibiliza algumas formas para você obter as informações de custos para hospedar um ambiente PaaS ou IaaS e até fazer uma migração de um ambiente On-Premise para o Microsoft Azure.


Inclusive existem ferramentas muito boas para esse fim, que trás informações bem detalhadas e assertivas de uma migração On-Premise para o Azure como as ferramentas

Azure Site Recovery Deployment Planner que tem como finalidade trazer informações de como você preparar um ambiente no Azure para um DR (Disaster Recovery) do seu ambiente on-premise. Mas essa ferramenta trás uma vantagens de informar quais as VMs adequadas para substituir suas VMs on-premise com possibilidade de você informar no calculo o fator de processamento, além de tipos de discos a serem usados como a versão Premium.

Para conhecer mais dessas ferramentas e como usá-las, acesse os links abaixo. Essas ferramentas tem edições específicas para ambientes VMWare ou Hyper-V.

Azure Site Recovery Deployment Planner para VMWare

Azure Site Recovery Deployment Planner para Hyper-V

Como comentei, o objetivo dessa ferramenta é maior que um simples cálculo, Ela serve para direcionar você a como preparar um ambiente de DR para o seu On-Premise. Mas ela trás as informações de quais VMs devem ser usadas para substituir suas VMs On-Premise, facilitando para você o dimensionamento de custos do seu ambiente para uma migração para a Nuvem.

Mas em alguns casos, executar essa ferramenta torna-se um processo complicado que você precisa de acesso ao ambiente do cliente, e por muitas vezes isso não é possível, ainda mais quando se trata de um projeto ainda embrionário em que se estão levantando custos de concorrentes para obter o melhor preço.

Então nesse tópico irei descrever como usar a poderosa ferramenta de cálculo do Azure para você obter os valores de uma hospedagem de um ambiente na Nuvem.

O primeiro ponto é que você precisará ter algumas informações importantes do ambiente, pois isso irá modificar drasticamente os valores pois envolve desempenho, disponibilidade entre outros itens.

Como sabemos na parte de VM no Azure, existem as famílias de VM que tem objetivos diferentes, e por mais que as vezes os números de Cores sejam os mesmos, o desempenho irá ser diferente. Por exemplo, você pode hospedar VM para fins de testes e desenvolvimento e a família indicada para essa finalidade é a família A que tem seu custo diferenciado, além de ter preços mais baratos quanto o objetivo é esse, inclusive no Azure existe o DevTest Labs, que tem como objetivo o uso para laboratórios de seu time de desenvolvimento com ferramentas, controles e custos direcionados a esse fim.

Voltando ao uso da Calculadora do Azure, você precisa ter em mãos algumas premissas como:

– Segurança: Devo cotar o uso do DDOS do Microsoft Azure ou entendo que o padrão, pois o Azure já possui um sistema de controle quanto ataques DDOS em seu ambiente, mas o sistema adicional fornecido é mais “parrudo” e protege mais o ambiente, dando-lhe total segurança quanto a esse tipo de ataque. Outra pergunta, devo dar autonomia ao controle de anti-malware, ataques, controle de vulnerabilidades, controle de aplicativos entre outros usando o Azure Security Center?

– Desempenho: Qual o plano que devo usar para hospedar meus aplicativos PaaS? Preciso de SLOTS de Deploy como Produção, Staging e Desenvolvimento para realizar um Continuos Deployment funcional? Qual o desempenho que eu preciso? Em minhas VMs, qual o desempenho de disco que preciso ter (IOPS)? Preciso realmente de um disco Premium que atinge 80.000 IOPS ou os discos standard são o suficiente para mim? Qual família (série) de Maquinas Virtuais que mais se adequam a minha necessidade? Preciso de computação intensiva ou mais memória?

– Disponibilidade: Qual o nível de disponibilidade (SLA) preciso ter para meu recurso hospedado no Azure? Como devo armazenar meus dados e quais são os SLA disponíveis para esse armazenamento?

São algumas dar dúvidas que você precisa ter respondidas para ser mais assertivo no seu cálculo do Azure.

Mas em termos gerais, algumas dicas que você precisa saber:

Quando você for alocar o armazenamento de discos para suas VMs, tenha em mente que preferencialmente deve-se utilizar discos SSD Premium para aplicativos de produção de missão crítica;

Você tem a opção de usar contas de Armazenamento (que chamamos de armazenamento standard não gerenciado) para hospedar seus VHDS como discos não gerenciados, que irá baratear o custo de sua hospedagem, porém você precisará ter cautela quando ao gerenciamento dessa conta de armazenamento, pois os IOPS são limitados. A vantagem de uso de discos gerenciados é que o seguinte: Azure Managed Disks: esse recurso gerencia as contas de armazenamento usadas para os discos de VM para você. Você só precisa especificar o tipo (Premium SSD, Standard SSD ou Standard HDD) e o tamanho do disco que você precisa, e o Azure criará e gerenciará o disco para você. Você não precisa se preocupar com o local em que colocará os discos em várias contas de armazenamento para garantir que fique dentro dos limites de escalabilidade das contas de armazenamento – o Azure cuida disso para você;

Quando se usa discos premium, cuide no tamanho do disco, pois o custo é baseado no tamanho alocado respeitando os limites do disco. Por exemplo, a família de discos variam em 64 GB, 128 GB, 256 GB e assim sucessivamente e caso você opte por usar esse tipo de disco você será cobrado pelo disco anexado a VM. Por exemplo, em On-Premise você possui o armazenamento de disco de 100 GB, quando migrar para o Azure você precisará alocar um disco de 128 GB e será cobrado por esse disco atachado, mesmo que esteja usando apenas 100 GB.

image

Você também e cobrado por transações do disco e transferência de dados de saída. Por isso é importante ter essa informação. Lembrando que o Azure possui uma cota de taxa de transferência de saída gratuita e os discos gerenciados premium não possuem taxa de transação.

Em resumo, quando você for calcular o armazenamento, cuide para que essas informações sejam alimentadas. Veja o exemplo na calculadora.

Um disco de 100 GB para um Servidor de baixo uso e acesso com uso interno na rede.

Você pode entrar na calculadora https://azure.microsoft.com/pt-br/pricing/calculator/ e realizar algumas cotações.

Primeiramente você observa que o Servidor não possui saída para a Internet, então não haverá custos de transferência de dados de saída. Como o uso é baixo, você não precisa de muitos IOPS e não necessitará fazer uma combinação de discos para obter um IOPS maior realizando um RAID em sua VM.

image

Você pode optar por algumas alternativas para o armazenamento do disco.

Disco Não Gerenciado de Camada Padrão: Nesse cenário você poderá optar por colocar exatamente o tamanho do Armazenamento Utilizado, porém como se trata de uma camada padrão você precisará informações a quantidade de transações a serem usadas. Nesse cenário você deve optar pelo Recurso Armazenamento, Tipo Blob de Páginas (Discos Não Gerenciados*) Camada Padrão, Redundância LRS, Conta de Armazenamento V2.

image

Discos não gerenciados (evitar o uso e migrar suas VMS para discos gerenciados)

Discos não gerenciados são do tipo tradicional de discos que foram usados por máquinas virtuais. Com esses discos, você cria sua própria conta de armazenamento e especifica essa conta de armazenamento ao criar o disco. Não coloque muitos discos na mesma conta de armazenamento, pois você pode exceder as metas de escalabilidade da conta de armazenamento (20.000 IOPS, por exemplo), resultando na limitação das máquinas virtuais. Com discos não gerenciados, você precisa descobrir como maximizar o uso de uma ou mais contas de armazenamento para obter o melhor desempenho do suas VMs.

Se você usar discos padrão não gerenciados (HDD), será necessário habilitar o TRIM. O TRIM descarta os blocos não usados do disco para que você seja cobrado apenas pelo armazenamento que está efetivamente sendo usado. Isso poderá representar uma economia dos custos se você criar arquivos grandes e, em seguida, excluí-los. Saiba mais aqui: https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/about-disks-and-vhds

Disco Gerenciado de Camada Padrão: Essa opção, mais indicada que discos não gerenciados, você seleciona o disco conforme a família disponível, no caso é um disco de 100 GB, você deverá selecionar um disco de 128 GB.

image

Você também pode optar por configurar o SNAPSHOT do disco e armazena-lo em um armazenamento Standard. Importante salientar que o instantaneo não é um incremental, é uma cópia full do seu disco.

Por Microsoft: É possível armazenar imagens e instantâneos dos Managed Disks SSD Premium no armazenamento Standard. Você pode escolher entre as opções LRS (armazenamento com redundância local) e ZRS (armazenamento com redundância de zona). Essas imagens e esses instantâneos gerenciados são cobrados a R$0,166/GB por mês para ambas as opções Standard, LRS e ZRS, com base na parte usada do disco. Por exemplo, se você criar um instantâneo de um disco gerenciado com a capacidade provisionada de 64 GB e o tamanho real dos dados usados de 10 GB, o instantâneo será cobrado apenas pelo tamanho dos dados usados de 10 GB. Se você optar por armazená-los no armazenamento dos Managed Disks SSD Premium, será cobrada a taxa de R$0,3984/GB por mês.

Você também precisará se preocupar com o número de transações nesse caso. A transações é medida para discos SSD Standard como 256 KB. Se uma unidade for menor que 256 KB será considerado uma unidade de I/O. Se o dado transferido for de 2.000 KB serão contados 8 I/O. Se o dado transferido for de 128 KB, será considerado 1 I/O.

O SLA também é diferente, consulte o SLA para maiores informações: https://azure.microsoft.com/pt-br/support/legal/sla/

Tem também esse Perguntas Frequentes sobre discos da Microsoft que irá auxiliar nas dúvidas sobre discos.

https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/faq-for-disks

Em resumo final para discos você precisa se atentar:

IOPS (necessito fazer uma combinação de discos para atingir um IOPS específico). Por exemplo, preciso de um armazenamento de 150 GB com 600 IOPS por segundo. Posso somar um disco P4 e P10 e realizar um RAID 0 e ter uma soma de IOPS com o tamanho desejado. Lembre-se apenas de ter a série de sua VM suporta a quantidade de discos que serão anexados. E cuide também da escalabilidade.

https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/disk-scalability-targets

image

Preferencialmente usar discos gerenciados.

Verificar se os discos podem ser Standard ou devem ser Premium, lembrando que estão em versão prévia até a data desse post os discos Standard SSD.

Se usar discos Premium, não se preocupe com o número de transações.

Se usar discos Standard, verifique no post como calcular o número de transações.

Bem é isso, no próximo post irei falar mais sobre o uso da calculadora e quais cuidados que deve se tomar.

Até a próxima.

Alan Carlos