O que é cloud storage e erros mais comuns no armazenamento

Imagem com fundo azul como se fosse o céu, com nuvens brancas e ligado a uma delas um celular.
Conheça o que é Cloud Storage e os cinco erros mais comuns ao utilizá-lo no artigo do blog da StackSpot.

Neste artigo, irei contar o que é cloud storage e quais são os cinco erros mais cometidos por organizações e pessoas desenvolvedoras na hora de utilizar algum serviço de storage em cloud.

Vale lembrar que esses erros foram elencados com base nos inúmeros projetos que já tive contato, assim como nas documentações fornecidas pelos principais provedores desse tipo de serviço. 

Inicialmente, precisamos entender o que é cloud storage, em quais cenários ele é utilizado e quais são as principais empresas que oferecem esse serviço.

O que é cloud storage?

Cloud storage é um serviço oferecido por provedores de cloud que permite o armazenamento de dados na nuvem em formato de objetos, como arquivos, imagens, vídeos e outros tipos de conteúdo.

O primeiro serviço de armazenamento em nuvem ou cloud storage surgiu em 2006, quando a Amazon Web Services (AWS) lançou o Amazon S3 (Simple Storage Service). 

De lá para cá, esse tipo de serviço revolucionou a maneira com que as empresas armazenam e manipulam seus dados. Isso porque o armazenamento de objetos em nuvem é geralmente mais escalável, disponível e durável do que o armazenamento de dados tradicional, que até então era feito em servidores locais. 

Tudo isso atrelado ao fato de que esses dados podem ser acessados de qualquer lugar e a qualquer momento (desde que haja uma conexão com a internet), fez com que os serviços de storage mudassem a maneira com que trabalhamos nossos dados.

Finalidades desse serviço

O serviço de armazenamento de objetos hoje em dia é utilizado em diversas  finalidades, irei mencionar algumas a seguir:

  • Backup e recuperação de desastres: por ser um armazenamento barato e com disponibilidade garantida pela maioria dos prestadores desse serviço. O cloud storage é amplamente utilizado para backup de dados. Um detalhe legal nessa utilização é que muitas vezes empresas que utilizam arquitetura on-premise podem optar por manter seus backups em cloud.
  • Hospedagem de sites: os serviços de armazenamento em nuvem podem ser usados para hospedar sites e aplicativos da web, permitindo que as pessoas desenvolvedoras construam e implantem aplicativos escaláveis e acessíveis.
  • Armazenamento de dados de aplicativos: os serviços de armazenamento em nuvem podem ser usados para armazenar dados de aplicativos, como dados de vídeo para streaming, fotos e até dados transacionais, permitindo que devs criem aplicativos escaláveis e seguros.
  • Análise de Big Data: esse aqui sem dúvidas é o meu favorito, através do serviço de storage surgiram as principais arquiteturas de plataforma de dados que temos hoje, como data lake e data mesh – um papo para outro artigo. Isso porque podemos armazenar grandes conjuntos de dados, como dados de clientes, transações e sensores IoT, para análise e insights de Big Data. 

Principais serviços de cloud storage

Atualmente existem diversos serviços nesse sentido, mas irei mencionar os três que acredito serem os principais: AWS, GCP e Azure.  Irei dar uma descrição muito breve aqui, então indico que leiam a documentação de cada um dos serviços.

  • Amazon S3: já mencionado anteriormente, é o primeiro serviço que surgiu sendo oferecido pela Amazon Web Services (AWS), permite armazenar e recuperar quantidades ilimitadas de dados de qualquer lugar da web. Além disso, possui forte integração com outros serviços da AWS aumentando assim a sua entrega de valor.
  • Microsoft Azure Blob Storage: é um serviço de armazenamento de objetos oferecido pela Microsoft Azure, que também permite armazenar e gerenciar grandes quantidades de dados não estruturados, incluindo imagens, vídeos e arquivos de áudio.
  • Google Cloud Storage: é um serviço de armazenamento de objetos oferecido pelo Google Cloud, da mesma maneira que os demais, ele possibilita gerenciar grandes quantidades de dados. Assim como a AWS possui forte integração com outros serviços oferecidos pelo GCP, como por exemplo o BigQuery.

