Escrito por Jamuarê Strauss,

5 minutos de leitura

Conhecendo os serviços de armazenamento da Microsoft Azure

Conheça as opções de armazenamento Azure para escolher a mais adequada às suas necessidades.

Compartilhe este post:

Quando nos referimos ao armazenamento em nuvem, estamos falando em guardar os nossos arquivos em um servidor externo à nossa máquina acessível pela internet. “Nuvem”, neste contexto, é uma metáfora, porque muitas vezes sequer sabemos onde está localizado fisicamente a máquina hospedeira. Fazemos o upload ou sincronização do arquivo, mas não temos ideia de onde no mundo ele foi parar. Então, dizemos que “foi para a nuvem”.

Com a evolução da tecnologia, melhores hardwares e aumento na velocidade e qualidade dos provedores de internet, novos serviços passaram a ser ofertados em servidores externos – ou, como são chamados, computação em nuvem. A partir dos anos 2000, esses serviços passaram a ser oferecidos comercialmente em grande escala e, em 2010, a Microsoft lançou sua própria plataforma: a Microsoft Azure.

Neste artigo, sintetizarei cada uma das opções da conta de armazenamento Azure para que o leitor possa escolher o mais adequado às suas necessidades.

 

Requisitos

Azure Storage Account

Primeiramente, para alocar qualquer storage é necessário uma conta de armazenamento. Ao criar a conta, você terá acesso a quatro serviços de armazenamento: Blobs, Queues, Tables e Files (arquivos). É possível utilizar qualquer combinação deles, ficando à escolha do usuário qual serviço será reservado para o seu uso. Obviamente, a alocação de serviços não é ilimitada.

Para a precificação, usei como referência a região Brazil South e as configurações padrão: um Terabyte de armazenamento com redundância local para o período de um mês. Atente que os preços podem ser diferentes de quando você estiver lendo e que eles mudam a depender da região Azure.

 

Azure Blob (binary large object) Storage

Esta é a solução de armazenamento de objetos em nuvem oferecida pela Microsoft. Este sistema é otimizado para quantidades massivas de dados não-estruturados (csv, pdf, jpeg, gif, mp4, etc), ou seja, dados que não se encaixam em um modelo dados em particular. São organizados em contêineres (podemos pensar para fins didáticos como um diretório, mas, na prática, eles são diferentes). No caso dos Blobs, vale ressaltar que, apesar deles aparentemente funcionarem como um sistema de arquivos, isso é só aparência. Esses diretórios são virtuais. As pastas são parte do nome e não diretórios hierárquicos reais. Essa diferenciação é importante ao se trabalhar com sistemas de processamento massivo de dados, como Hadoop.

Algumas vantagens do blob são: opção de armazenamento de baixo custo para arquivos não estruturados, alta disponibilidade com opções de redundância e recuperação de desastres.

Recomendado para mostrar imagens ou documentos diretamente no navegador, armazenar arquivos de acesso distribuído, streaming de audio ou vídeo, como backup ou ainda para guardar dados para análise.

Preço por TB: US $34.06

 

Azure Queue Storage (AQS)

É um serviço pensado para mensageria (mensagens acessadas via protocolos HTTP ou HTTPS). Isso significa que elas podem ser recebidas mensagens de qualquer lugar do planeta para serem processadas. Uma mensagem de queue pode ter até 64 kb.

Algumas vantagens da queue são: enfileiramento de mensagens simples, econômico e durável para grandes cargas de trabalho, compatível com .NET, Java, Android, C++, Node.js, PHP, Ruby e Python, dados acessíveis via API REST.

Recomendado para enfileiramento assíncrono de mensagens entre componentes de aplicativos, métrica de comprimento da queue (usada como critério de escalonamento do serviço). Um exemplo comum, são as trocas de informações entre sistemas diferentes (com bases de dados diferentes) onde não há a integração direta, tal como uma atualização de seu cadastro em um site de compras e precisa refletir no aplicativo do seu smartphone. Você atualizou o registro no site, o próprio site envia uma mensagem para o AQS e o app processará esta mensagem e atualizar em sua base de dados também.

Preço por TB: US $125.00

 

Azure Table Storage

Um sistema NoSQL para manter dados estruturados não relacionais de alta disponibilidade que possam ser massivamente escaláveis. Esse serviço fornece um armazenamento chave-valor sem estrutura pré-definida (schemaless). Acesso aos dados é rápido, tem um custo mais baixo que o SQL tradicional para volumes de dados semelhantes.

