Este documento ajuda você a avaliar os requisitos de armazenamento da sua carga de trabalho na nuvem, entender as opções de armazenamento disponíveis no Google Cloud e criar uma estratégia de armazenamento que forneça o valor comercial ideal.
Para acessar um resumo visual das principais recomendações de design, consulte o diagrama da árvore de decisão.
Informações gerais do processo de design
Como arquiteto do Cloud, ao planejar o armazenamento para uma carga de trabalho na nuvem, você precisa primeiro considerar as características funcionais da carga de trabalho, restrições de segurança, requisitos de resiliência, expectativas de desempenho e metas de custo. Você precisa analisar os serviços e recursos de armazenamento disponíveis no Google Cloud. Em seguida, com base nos seus requisitos e nas opções disponíveis, você seleciona os serviços e recursos de armazenamento necessários.
O diagrama a seguir mostra esse processo de design de três fases:
Definir seus requisitos
Use os questionários nesta seção para definir os principais requisitos de armazenamento da carga de trabalho que você quer implantar no Google Cloud.
Diretrizes para definir requisitos de armazenamento
Ao responder aos questionários, considere as seguintes diretrizes:
Definir requisitos de forma granular
Por exemplo, se o aplicativo precisar de armazenamento de arquivos baseado no Network File System (NFS), identifique a versão necessária do NFS.
Considerar requisitos futuros
Por exemplo, sua implantação atual pode atender a usuários em países da Ásia, mas é possível que você queira expandir os negócios para outros continentes. Nesse caso, considere todos os requisitos regulamentares relacionados ao armazenamento dos novos territórios de negócios.
Considerar oportunidades e requisitos específicos da nuvem
Aproveite as oportunidades específicas da nuvem.
Por exemplo, para otimizar o custo de armazenamento dos dados armazenados no Cloud Storage, você pode controlar a duração do armazenamento usando políticas de retenção de dados e configurações do ciclo de vida.
Considere os requisitos específicos da nuvem.
Por exemplo, os dados locais podem existir em um único data center, e talvez seja necessário replicar os dados migrados em dois locais do Google Cloud para redundância.
Questionários
Os questionários a seguir não são listas de verificação completas para o planejamento. Use-os como ponto de partida para analisar sistematicamente todos os requisitos de armazenamento da carga de trabalho que você quer implantar no Google Cloud.
Avaliar as características da sua carga de trabalho
Que tipo de dados você precisa armazenar?
Exemplos
- Conteúdo estático do site
- Backups e arquivos para recuperação de desastres
- Registros de auditoria para conformidade
- Grandes objetos de dados que os usuários baixam diretamente
- Dados de transações
- Dados não estruturados e heterogêneos
De quanto capacidade você precisa? Considere seus requisitos atuais e futuros.
A capacidade deve ser escalonada automaticamente com o uso?
Quais são os requisitos de acesso? Por exemplo, os dados precisam ser acessíveis de fora do Google Cloud?
Quais são os padrões esperados de leitura e gravação?
Exemplos
- Gravações e leituras frequentes
- Gravações frequentes, mas leituras ocasionais
- Gravações e leituras ocasionais
- Gravações ocasionais, mas leituras frequentes
A carga de trabalho precisa de acesso baseado em arquivo, como NFS?
Vários clientes podem ler ou gravar dados simultaneamente?
Identificar restrições de segurança
Quais são seus requisitos de criptografia de dados? Por exemplo, você precisa usar chaves controladas por você?
Há algum requisito de residência para os dados?
Definir requisitos de resiliência de dados
- Sua carga de trabalho precisa de cache de baixa latência ou espaço temporário?
- Você precisa replicar os dados na nuvem para redundância?
- Você precisa de uma consistência rigorosa de leitura e gravação para conjuntos de dados replicados?
Definir expectativas de desempenho
Qual é a taxa de E/S necessária?
De quais níveis de capacidade de leitura e gravação seu aplicativo precisa?
Para quais ambientes você precisa de armazenamento? Para uma determinada carga de trabalho, você pode precisar de armazenamento de alto desempenho para o ambiente de produção, mas pode escolher uma opção de menor desempenho para os ambientes de não produção.
Revise as opções de armazenamento
O Google Cloud oferece serviços de armazenamento para todos os principais formatos de armazenamento: bloco, arquivo e objeto. Revise e avalie os recursos, as opções de design e as vantagens relativas dos serviços disponíveis para cada formato de armazenamento.
Visão geral
Armazenamento em blocos
Os dados que você armazena no armazenamento em blocos são divididos em blocos, cada um armazenado como um bloco separado com um endereço exclusivo. Os aplicativos acessam dados fazendo referência aos endereços de bloco apropriados. O armazenamento em blocos é otimizado para cargas de trabalho com IOPS alto, como o processamento de transações. É semelhante à rede de área de armazenamento (SAN) local e aos sistemas de armazenamento conectado diretamente (DAS).
As opções de armazenamento em blocos no Google Cloud fazem parte do serviço do Compute Engine.
Opção | Informações gerais |
---|---|
Persistent Disk | Unidades de disco rígido dedicadas (HDD) e unidades de estado sólido (SSD) para aplicativos empresariais e de banco de dados implantados em VMs do Compute Engine e em clusters do Google Kubernetes Engine (GKE). |
Google Cloud Hyperdisk | Armazenamento em rede rápido e redundante para VMs do Compute Engine, com desempenho configurável e volumes que podem ser redimensionados dinamicamente. |
SSD local | Armazenamento em blocos temporário, anexado localmente, para aplicativos de alto desempenho. |
Armazenamento de arquivos
Os dados são organizados e representados em uma hierarquia de arquivos armazenados em pastas, semelhante ao armazenamento conectado à rede local (NAS). Os sistemas de arquivos podem ser ativados em clientes usando protocolos como NFS e Server Message Block (SMB). Os aplicativos acessam dados usando o nome de arquivo e o caminho de diretório relevantes.
O Google Cloud oferece uma variedade de soluções totalmente gerenciadas e de terceiros para armazenamento de arquivos.
Solução | Informações gerais |
---|---|
Google Cloud Filestore |
Servidores de arquivos NFSv3 para VMs do Compute Engine e clusters do Google Kubernetes Engine. Escolha um nível de serviço (básico, zonal ou regional) adequado ao seu caso de uso. |
Google Cloud NetApp Volumes | Armazenamento baseado em arquivo usando NFSv3, NFSv4.1 ou SMB. |
Mais opções | Consulte Resumo das opções de servidor de arquivos. |
Armazenamento de objetos
Os dados são armazenados como objetos em uma hierarquia plana de buckets. Cada objeto recebe um ID exclusivo globalmente. Os objetos podem ter metadados atribuídos pelo sistema e definidos pelo usuário para ajudar a organizar e gerenciar os dados. Os aplicativos acessam dados fazendo referência aos IDs de objeto, usando APIs REST ou bibliotecas de cliente. O armazenamento de objetos é semelhante à SAN local, em termos de capacidade de escalonamento, mas é mais fácil de gerenciar e mais barato.
O Cloud Storage fornece armazenamento de objetos de baixo custo, altamente durável e ilimitado para diversos tipos de dados. Os dados que você armazena no Cloud Storage podem ser acessados de qualquer lugar, dentro e fora do Google Cloud. A redundância opcional entre regiões oferece confiabilidade máxima. Selecione uma classe de armazenamento que atenda aos seus requisitos de retenção de dados e frequência de acesso.
Análise comparativa
A tabela a seguir fornece uma análise comparativa dos principais recursos dos serviços de armazenamento no Google Cloud.
Persistent Disk | Hiperdisco | SSD local | Filestore | Google Cloud NetApp Volumes | Cloud Storage | |
---|---|---|---|---|---|---|
Capacidade |
10 GiB a 64 TiB por disco 257 TiB por VM |
De 4 GiB a 64 TiB por disco 512 TiB por VM |
375 GiB por disco 12 TiB por VM |
De 1 a 100 TiB por instância do Filestore (a capacidade mínima e máxima e os incrementos de escalonamento variam de acordo com o nível de serviço) | 2 a 500 TiB por pool de armazenamento 100 GiB a 100 TiB por volume |
Não há limite inferior ou superior |
Escalonamento |
|
Escalone o desempenho e a capacidade dinamicamente | Não escalonável |
|
Aumentar ou diminuir a escala | Escala automaticamente com base no uso |
Compartilhamento |
Compartilhamento limitado
|
Não compartilhável | Não compartilhável | Montável em várias VMs do Compute Engine, clientes remotos e clusters do GKE | Montável em várias VMs do Compute Engine e clusters do GKE |
|
Chaves de criptografia |
Uma destas:
|
Uma destas:
|
Chaves de propriedade e gerenciadas pelo Google |
|
Uma destas:
|
Uma destas:
|
Persistência |
Duração do disco | Duração do disco | Temporário (os dados permanecem até que a VM seja interrompida ou excluída) | Ciclo de vida da instância do Filestore | Duração do volume | Vida útil do bucket |
Disponibilidade |
|
Zonal | Zonal |
| ||
Desempenho |
Escalar linearmente o desempenho elevado, com base no tamanho do disco e na contagem de CPU | Armazenamento permanente escalonável e de alto desempenho com escalabilidade dinâmica | Armazenamento de rascunho com alto desempenho |
|
Desempenho escalonável As expectativas dependem do nível de serviço |
Taxas de leitura e gravação de escalonamento automático e redistribuição dinâmica de carga |
Gerenciamento |
Formatar e ativar manualmente | Formatar e ativar manualmente | Formate, liste e monte manualmente | Totalmente gerenciado | Totalmente gerenciado | Totalmente gerenciado |
Cargas de trabalho |
|
|
|
|
|
|
Escolher uma opção de armazenamento
A seleção de uma estratégia de armazenamento tem duas partes:
- Decidir quais serviços de armazenamento você precisa.
- Escolha dos recursos e opções de design necessários em um determinado serviço.
Exemplos de recursos específicos do serviço e opções de design
Persistent Disk
- Região e zona de implantação
- Replicação regional
- Tipo, tamanho e IOPS do disco (para discos permanentes extremos)
- Chaves de criptografia: pertencentes e gerenciadas pelo Google, gerenciadas pelo cliente ou fornecidas pelo cliente
- Programação de snapshots
Hiperdisco
- Zona de implantação
- Tipo de disco, tamanho e IOPS
- Chaves de criptografia: pertencentes e gerenciadas pelo Google, gerenciadas pelo cliente ou fornecidas pelo cliente
- Programação de snapshots
Filestore
- Região e zona de implantação
- Instance tier
- Capacidade
- Intervalo de IP: alocado automaticamente ou personalizado
- Controle de acesso
NetApp Volumes
- Região de Implantação
- Nível de serviço do pool de armazenamento
- Pool e capacidade de volume
- Protocolo de volume
- Regras de exportação de volume
Cloud Storage
- Local: multirregional, birregional, único
- Classe de armazenamento: Standard, Nearline, Coldline, Archive
- Controle de acesso: uniforme ou detalhado
- Chaves de criptografia: pertencentes e gerenciadas pelo Google, gerenciadas pelo cliente ou fornecidas pelo cliente
- Política de retenção
Recomendações de armazenamento
Use as recomendações a seguir como ponto de partida para escolher os serviços de armazenamento e recursos que atendem aos seus requisitos. Essas recomendações também são apresentadas como uma árvore de decisão posteriormente neste documento.
Para aplicativos que precisam de acesso baseado em arquivos, escolha um serviço de armazenamento de arquivos adequado com base nos seus requisitos de protocolo de acesso, disponibilidade e desempenho.
Protocolo de acesso Recomendação NFSv3 - Se você precisar de disponibilidade regional, use o Filestore regional.
- Se a disponibilidade zonal for suficiente, mas você precisar de alto desempenho, use o Filestore Zonal.
- Caso contrário, use o Filestore Basic ou o NetApp Volumes.
Para mais informações sobre as diferenças entre os níveis de serviço do Filestore, consulte Níveis de serviço.
SMB ou NFSv4.1 Use o NetApp Volumes. Para cargas de trabalho que precisam de armazenamento principal com alto desempenho, use SSDs locais, discos permanentes ou hiperdiscos, dependendo de seus requisitos.
Requisito Recomendação Cache ou disco de trabalho rápido Use discos SSD locais (temporários).
IOPS sequenciais Use discos permanentes com o tipo de disco pd-standard
.Carga de trabalho com IOPS intensivo Use discos permanentes com o tipo de disco pd-extreme
oupd-ssd
.Equilíbrio entre desempenho e custo Use discos permanentes com o tipo de disco pd-balanced
.Desempenho e capacidade escalonáveis dinamicamente Use o Hyperdisk.
Escolha um tipo adequado de hiperdisco:
- A capacidade de processamento do hiperdisco é recomendada para análise de escalonamento horizontal, unidades de dados para aplicativos sensíveis ao custo e para armazenamento frio.
- O Hyperdisk Extreme é recomendado para cargas de trabalho que precisam de alta E/S, como bancos de dados de alto desempenho.
- Dependendo dos requisitos de redundância, escolha entre discos regionais e zonais.
Requisito Recomendação Redundância em uma única zona em uma região Use discos permanentes zonais ou hiperdiscos. Redundância em várias zonas dentro de uma região Use discos permanentes regionais.
Para armazenamento ilimitado e disponível globalmente, use o Cloud Storage.
Dependendo da frequência de acesso a dados e da duração do armazenamento, escolha uma classe adequada do Cloud Storage.
Requisito Recomendação> A frequência de acesso varia ou o período de armazenamento de dados é desconhecido ou não previsível. Use o recurso Autoclass para fazer a transição automática de objetos em um bucket para classes de armazenamento apropriadas com base no padrão de acesso de cada objeto. Armazenamento para dados que são acessados com frequência, incluindo para análise de alta capacidade, data lakes, sites, streaming de vídeos e aplicativos para dispositivos móveis. Use a classe de armazenamento Standard.
Para armazenar em cache os dados acessados com frequência e exibi-los em locais próximos aos clientes, use o Cloud CDN.
Armazenamento de baixo custo para dados acessados com pouca frequência que podem ser armazenados por pelo menos 30 dias (por exemplo, backups e conteúdo multimídia extenso). Use a classe de armazenamento Nearline. Armazenamento de baixo custo para dados acessados com pouca frequência que podem ser armazenados por pelo menos 90 dias (por exemplo, recuperação de desastres). Use a classe de armazenamento Coldline. Armazenamento de menor custo para dados acessados com pouca frequência que podem ser armazenados por pelo menos 365 dias, incluindo arquivos regulatórios. Use a classe de armazenamento Archive. Para uma análise comparativa detalhada, consulte Classes do Cloud Storage.
Opções de transferência de dados
Depois de escolher os serviços apropriados do Google Cloud Storage, para implantar e executar cargas de trabalho, é preciso transferir seus dados para o Google Cloud. Os dados que precisam ser transferidos podem existir no local ou em outras plataformas de nuvem.
É possível usar os seguintes métodos para transferir dados para o Google Cloud:
- Transferir dados online usando o Serviço de transferência do Cloud Storage: automatize a transferência de grandes quantidades de dados entre sistemas de armazenamento de objetos e arquivos, incluindo o Cloud Storage, Amazon S3, serviços de armazenamento do Azure e fontes de dados no local.
- Transferir dados off-line usando o Transfer Appliance: transfira e carregue grandes quantidades de dados off-line para o Google Cloud em situações quando a conectividade de rede e a largura de banda são limitadas, caras ou estão indisponíveis.
- Fazer upload de dados para o Cloud Storage: faça upload de dados on-line para buckets do Cloud Storage usando o console do Google Cloud, a gcloud CLI, as APIs Cloud Storage ou as bibliotecas de cliente.
Ao escolher um método de transferência de dados, considere fatores como tamanho dos dados, restrições de tempo, disponibilidade de largura de banda, metas de custo e requisitos de segurança e conformidade. Para saber mais sobre como planejar e implementar transferências de dados para o Google Cloud, consulte Migrar para o Google Cloud: transferir conjuntos de dados grandes.
Árvore de decisão sobre opções de armazenamento
O diagrama da árvore de decisão a seguir guia você pelas recomendações de armazenamento do Google Cloud discutidas anteriormente:
A seguir
- Faça uma estimativa do custo de armazenamento usando a calculadora de preços do Google Cloud.
- Saiba mais sobre as práticas recomendadas para criar uma topologia de nuvem otimizada para segurança, resiliência, custo e desempenho.
- Saiba mais sobre as diferenças entre o armazenamento de objetos, bloqueios e arquivos no Google Cloud (vídeo).
- Saiba quando usar sistemas de arquivos paralelos, como o Lustre, para cargas de trabalho de HPC.
Colaboradores
Autor: Kumar Dhanagopal | Desenvolvedor de soluções de vários produtos
Outros colaboradores:
- Brennan Doyle | Arquiteto de soluções
- Dean Hildebrand | Diretor técnico, escritório do CTO
- Geoffrey Noer | Gerente de produto do grupo
- Jack Zhou | Redator técnico
- Jonas Wu | Diretor, gerenciamento de produtos
- Jeff Allen | Arquiteto de soluções
- Sean Derrington | Gerente de produtos externos do grupo, Armazenamento