AWS S3

O AWS S3 (ou AWS Simple Storage Service) é um serviço de armazenamento de objetos disponibilizado pela AWS desde os seus primeiros anos de operação e que oferece alta capacidade, escalabilidade e performance de armazenamento a custos relativamente baixos quando comparados a outras modalidades.

O serviço tornou-se tão popular que acabou por se tornar um padrão de mercado, havendo hoje um punhado de empresas que oferecem serviços não apenas similares mas que também são compatíveis com a API do S3, sendo conhecidos como armazenamento “S3-compatible” ou “S3-like”.

O armazenamento de objetos tornou-se uma parte fundamental do que concebemos hoje como “cloud”. Este meio de armazenamento tem sido usado por diversas empresas e por razões diversas também, indo desde o arquivamento de itens históricos até dados usados em data-lake e machine learning.

Blocos vs Arquivos vs Objetos

No fundo de tudo mesmo, lá no nível mais baixo onde ainda podemos identificar bits e bytes, todos os nossos dados estão armazenados no hardware.

Ali no disco físico (HD, SSD etc) tudo é armazenado sob a forma de blocos de dados endereçáveis que se juntam para formar os arquivos que por sua vez contém nossos dados.

Mas quando começamos a abstrair as camadas de armazenamento com o propósito de simplificar o acesso aos dados, nós acabamos por mudar o nome do armazenamento e o que temos atualmente é:

  • Com acesso ao disco diretamente, diz-se que você está usando “armazenamento em blocos”;
  • Acessando dados em um storage remoto como NAS através de protocolos como Samba, NFS, EFS entre outros, diz-se que você está usando “armazenamento de arquivos”;
  • Acesso via nuvem (cloud) a serviços como AWS S3, Cloudflare R2, Digitalocean Spaces, StorJ, Blackblaze B2, Wasabi entre inúmeros outros, esta é a mais alta abstração até o momento e diz-se que você tem um “armazenamento de objetos”.

Como eu já disse, no fundo mesmo é tudo bloco em disco físico mas estes níveis de abstração implicam em novos recursos (e restrições também) que tornam a mudança benéfica.

Se pusermos em uma tabela as diferenças entre eles teremos algo como:

Armazenamento de ObjetosArmazenamento de arquivosArmazenamento de blocos
Unidade armazenadaObjetos (arquivos+metadados)ArquivosBlocos
ProtocolosWEB, REST-API etcCIFS, NFSSATA, FC, SCSI
Metadadospersonalizadosatributos definidos no filesystematributos definidos no filesystem
PrósAltamente escalável e distribuídoArquivos compartilhadosAlta performance
ContrasNão oferece todos os recursos disponíveis em um sistema de arquivos convencionalEscalabilidade limitadaNão é escalável
Diferença entre os sistemas de armazenamento: Objetos x Arquivos x Blocos

Se formos levar estas diferenças em consideração ao implantar um serviço que os utilize poderíamos resumir que:

Armazenamento de objetos é ótimo para armazenamento e e arquivamento de dados estáticos e que terão pouca ou nenhuma alteração;

Armazenamento de arquivos é recomendado quando você precisa compartilhar arquivos entre várias máquinas;

Armazenamento de blocos é a forma que você sempre vai levar em consideração quando precisar de acesso em ala velocidade, muitas alterações ou as opções anteriores não forem adequadas.

Custos

Para se ter uma idéia do custo, vamos tomar como exemplo a necessidade de manter guardado um volume de 1TB de dados na AWS e compará-lo com o custo de outros serviços de armazenamento na mesma nuvem.

TipoNomeCusto GB-MêsCusto TB/Mês
BlocosEBS de uso geral0,08USD81,92USD
ArquivosEFS padrão0,30USD307,20USD
ArquivosEFS infrequente0,025USD25,60USD
ObjetosS3 padrão0,023USD23,55USD
ObjetosS3 infrequente0,0125USD12,80USD
ObjetosS3 arquivamento com acesso imediato0,004USD4,10USD
Comparativo de custo entre alguns dos serviços de armazenamento de dados na AWS para região de Ohio em Agosto/2023

Apenas as últimas linhas correspondem ao armazenamento de objetos S3, as anteriores são outras modalidades e estão ali para termos um comparativo dos custos.

Ali estão os valores dos serviços EBS, EFS e alguns S3. Perceba que a diferença de preços entre a opção mais barata e a mais cara é gritante. De 307USD para 4,10USD por mês.

Estes são os preços oficiais disponibilizados na página oficial de cada produto, para armazenamento de blocos, arquivos e objetos, para o mês de Ago/2023 na região de Ohio.

É importante estar atento a região, pois embora seja possível criar seus buckets em outras regiões, os preços podem variar (e muito) entre elas.

Por exemplo, enquanto em Ohio o custo do armazenamento no S3 padrão é de 0,0230USD, em São Paulo, que tem o mais alto custo de todas as regiões disponíveis, o valor sobe para 0,0405USD (quase 80% a mais).

Mesmo sabendo que você só paga por aquilo estará em uso, antes de assinar ou contratar qualquer serviço, consulte as páginas oficiais dos serviços para maiores informações, além de avaliar tecnicamente qual é o melhor serviço para sua necessidade.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Além do mundo real