Algumas vantagens: armazena petabytes de dados, suporte a esquemas flexíveis, suporte a .NET, Java, Android, C++, Node.js, PHP, Ruby, Python e Odata. Dados também são acessíveis via HTTP/HTTPS por meio de API REST.

Recomendado para guardar informações como metadata, agendas, endereços, armazenar dados semiestruturados altamente disponíveis, criar aplicativos que dependam de esquema flexível, realizar consultas Odata, criar aplicativos escalonáveis, serialização de dados com JSON. Um uso muito comum para o Azure Table Storage são os “carrinhos de compras” nas lojas online. Pois cada produto possui características diferentes e informações variáveis. Um exemplo: você pode estar comprando uma camiseta e um tênis, onde o tamanho da camiseta é um caractere (tipo de dado char) e do seu tênis é um número (tipo de dado numérico).

Preço por TB: US $61.04

 

Azure Files

É uma storage de compartilhamento de arquivos entre a nuvem e sistemas on-premise (locais). São acessíveis via protocolos SMB (Server message block) ou NFS (Network file system).

Algumas vantagens são: serveless, isto significa que o usuário não precisa se preocupar com características do servidor, como sistema operacional e hardware. O Azure cuida do gerenciamento destes recursos. Arquivos acessíveis de sistemas Windows, Linux ou macOS. Sincronização em cache em sistemas Windows Server com a nuvem para acesso rápido. Resiliência, o sistema de files do Azure foi pensado parar estar sempre disponível.

Recomendado para substituir ou complementar os servidores de arquivos locais, compartilhar arquivos de configuração em vários locais on-premise, centralizar ferramentas e utilitários de uso comum em ‘n’ máquinas virtuais.

Preço: US $163.53

 

E para Data Lake na Azure?

Antigamente, era usado o Data Lake storage Gen 1. O sistema de arquivos ADSL Gen 1 é compatível com o sistema de arquivos do Hadoop (HDFS). Isso significa que você poderia guardar os arquivos no Data Lake Gen 1 e processá-los via Hadoop.

Mas, porque eu introduzi um sistema de armazenamento obsoleto no artigo? Para lhe apresentar o Azure Data Lake Gen 2. Ele soma os benefícios do Blob Storage com as vantagens do Gen 1. Um sistema de pastas com nomes hierárquicos compatível com o Hadoop, com baixo custo, todas as opções de redundância do Blob e a alta disponibilidade.

O que você deve lembrar é o ADLS Gen 2 (data lake com nome hierárquico) é uma opção durante a criação da storage account e não um serviço separado. Essa opção não pode ser alterada depois.

Bem, já que o Gen 2 possui todas as funcionalidades e ainda mais vantagens que o Blob, este se torna obsoleto certo? Não! Se seu sistema não irá se beneficiar das vantagens herdadas do Gen 1 não existe motivo para se usar o Gen 2. Mesmo sendo de baixo custo o Blob “puro” ainda é mais barato.

A próxima pergunta é: como organizar arquivos em um sistema de nomes flat (não-hierárquico)? A dica é organizar por contêineres diferentes. Ao construir seu data lake organize-o em:

+++ Raw: para arquivos intocados, dados como recebidos.
+++ Trusted: dados limpos de seus defeitos e obedecendo a um padrão comum.
+++ Curated: dados tratados para um propósito específico, como inteligência de negócio (BI) ou machine learning.

 

Este artigo apresentou as principais (mas não todas) as funções que cada um dos sistemas de armazenamento da Azure possuem. Ele visa ser uma porta de entrada para o mundo da computação em nuvem da Microsoft e dar ao leitor uma noção de como você pode usar os serviços Azure. Ainda há muitos outras utilidades a serem exploradas na nuvem. Nos vemos no próximo post!

 

Referências:
Flat listing versus hierarchical listing – Microsoft Documentation
What is Azure Queue Storage? – Microsoft Documentation
Armazenamento de Fila – Funcionalidades
O que é o armazenamento de Tabelas do Azure?
Armazenamento de tabelas – Funcionalidades
Azure Data Engineering: Azure Blob Storage vs. Azure Data Lake Storage Gen2
Azure Data Lake Storage Gen2 hierarchical namespace – Microsoft Documentation
TCP/IP Defined – Host Names
Apache Hadoop
Introduction to Azure Data Lake Storage Gen2 – Microsoft Documentation

Compartilhe este post: