

# PERF03-BP01 Compreender as características e os requisitos de armazenamento
<a name="perf_right_storage_solution_understand_char"></a>

 Identifique e documente as necessidades de armazenamento de workloads e defina as características de armazenamento de cada local. Exemplos de características de armazenamento incluem: acesso compartilhável, tamanho de arquivo, taxa de crescimento, throughput, IOPS, latência, padrões de acesso e persistência dos dados. Use essas características para avaliar se os serviços de armazenamento de blocos, arquivos, objetos ou instâncias são a solução mais eficiente para suas necessidades de armazenamento. 

 **Resultado desejado:** identifique e documente os requisitos para cada armazenamento e avalie as soluções de armazenamento disponíveis. Com base nas principais características de armazenamento, sua equipe vai entender como os serviços de armazenamento selecionados vão beneficiar o desempenho de sua workload. Os principais critérios incluem os padrões de acesso aos dados, a taxa de crescimento, as necessidades de escalabilidade e os requisitos de latência. 

 **Antipadrões comuns:** 
+  Você só usa um tipo de armazenamento, como o Amazon Elastic Block Store (Amazon EBS), para todas as workloads. 
+  Você pressupõe que todas as cargas de trabalho têm requisitos semelhantes de performance de acesso ao armazenamento. 

 **Benefícios do estabelecimento desta prática recomendada:** selecionar a solução de armazenamento com base nas características identificadas e necessárias vai ajudar você a melhorar a performance de suas workloads, reduzir os custos e diminuir os esforços operacionais para manter a workload. A performance de sua workload vai se beneficiar da solução, da configuração e do local do serviço de armazenamento. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Alto 

## Orientação de implementação
<a name="implementation-guidance"></a>

 Identifique as métricas de performance de armazenamento mais importantes da sua carga de trabalho e implemente melhorias como parte de uma abordagem impulsionada por dados, usando testes comparativos ou testes de carga. Use esses dados para identificar em que ponto sua solução de armazenamento é restrita e examinar as opções de configuração que possam melhorar a solução. Determine a taxa de crescimento esperada para sua carga de trabalho e escolha uma solução de armazenamento que atenda a essas taxas. Pesquise as ofertas de armazenamento da AWS para determinar a solução de armazenamento correta para as necessidades de sua workload. O provisionamento de soluções de armazenamento na AWS aumenta a oportunidade para você testar ofertas de armazenamento e determinar se são adequadas para as necessidades de sua workload. 


| Serviço da AWS | Características principais | Casos de uso comum | 
| --- | --- | --- | 
| Amazon S3 |  99,999999999% de durabilidade, crescimento ilimitado, acessível de qualquer lugar, vários modelos de custo baseados em acesso e resiliência.  |  Dados de aplicações nativas de nuvem, arquivamento de dados, backups, análises, data lakes, hospedagem de site estático, dados de IoT.   | 
| Amazon Glacier |  Latência de segundos a horas, crescimento ilimitado, menor custo, armazenamento de longo prazo.  |  Arquivamento de dados, arquivos de mídia, retenção de backup de longo prazo.  | 
| Amazon EBS | O tamanho do armazenamento requer gerenciamento e monitoramento, baixa latência, armazenamento persistente, 99,8% a 99,9% de durabilidade, a maioria dos tipos de volume só podem ser acessados de uma instância do EC2. |  Aplicações COTS, aplicações com uso intenso de E/S, bancos de dados relacionais e NoSQL, backup e recuperação.  | 
| Armazenamento de instâncias do EC2 |  Tamanho de armazenamento predeterminado, menor latência, sem persistência, acessível somente de uma instância do EC2.  |  Aplicações COTS, aplicações com uso intenso de E/S, datastore na memória.  | 
| Amazon EFS |  99,999999999% de durabilidade, crescimento ilimitado, acessível de vários serviços de computação.  |  Aplicações modernas compartilhando arquivos entre vários serviços de computação, armazenamento de arquivos para dimensionamento de sistemas de gerenciamento de conteúdo.  | 
| Amazon FSx |  Compatível com quatro sistemas de arquivos (NetApp, OpenZFS, Windows File Server e Amazon FSx for Lustre), o armazenamento disponível varia de acordo com o sistema de arquivos, acessível de vários serviços de computação.  |  Workloads nativas de nuvem, expansão na nuvem privada, workloads migradas que exigem um sistema de arquivos específico, VMC, sistemas de ERP, backups e armazenamento de arquivos on-premises.   | 
| Família Snow |  Dispositivos portáteis, criptografia de 256 bits, endpoint NFS, computação integrada, TBs de armazenamento.  |  Migração de dados para a nuvem, armazenamento e computação em condições on-premises extremas, recuperação de desastres, coleta de dados remota.  | 
| AWS Storage Gateway |  Oferece acesso on-premises de baixa latência ao armazenamento com backup na nuvem, cache on-premises totalmente gerenciado.   |  Migrações de dados on-premises para a nuvem, preenchimento de data lakes na nuvem usando origens on-premises, compartilhamento de dados modernizado.  | 

 **Etapas da implementação:** 

1. use testes de carga ou benchmarking para coletar as principais características de suas necessidades de armazenamento. As principais características incluem: 

   1. Compartilhável (quais componentes acessam esse armazenamento) 

   1. Taxa de crescimento 

   1. Taxa de transferência 

   1. Latência 

   1. Tamanho de E/S 

   1. Durabilidade 

   1. Padrões de acesso (leituras vs. gravações, frequência, com picos ou consistente) 

1. Identifique o tipo de solução de armazenamento compatível com as características do seu armazenamento. 

   1. [Amazon S3](https://aws.amazon.com/s3/) é um serviço de armazenamento de objetos com escalabilidade ilimitada, alta disponibilidade e várias opções de acessibilidade. A transferência e o acesso a objetos dentro e fora do Amazon S3 podem usar um serviço, como [Aceleração de Transferências](https://aws.amazon.com/s3/transfer-acceleration/) ou [Pontos de Acesso](https://aws.amazon.com/s3/features/access-points/) , para oferecer suporte ao seu local, necessidades de segurança e padrões de acesso. Use a ferramenta de recomendações do [diretrizes de performance do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) para ajudar você a otimizar sua configuração do Amazon S3 e atender às necessidades de performance da workload. 

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) é uma classe de armazenamento do Amazon S3 desenvolvida para arquivamento de dados. Você pode escolher entre três soluções de arquivamento com acesso que varia de milissegundos até 5 a 12 horas com diversas opções de custo e segurança. O Amazon Glacier pode ajudar você a cumprir os requisitos de performance ao implementar um ciclo de vida de dados que ofereça suporte aos seus requisitos de negócios e características de dados. 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) é um serviço de armazenamento de blocos de alta performance projetado para o Amazon Elastic Compute Cloud (Amazon EC2). Você pode escolher entre soluções [baseadas em SSD ou HDD](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) com características diferentes que priorizam [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) ou [throughput](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html). Os volumes do EBS são adequados para workloads de alta performance, armazenamento primário para sistemas de arquivos, bancos de dados ou aplicações que só podem acessar sistemas de estágio associado. 

   1. [Armazenamento de instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) é semelhante ao Amazon EBS já que se associa a uma instância do Amazon EC2, mas o armazenamento de instância é apenas um armazenamento temporário que, idealmente, deve ser usado como buffer, cache ou outro conteúdo temporário. Não é possível desassociar um armazenamento de instância e todos os dados serão perdidos se a instância for encerrada. Armazenamentos de instâncias podem ser usados para casos de uso de alta performance de E/S e baixa latência em que os dados não precisam persistir. 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) é um sistema de arquivos montável que pode ser acessado por diversos tipos de soluções de computação. O Amazon EFS aumenta e reduz automaticamente o armazenamento e sua performance é otimizada para oferecer latências baixas de maneira consistente. O EFS tem [dois modos de configuração de performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html): Propósito geral e E/S Máx. Propósito geral tem latência de leitura inferior a milissegundo e latência de gravação que nunca chega a 10 milissegundos. O recurso E/S Máx. oferece suporte a milhares de instâncias de computação que exigem um sistema de arquivos compartilhado. O Amazon EFS oferece suporte a [dois modos de throughput](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html): expansão e provisionada. Uma workload que tem um padrão de acesso com picos vai se beneficiar do modo de throughput de expansão, enquanto uma workload consistentemente alta tem melhor performance com o modo de throughput provisionada. 

   1. [Amazon FSx](https://aws.amazon.com/fsx/) se baseia nas soluções de computação mais recentes da AWS para oferecer suporte a quatro sistemas de arquivos comumente usados: NetApp ONTAP, OpenZFS, Windows File Server e Lustre. A [latência, throughput e IOPS](https://aws.amazon.com/fsx/when-to-choose-fsx/) do Amazon FSx variam de acordo com o sistema de arquivos e devem ser consideradas ao selecionar o sistema de arquivos certo para as necessidades de sua workload. 

   1. [AWS Snow Family](https://aws.amazon.com/snow/) consiste em dispositivos de armazenamento e computação que oferecem suporte à migração de dados online e offline para a nuvem, além de armazenamento de dados e computação on-premises. Os dispositivos AWS Snow oferecem suporte à coleta de grandes quantidades de dados on-premises, processamento desses dados e movimentação desses dados para a nuvem. Há diversas [práticas recomendadas e documentadas sobre performance](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) no que se refere a número de arquivos, tamanhos de arquivos e compressão. 

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) oferece a aplicações on-premises acesso ao armazenamento baseado em nuvem. O AWS Storage Gateway é compatível com vários serviços de armazenamento em nuvem, incluindo Amazon S3, Amazon Glacier, Amazon FSx e Amazon EBS. Ele oferece suporte a diversos protocolos, como iSCSI, SMB e NFS. Oferece performance de baixa latência ao armazenar em cache os dados acessados com frequência on-premises e só envia dados alterados e comprimidos à AWS. 

1. Depois de experimentar a nova solução de armazenamento e identificar a configuração ideal, planeje a migração e valide as métricas de performance. Esse processo é contínuo e deve ser reavaliado quando houver mudança em características importantes ou quando os serviços e as opções disponíveis mudarem. 

 **Nível de esforço do plano de implementação: **Se uma workload estiver sendo movida de uma solução de armazenamento para outra, poderá haver um nível *moderado* de esforço envolvido na refatoração da aplicação.   

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Tipos de volume do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Armazenamento do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: performance do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Performance do Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Performance do Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Performance do Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Performance do Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier: documentação do Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerações sobre performance e taxa de solicitação](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Armazenamento na nuvem com a AWS](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [Características de E/S do EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Exemplos relacionados:** 
+  [Driver CSI do Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI do Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitários do Amazon EFS](https://github.com/aws/efs-utils) 
+  [Escalabilidade automática do Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemplos do Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Driver CSI (Interface de armazenamento de contêiner) do Amazon FSx for Lustre](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)