Compartilhar via


Entendendo a cobrança e os tipos de Storage no Azure

Para quem já utiliza o Azure seja para PaaS ou IaaS sabe que um recurso bastante comum a todos os cenários é o de armazenamento. Seja para armazenar os arquivos estáticos de um web site ou o disco de uma máquina virtual, seu uso é quase obrigatório, mas muitas vezes bastante confuso para quem está iniciando dado a quantidade variada de modelos e precificação.

De qualquer forma, seja lá qual for a sua necessidade, todas as variações do armazenamento no Azure possuem a mesma premissa, um recurso extremamente escalonável para que você possa armazenar e processar centenas de terabytes de dados de maneira segura, rápida e confiável.

Serviços de Armazenamento:

Atualmente podemos trabalhar com o Azure Storage de quatro formas:

  • Blob Storage – Armazena dados não estruturados. Um blob pode ser qualquer tipo de texto ou dado binário, por exemplo, um documento word, arquivo de audio ou video, um executavel, etc. Há 3 tipos de blobs disponíveis:
    • Block Blob – É a forma mais genérica e são otimizados para streaming ou armazenamento de documentos, arquivos de media, backups, etc.
    • Page Blob – Otimizado para armazenar discos de máquinas virtuais. Podem chegar até 1TB de tamanho e suportam escrita aleatória.
    • Append Blob – Otimizado para anexar texto em documentos pré-existentes, por exemplo, arquivos de logs que crescem continuamente.
  • Table Storage – Armazena conjuntos de dados estruturados. Este é um tipo de banco NoSQL (chave-valor) que permite que uma aplicação armazene e acesse um volume muito grande de dados.
  • Queue Storage – Armazena mensagens que serão processadas em fila permitindo o fluxo de comunicação entre serviços de nuvem.
  • File Storage – Armazena arquivos compartilhados através do protocolo SMB. Esse compartilhamento de rede pode ser acessado por máquinas virtuais no Azure ou por Workstations Windows 8.x ou superior através da internet.

Abaixo a imagem de como funciona a estrutura de uma conta de armazenamento.

http://www.azurekb.com/wp-content/uploads/2016/11/storage-concepts.png

Tipos de Conta:

Além de uma conta de storage nos fornecer 4 tipos distintos de serviços, também temos 2 tipos de contas no Azure baseado no desempenho:

  • Standard Storage – Possui suporte aos 4 modelos de serviços apresentados no item anterior. No caso de Page Blobs, as máquinas virtuais são armazenadas em discos magnéticos.
  • Premium Storage – Possui suporte apenas a Page Blobs e oferece discos SSD de alta performance para máquinas virtuais.

Opções de Redundância:

Além dos modelos de desempenho e serviços citados acima, o custo também varia conforme opção de redundância de dados escolhida. Atualmente o Azure Storage possui 4 modelos de redundância:

  • LRS (Redundância Local) – Armazena 3 cópias sincronas em um único datacenter.
  • ZRS (Redundância de Zona) – Armazena três cópias de dados em vários datacenters dentro da região ou entre regiões. Somente para blobs de blocos.
  • GRS (Redundância Geográfica) – O mesmo que LRS, mas também armazenado 3 cópias assíncronas em um segundo datacenter a centenas de milhas de distância.
  • RA-GRS (Redundância Geográfica com Acesso a Leitura) – O mesmo que GRS, mas com acesso à leitura ao datacenter secundário.

Como é cobrado:

No Storage Standard, a cobraça é feita pelo consumo. Cada serviço possui um valor de cobrança específico, mas independente de qual utilizar (table, queue, blob, etc.), em todos, você paga um valor por cada megabyte armazeando. O modelo de redundância também afeta diretamente o custo do Storage, por exemplo, como o GRS possui uma cópia dos dados em um segundo datacenter, o custo é cerca de duas vezes maior porque a quantidade de dados armazenados foram dobrados.

Uma dúvida comum é de como é taxado os discos de máquinas virtuais. Do mesmo modo, mesmo alocando um disco de 1TB para uma determinada VM, se você está utilizando apenas 10GB em dados (contando sistema operacional, arquivos do usuário, etc.), você só paga estes 10GB e nada mais. Veja o exemplo abaixo:

http://www.azurekb.com/wp-content/uploads/2016/11/MLoD8.png

Todas as máquinas virtuais Windows são provisionadas (por padrão) com um disco de 127GB, enquanto VMs Linux com 30GB. Além disso, há também um volume temporário em que o tamanho varia conforme o tipo de máquina. Este volume não é cobrado, independente do seu uso. Já o disco do sistema operacional (Local Disk C:), este será cobrado apenas o que estiver em uso, no meu caso, cerca de 12GB apenas.

No caso do Storage Premium, você paga o valor do disco alocado e não apenas do consumido, pois o tamanho do disco também influencia diretamente a sua performance, o que não é o caso do Storage Standard, que possui performance linear independente do disco alocado. Como se trata de um modelo de discos de alta performance, só temos suporte à redundância de nível LRS.

Por fim, o custo total do Storage também depende do volume, do tipo das transações de armazenamento e das transferências de dados de saída. Maiores detalhes veja aqui, mas estes são valores que pouco influenciam no montante final.

Referências:

  1. Preços do Armazenamento do Azure
  2. Introdução ao Armazenamento do Microsoft Azure