Erros mais comuns no uso de cloud storage

Agora que já mencionamos o que é cloud storage, em quais cenários ele é utilizado e quais os principais provedores, finalmente chegou a hora de conhecer os principais erros na hora de utilizar esse serviço. 

Sendo assim, depois que conhecer cada um, sugiro analisar se você ou a sua empresa cometeu algum desses erros, pois a solução deles pode gerar excelentes resultados.

1. Não escolher o tipo certo de armazenamento

Você se lembra quando comentamos que o armazenamento de objetos pode ser usado para diversas finalidades? Devido a isso, cada provedor de cloud oferece às pessoas usuárias diferentes maneiras de armazenar seus dados. O uso incorreto desses tipos de armazenamento podem fazer com que a sua solução se torne extremamente cara e até inviável em longo prazo. 

Apesar de cada provedor de cloud ofertar diferentes tipos de armazenamento, existem um padrão nesses serviços que se baseia em três pilares: frequência de acesso ao dado, disponibilidade e redundância de dados. 

Frequência de acesso

É quantas vezes a pessoa usuária solicita o dado armazenado em um determinado período. Por exemplo, em uma solução onde se precisa armazenar dados para backup não faz sentido escolher um tipo de armazenamento que garanta acesso frequente, pois esse dado raramente será acessado.

Disponibilidade

Cada aplicação normalmente tem um requisito de tempo de resposta para a pessoa usuária, por exemplo, o indivíduo que usa um aplicativo dificilmente aceitaria uma consulta de dados demorar mais de um hora para executar.

Devido a isso, fornecedores de serviços de storage ofertam tipos de armazenamento com um alto tempo de resposta, obviamente por um preço maior.

Redundância de dados

Todos os três provedores de cloud que mencionamos acima possuem soluções que atendem o mundo todo. 

Dessa forma, eles podem implementar redundância na hora de salvar os seus dados, isso garante que mesmo que uma falta de energia afete os servidores de um determinado local, os seus dados continuam disponíveis, pois o tráfego é direcionado para outro servidor.  

Sendo assim, abrir mão dessa redundância quando possível pode fazer com que você tenha um armazenamento mais barato.

2. Falta de gerenciamento de ciclo de vida dos objetos

O segundo erro mais comum que iremos comentar está diretamente relacionado ao primeiro (tipo adequado de armazenamento) e pode causar o aumento nos custos e inviabilizar soluções no longo prazo. Esse erro ocorre quando não se aplica uma excelente prática no armazenamento de objetos, o life cycle de arquivos.

Como o nome já diz, o termo life cycle (ciclo de vida) consiste em implementar mudanças no modelo de armazenamento dos objetos de maneira periódica. Dessa forma, o dado que acaba de ser criado é colocado em um tipo de armazenamento de acesso frequente, em contrapartida dados com pouco acesso são movidos para o que chamamos de zona fria (tipo de armazenamento barato com dados de pouco uso).

Para exemplificar o conceito de ciclo de vida dos objetos, observe a imagem e o exemplo a seguir feitos com base na escala dos modelos de armazenamento oferecidos pela AWS. 

Sendo assim, a ideia por trás do conceito de life cycle é criar uma política que atenda aos requisitos da sua aplicação e mova os dados entre classes de armazenamento. Segue um exemplo:

Imagem em diagrama que ilustra um life cycle. São ilustradas quatro etapas: a primeira S3 Standard, em verde; a segunda etapa S3 Standard IA, em vermelho; a terceira é S3 One zone, em laranja; e a última é S3 Glacier, em preto. As etapas estão elencadas na vertical, da primeira para a última, todas interligadas com a etapa anterior e seguinte por uma linha elíptica.
Imagem que ilustra um exemplo prático da imagem anterior.

3. Formatos de arquivos inadequados 

Vimos que o serviço de storage de objetos em cloud revolucionou o mercado por permitir o armazenamento dos mais diversos formatos de arquivos, como: csv, excel, txt, mp3, mp4 e diversos outros. Isso tudo é verdade, mas, aqui entre nós, não é porque o serviço permite que seja a melhor solução utilizar.

Assim como os tipos de armazenamento, o formato dos arquivos deve ser escolhido de acordo com o propósito da sua aplicação. Um erro clássico é a utilização planilhas do Excel(.xlsx) para armazenar dados transacionais de uma aplicação. 

O Excel é uma ferramenta poderosa quando utilizada por users finais, agora quando falamos de dados sendo manipulados por uma aplicação existem opções que permitem otimização de espaço e do tempo de escrita e leitura.

A seguir temos os principais formatos de arquivo para manipulação de dados em storage e suas principais finalidades: 

  • Apache Parquet (.parquet): é um formato de armazenamento colunar de dados que é altamente eficiente em termos de armazenamento e processamento. Ele é o queridinho de aplicações de big data que utilizam hadoop e spark, também possui forte integração com bibliotecas como Pandas.
  • Apache ORC (.orc): é outro formato de armazenamento colunar de dados otimizado para aplicações de big data. Ele possui uma compressão muito grande o que permite salvar uma enorme quantidade de dados em pouco espaço.
  • Avro (.avro): é um formato de serialização de dados utilizado em diversas plataformas de big data. Ele se diferencia dos demais por oferecer uma modelagem mais versátil permitindo escrita com maior flexibilidade e suporte a dados semiestruturados. 
  • JSON (.json): é um formato de dados muito utilizado em aplicações web e em big data. Ele é otimizado para armazenamento e transferência de dados estruturados e semiestruturados.

4. Falta de observabilidade

O uso de storage de objetos é extremamente versátil, devido a isso, é muito comum organizações utilizarem esse serviço para diversas finalidades. Podemos ressaltar: construção de data lakes, backup de banco de dados, armazenamento para a aplicação e até compartilhamento de arquivos entre os times. 

Toda essa versatilidade é excelente, mas deve ser utilizada com cuidado. Não é incomum nos deparamos com contas gigantescas porque aquele backup automático manteve dados desnecessários ou alguém duplicou uma base para análise e esqueceu de apagar. 

Todos esses problemas que comentei, podem e naturalmente vão ocorrer algum dia com o seu projeto, a questão aqui é identificar e solucionar cada um o mais rápido possível. Para nossa sorte, os provedores de cloud fornecem diversas ferramentas de observabilidade que vamos explorar a seguir.

A observabilidade em cloud é a capacidade de monitorar, medir e obter insights sobre o desempenho, a disponibilidade e o estado dos sistemas e aplicativos em uma infraestrutura de nuvem. É um conceito extremamente importante, pois garante o controle total das aplicações quando bem implementada. a

A seguir irei mencionar as principais ferramentas de observabilidade dos principais provedores de cloud.

AWS (Amazon Web Services)

  • Amazon CloudWatch: é um serviço de monitoramento e observabilidade da AWS que coleta e rastreia métricas, logs e eventos. Ele oferece recursos para monitorar recursos, aplicativos e serviços da AWS.

GCP (Google Cloud Platform)

  • Stackdriver Monitoring: é uma plataforma de monitoramento da GCP que fornece insights sobre o desempenho, a disponibilidade e a integridade dos recursos e serviços da nuvem. Ele coleta métricas, registros e rastreamentos para análise e solução de problemas.

Azure (Microsoft Azure)

  • Azure Monitor: é uma solução de monitoramento e análise que coleta e analisa dados de várias fontes. Ele fornece insights sobre o desempenho e a disponibilidade de recursos e aplicativos no Azure.

5. Gestão inadequada de segurança de dados 

Nos últimos anos com o advento de novos algoritmos de IA, uso massivo de redes sociais e vários serviços sendo oferecidos através de plataformas digitais, criou-se o conceito de que dados é um ativo valioso para as organizações (e realmente é).

