Neste documento, mostramos o framework de arquitetura do Google Cloud sobre as práticas recomendadas para implantar seu sistema com base no armazenamento. Você aprenderá a selecionar uma estratégia de armazenamento e como gerenciar armazenamento, padrões de acesso e cargas de trabalho.
Para facilitar a troca de dados e fazer backup e armazenar dados com segurança, as organizações precisam escolher um plano de armazenamento com base na carga de trabalho, operações de entrada/saída por segundo (IOPS, na sigla em inglês), latência, frequência de recuperação, local, capacidade e formato (bloco, arquivo e objeto).
O Cloud Storage oferece serviços de armazenamento de objetos confiáveis e seguros, incluindo:
- Opções de redundância integradas para proteger os dados contra falhas de equipamento e garantir a disponibilidade deles durante a manutenção do data center.
- Opções de transferência de dados, incluindo estas:
- Classes de armazenamento para dar suporte às cargas de trabalho.
- Somas de verificação calculadas para todas as operações do Cloud Storage que permitem ao Google verificar leituras e gravações.
No Google Cloud, a IOPS é escalonada de acordo com o espaço de armazenamento provisionado. Alguns tipos de armazenamento, como discos permanentes, exigem replicação e backup manuais porque são regionais ou por zona. Por outro lado, o armazenamento de objetos é altamente disponível e replica automaticamente dados em uma única região ou em várias regiões.
Tipo de armazenamento
Nesta seção, você verá as práticas recomendadas para escolher um tipo de armazenamento compatível com seu sistema.
Avaliar as opções de armazenamento de alto desempenho
Avalie discos permanentes ou unidades de estado sólido (SSD) locais para aplicativos de computação que exigem armazenamento de alto desempenho. O Cloud Storage é um armazenamento de objetos imutável com controle de versões. O uso do Cloud Storage com o Cloud CDN ajuda na otimização de custos, especialmente para objetos estáticos acessados com frequência.
O Filestore é compatível com aplicativos de várias gravações que precisam de espaço compartilhado de alta performance. O Filestore também é compatível com aplicativos modernos e legados que exigem operações de arquivos do tipo POSIX com ativações do Network File System (NFS).
O Cloud Storage é compatível com casos de uso, como a criação de data lakes e abordagem de requisitos de arquivamento. Tome decisões de compensação com base em como você escolhe a classe do Cloud Storage devido aos custos de acesso e recuperação, especialmente ao configurar políticas de retenção. Para mais informações, consulte Criar uma estratégia de armazenamento ideal para sua carga de trabalho na nuvem.
Todas as opções de armazenamento são, por padrão, criptografadas em repouso e em trânsito usando chaves de propriedade e gerenciadas pelo Google. Para tipos de armazenamento como o Persistent Disk e o Cloud Storage, é possível fornecer sua própria chave ou gerenciá-los usando o Cloud Key Management Service (Cloud KMS). Estabeleça uma estratégia para lidar com essas chaves antes de aplicá-las aos dados de produção.
Escolher os serviços do Google Cloud compatíveis com o design de armazenamento
Para saber mais sobre os serviços do Google Cloud compatíveis com o design de armazenamento, use a tabela a seguir:
Serviço do Google Cloud | Descrição |
---|---|
Cloud Storage | Oferece armazenamento e recuperação global de qualquer quantidade de dados a qualquer momento.
É possível usar o Cloud Storage para uma variedade de
cenários, incluindo veiculação de conteúdo do site, armazenamento de dados para arquivamento e
recuperação de desastres ou distribuição de objetos de dados grandes por meio de download direto. Para ver mais informações, consulte os seguintes tópicos: |
Persistent Disk | Um armazenamento em blocos de alta performance para o Google Cloud. O Persistent Disk
fornece armazenamento SSD e de disco rígido (HDD, na sigla em inglês) que pode ser anexado a
instâncias em execução no Compute Engine ou no Google Kubernetes Engine (GKE).
|
Filestore | Um serviço de armazenamento de arquivos gerenciado para aplicativos que exigem uma interface de sistema de arquivos e um sistema de arquivos compartilhado para dados. O Filestore proporciona aos usuários uma experiência perfeita para manter o armazenamento conectado à rede (NAS, na sigla em inglês) gerenciado com as respectivas instâncias do Compute Engine e do GKE. |
Cloud Storage para Firebase | Criado para desenvolvedores de aplicativos que precisam armazenar e disponibilizar conteúdo gerado pelo usuário, como fotos ou vídeos. Todos os seus arquivos são armazenados em buckets do Cloud Storage. Portanto, eles podem ser acessados no Firebase e no Google Cloud. |
Escolher uma estratégia de armazenamento
Para selecionar uma estratégia de armazenamento que atenda aos requisitos do aplicativo, use a seguinte tabela:
Caso de uso | Recomendações |
---|---|
Você quer armazenar dados em escala com o menor custo, e o desempenho de acesso não é um problema. | Cloud Storage |
Você está executando aplicativos de computação que precisam de armazenamento imediato. Saiba mais em Como otimizar o desempenho de discos permanentes e SSDs locais. |
Persistent Disk ou SSD local |
Você está executando cargas de trabalho de alto desempenho que precisam de acesso de leitura e gravação ao espaço compartilhado. | Filestore |
Você tem casos de uso de computação de alto desempenho (HPC) ou de alta capacidade (HTC, na sigla em inglês). | Como usar clusters na computação técnica em grande escala no Google Cloud |
Escolha armazenamento ativo ou em arquivo com base nas necessidades de acesso do armazenamento
Uma classe de armazenamento é um fragmento de metadados usado por todos os objetos. Para dados exibidos em uma taxa alta com alta disponibilidade, use a classe Standard Storage. Para dados que são acessados com pouca frequência e podem tolerar uma disponibilidade um pouco menor, use a classe Nearline Storage, Coldline Storage ou Archive Storage. Para mais informações sobre considerações de custo para escolher uma classe de armazenamento, consulte Preços do Cloud Storage.
Avaliar as necessidades de localização de armazenamento e proteção de dados do Cloud Storage
Para um bucket do Cloud Storage localizado em uma região, os dados contidos nele são replicados automaticamente entre as zonas da região. A replicação de dados entre zonas protege os dados se houver uma falha zonal em uma região.
O Cloud Storage também oferece locais redundantes entre as regiões, o que significa que os dados são replicados em vários data centers geograficamente separados. Para mais informações, consulte Locais de bucket.
Usar o Cloud CDN para melhorar a entrega de objetos estáticos
Para otimizar o custo de recuperação de objetos e minimizar a latência do acesso, use o Cloud CDN. O Cloud CDN usa o balanceador de carga de aplicativo externo do Cloud Load Balancing para fornecer suporte a roteamento, verificação de integridade e endereço IP anycast. Para mais informações, consulte Como configurar o Cloud CDN com buckets de nuvem.
Padrão do acesso de armazenamento e tipo de carga de trabalho
Nesta seção, você verá as práticas recomendadas para escolher padrões de acesso de armazenamento e tipos de carga de trabalho compatíveis com seu sistema.
Usar o Persistent Disk para permitir o acesso ao armazenamento de alto desempenho
Os padrões de acesso aos dados dependem de como o desempenho do sistema é projetado. O Cloud Storage fornece armazenamento escalonável, mas não é uma escolha ideal quando você executa cargas de trabalho pesadas de computação que precisam de acesso de alta capacidade para grandes quantidades de dados. Para acesso a armazenamento de alto desempenho, use disco permanente.
Usar espera exponencial ao implementar lógica de repetição
Use a espera exponencial ao implementar a lógica de nova tentativa para lidar com erros 5XX, 408 e 429. Cada bucket do Cloud Storage é provisionado com capacidade inicial de E/S. Para mais informações, consulte as Diretrizes de taxa de solicitação e distribuição de acesso. Planejar um aumento gradual para solicitações de repetição.
Gerenciamento de armazenamento
Nesta seção, você verá as práticas recomendadas de gerenciamento de armazenamento compatíveis com o sistema.
Atribuir nomes exclusivos a cada bucket
Torne cada nome de bucket exclusivo em todo o namespace do Cloud Storage. Não inclua informações confidenciais em um nome de bucket. Escolha nomes de buckets e objetos que são difíceis de adivinhar. Para mais informações, consulte as diretrizes de nomenclatura de bucket e diretrizes de nomenclatura de objeto.
Mantenha os buckets do Cloud Storage privados
A menos que haja um motivo relacionado a negócios, verifique se o bucket do Cloud Storage não está acessível de forma anônima ou pública. Para mais informações, consulte Visão geral do controle de acesso.
Atribuir nomes de objetos aleatórios para distribuir a carga uniformemente
Atribua nomes aleatórios de objetos para facilitar o desempenho e evitar o uso excessivo do ponto de acesso. Use um prefixo aleatório para objetos sempre que possível. Para mais informações, consulte Usar uma convenção de nomenclatura que distribua a carga uniformemente pelos intervalos de chaves.
Usar a prevenção do acesso público
Para impedir o acesso no nível da organização, da pasta, do projeto ou do bucket, use a prevenção do acesso público. Para mais informações, consulte Como usar a prevenção do acesso público.
A seguir
Saiba mais sobre os serviços de banco de dados do Google Cloud e as práticas recomendadas, incluindo:
- Selecione e migre seu banco de dados.
- Gerencie a criptografia do banco de dados.
- Gerenciar as redes e o acesso ao banco de dados.
Explore outras categorias no Framework de arquitetura, como confiabilidade, excelência operacional e segurança, privacidade e conformidade.