Armazenamento em nuvem: Object Storage


O armazenamento em objecto (object storage) foi desenvolvido nos anos 1990 como uma alternativa aos sistemas tradicionais de armazenamento em blocos e em ficheiros. A ideia era encontrar uma forma mais econômica, escalável e eficiente de gerir grandes volumes de dados não estruturados, especialmente com o crescimento da Internet e a criação de conteúdo online, como vídeos, imagens e ficheiros PDF.

Além disso, o custo elevado do hardware necessário para armazenar esse tipo de informação ajudou a acelerar o processo da procura de novas formas alternativas, isto é, soluções mais flexíveis e inteligentes de armazenamento, assim nasceu o conceito de armazenamento em objecto.

Com o passar dos anos, essa abordagem tornou-se uma das principais bases da computação em nuvem, sendo então utilizada por grandes plataformas para suportar desde websistes e aplicações até serviços globais de partilha de dados e multimédia.

Nova camada de armazenamento digital

Podemos pensar em armazenamento em objecto, como uma camada relativamente recente no ecossistema de armazenamento digital. Cuja proposta é simples mas de grande impacto, que é oferecer armazenamento de baixo custo e desempenho moderado, com o objectivo de responder às exigências das cargas de trabalho da Internet.

Bem, quando falamos de cargas de trabalho da Internet, referimo-nos a aplicações Web, websites, hospedagem de conteúdos e entrega de dados em larga escala. Fora disso, o armazenamento em objecto tornou-se também um novo destino para grandes volumes de dados histórios, falo daqueles dados que antes, eram arquivos que se encontravam em fitas magnéticas, e guardados durante anos em cofres. Actualmente para esse fim, usa-se o armazenamento em objecto para guardar grandes quantidades de dados de forma segura, duradora e econômica, permitindo que esses dados permaneçam disponíveis por razões legais, regulatórias ou operacionais durante longos períodos.

O que é, afinal, um "objecto"?

O conceito central do object storage é o "objecto".

Mas o que é um "objecto"? Um objecto é, essencialmente, qualquer ficheiro digital, pode ser um documento, uma imagem, um vídeo, um áudio, uma base de dados exportada, entre outros. Basicamente não há limitações rígidas quanto ao tipo de ficheiro. O que o distingue é a forma como é armazenado e descrito.

Cada objecto é composto por quatro elementos fundamentais, que lhe dão identidade e funcionalidade no ambiente computacional:

  1. Identificador Único (ID): cada objecto precisa de um identificador exclusivo, que permite reconhecê-lo e recuperá-lo sem que necessário.
  2. Dados (o conteúdo em si): é o próprio ficheiro de bits que representam o vídeo, o documento, o áudio, etc.
  3. Metadados: são informações sobre o ficheiro, tal como: quem o criou, quando foi criado, o tipo de ficheiro, o tamanho, a finalidade, e outras propriedades. Os metadados permitem indexar, pesquisar e catalogar o objecto, tornando-o fácil de localizar quando precisamos.
  4. Atributos: são as regras de acesso e comportamento do objecto, por exemplo: quem pode sobrescrever o ficheiro; quem pode descarregá-lo ou apagá-lo; se é possível modificá-lo após o carregamento.
Esses quatro componentes formam a base da estrutura do armazenamento em objecto.

Buckets (onde são colocados os objectos)

No mundo do armazenamento em objecto (que não é estruturado) todos os objectos são colocados dentro de "buckets" (baldes virtuais).
Imagine um balde digital onde são colocados os seus ficheiros. A diferença é que este balde pode crescer quase que indenfinidadmente, chegando a conter milhões ou até bilhões de objectos, conforme a necessidade.

A interação com o bucket não é feita manualmente, mas através de APIs (Interfaces de Programação de Aplicações). Ou seja, o utilizador não acede directamente ao sistema de ficheiros, em vez disso, interage com o armazenamento através de pedidos automáticos, PUT para enviar os dados, GET para os ler, e assim por diante.

A necessidade da replicação

Por trás do armazenamento em objecto há um sistema inteligente de replicação e redundância, isto é,  quando um objecto é enviado para um bucket, ele é automaticamente replicado em vários dispositivos físicos distintos, geralmente em três.
Isto garante a integridade e disponibilidade dos dados, pois, se um dos dispositivos falhar (por exemplo, devido a uma avaria de hardware ou interrupçao de rede), as outras cópias permanecem acessíveis.
Assim, cada objecto "vive" simultaneamente em múltiplos locais, o que oferece resiliência, segurança e fiabilidade.

Custos e camadas de desempenho

Este modelo oferece muita flexibilidade quanto ao custo e desempenho, funcionando da seguinte forma, quanto maior a velocidade de acesso exigida, maior é o custo, o que é válido para todos os tipos de armazenamento na cloud.

As principais categorias de armazenamento costumam dividir-se em camadas ("tier"), segundo a frequência de acesso:
  1. Cold Storage (frio extremo): os dados são raramente acedidos, e são guardados por motivos legais ou históricos. É a opção mais económica.
  2. Cold: para dados que precisam de ser consultados ocasionalmente, talvez a cada seis meses. É um pouco mais caro.
  3. Cold-ish (semi-frio): para dados acedidos com frequência moderada, como imagens e vídeos de websistes. Tem custo superior, mas ainda assim muito inferior ao de armazenamento de alto desempenho.

Casos de uso do armazenamento em Objecto

O armazenamento em objecto é extremanente versátil e adapta-se a vários cenários prácticos:
  • Streaming de vídeo:  Ideal para plataformas de streaming, pois permite replicar os ficheiros em múltiplas regiões do mundo, reduzindo a latência e melhorando a experiência do utilizador.
  • Colaboração global e partilha de ficheiros: é também perfeito para equipas que trabalham em locais diferentes. pois possibilita o controlo de versões (ex: versão 1, 2, 3...) através de metadados, permitindo dessa forma que vários colaboradores editem o mesmo ficheiro sem conflitos.
  • Hospedagem de websites: é excelente nesse quesito, pois torna possível guardar e servir conteúdos estáticos tal como imagens, vídeos, CSS, JavaScript. com um desempenho consistente e custo reduzido.
  • Arquivo digital e preservação histórica: ideal para universidades, bibliotecas e instituições culturais que digitalizam manuscritos, fotografias e documentos, tornando-os disponíveis de forma segura e acessível para o público.

Comentários