Com isso, fases como “dados são o novo petróleo” ou a minha favorita “dados é novo bacon” começaram a se espalhar pelo setor de tecnologia e muito além dele.

Como dados são um ativo valioso, precisamos proteger o nosso storage em cloud assim como como protegeríamos um banco de dados convencional. Para isso, precisamos nos atentar em dois fatores, que são modelos de responsabilidade compartilhada e boas práticas de segurança

Modelos de responsabilidade

Quando utilizamos qualquer provedor de cloud, concordamos com um contrato preestabelecido que dita quais são as responsabilidades do provedor de serviço e quais são as responsabilidades da pessoa usuária. Principalmente no que diz respeito à segurança dos dados e aplicações.  

Sendo assim, sugiro fortemente que leia o modelo de responsabilidade do seu provedor específico.

Boas práticas de segurança

Existem inúmeras boas práticas de segurança para o storage em cloud. Além disso, elas podem ser alteradas de acordo com o serviço que você está utilizando (sugiro a leitura das documentações). Ainda assim, irei citar aqui algumas principais.

  • Gerenciamento de acesso e autenticação:
    • Implemente o princípio do menor privilégio, fornecendo apenas as permissões necessárias para users e serviços;
    • Utilize políticas de acesso granulares para controlar quem pode acessar os objetos armazenados.
  • Criptografia:
    • Considere a criptografia de dados em repouso e em trânsito.
  • Monitoramento e registros de auditoria:
    • Habilite o monitoramento e registros de atividades em seu serviço de armazenamento de objetos para detectar e investigar quaisquer atividades suspeitas.
  • Configurações de segurança:
    • Siga as melhores práticas de configuração recomendadas pelo provedor de nuvem para o serviço de armazenamento de objetos.
    • Restrinja o acesso público a seus objetos, configurando as permissões corretamente.
  • Backup e recuperação:
    • Implemente uma estratégia de backup adequada para garantir a disponibilidade e integridade dos dados armazenados.

StackSpot e Cloud

A StackSpot também possui o Cloud Services, que oferece serviços que podem otimizar o uso da nuvem, tornando-a mais eficiente, inteligente, segura e pronta para dar suporte ao crescimento dos negócios.

Conheça mais sobre a forma como vemos serviços de cloud! Assista ao vídeo.

Conclusão

Espero que esse artigo de alguma forma ajude você a aprender e solucionar problemas no seu projeto. Deixo aqui uma pergunta, você já se deparou com algum desses problemas antes? Seu projeto atual passa por algum desses casos? Compartilhe nos comentários!

Continue acompanhando mais novidades nas nossas newsletters, receba conteúdos direto na sua caixa de entrada, é só se inscrever!

Autor

Henrique Papa

Data Engineer na Zup Innovation

Acesse meu LinkedIn: https://www.linkedin.com/in/henrique-papa/

Uma resposta

  1. O artigo oferece uma compreensão abrangente do conceito de cloud storage, destacando a evolução desse serviço desde o lançamento pioneiro da Amazon S3 em 2006. Além de apresentar os principais provedores, como AWS, GCP e Azure, o autor destaca a diversidade de aplicações, desde backup até análise de Big Data. Ao identificar os cinco erros comuns na utilização do cloud storage, o texto fornece uma valiosa orientação prática. A seleção inadequada do tipo de armazenamento é enfatizada, abordando aspectos como frequência de acesso, disponibilidade e redundância. A importância do gerenciamento do ciclo de vida dos objetos é destacada, juntamente com a escolha apropriada de formatos de arquivo e a necessidade crucial de observabilidade para evitar custos desnecessários. Lembrando que o encerramento deste o artigo, enfocando modelos de responsabilidade compartilhada e boas práticas. As ferramentas de observabilidade específicas de cada provedor são mencionadas, fornecendo um guia útil para aqueles que buscam aprimorar a segurança de seus dados na nuvem. A inclusão de dicas práticas, como o princípio do menor privilégio e a criptografia, adiciona uma camada valiosa de orientação.

Deixe um comentário

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

Summary

Related posts