Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Armazenamento de Blobs do Azure é uma solução de armazenamento de objetos da Microsoft para a nuvem. O Armazenamento de Blobs é otimizado para armazenar grandes quantidades de dados não estruturados. Dados não estruturados são dados que não estão de acordo com uma definição ou um modelo de dados específico, como texto ou dados binários.
Este artigo pressupõe que, como arquiteto, você revisou suas opções de armazenamento e escolheu o Armazenamento de Blobs como o serviço de armazenamento no qual executar suas cargas de trabalho. As diretrizes neste artigo fornecem recomendações arquitetônicas que são alinhadas aos princípios dos pilares do Azure Well-Architected Framework.
Reliability
A finalidade do pilar confiabilidade é fornecer funcionalidade contínua criando resiliência suficiente e a capacidade de se recuperar rapidamente de falhas.
Os princípios de design de confiabilidade fornecem uma estratégia de design de alto nível aplicada a componentes individuais, fluxos do sistema e o sistema como um todo.
Lista de verificação de design de carga de trabalho
Inicie sua estratégia de design com base na lista de verificação de design para Confiabilidade.
Use a análise do modo de falha: Minimize os pontos de falha considerando as dependências internas, como a disponibilidade de redes virtuais, o Azure Key Vault, a Rede de Distribuição de Conteúdo do Azure ou os pontos de extremidade do Azure Front Door. Podem ocorrer falhas caso as credenciais necessárias para que cargas de trabalho acessem o Armazenamento de Blobs não estejam presentes no Key Vault, ou caso as cargas de trabalho usem um ponto de extremidade baseado em uma rede de distribuição de conteúdo que foi removida. Nesses casos, as cargas de trabalho podem precisar usar um endpoint alternativo para se conectar. Para obter informações gerais sobre a análise do modo de falha, consulte Recomendações para executar a análise do modo de falha.
Definir destinos de confiabilidade e recuperação: examine os SLAs (contratos de nível de serviço) do Azure. Derivar o SLO (objetivo de nível de serviço) para a conta de armazenamento. Por exemplo, o SLO pode ser afetado pela configuração de redundância escolhida. Considere o efeito de uma interrupção regional, o potencial de perda de dados e o tempo necessário para restaurar o acesso após uma interrupção. Considere também a disponibilidade de quaisquer dependências internas que você identificou como parte da análise do modo de falha.
Configurar a redundância de dados: para obter durabilidade máxima, escolha uma configuração que copie dados entre zonas de disponibilidade ou regiões globais. Para obter a disponibilidade máxima, escolha uma configuração que permita que os clientes leiam dados da região secundária durante uma interrupção da região primária.
Sempre use o SDK ao escrever código personalizado para interagir com o armazenamento de blobs. Use a biblioteca de clientes do Armazenamento de Blobs do Azure específica para seu idioma para manipular contêineres e os blobs dentro dos contêineres. O SDK tem tratamento de falha transitório interno para minimizar a lógica de repetição personalizada.
Projetar aplicativos para usar opções de leitura secundárias: crie aplicativos para alternar para a leitura de dados da região secundária se a região primária ficar indisponível por qualquer motivo. Isso requer armazenamento com redundância geográfica de acesso de leitura (RA-GRS) ou configurações de armazenamento com redundância de zona geográfica de acesso de leitura (RA-GZRS). Ambas as configurações oferecem acesso de apenas leitura aos seus dados na região secundária. Se as leituras primárias e secundárias falharem, degrade normalmente em seu aplicativo. Por exemplo, mostre uma imagem de espaço reservado genérica para uma operação de recuperação de imagem de produto com falha.
Explore os recursos para ajudá-lo a atender aos seus destinos de recuperação: torne os blobs restauráveis para que possam ser recuperados se estiverem corrompidos, editados ou excluídos por engano.
Crie um plano de recuperação: considere recursos de proteção de dados, operações de backup e restauração ou procedimentos de failover. Prepare-se para possíveis perdas de dados e inconsistências de dados e o tempo e o custo do failover. Para obter mais informações, consulte Recomendações para criar uma estratégia de recuperação de desastre.
Monitorar possíveis problemas de disponibilidade: assine o painel de Integridade do Serviço do Azure para monitorar possíveis problemas de disponibilidade. Use métricas de armazenamento no Azure Monitor e logs de diagnóstico para investigar alertas.
Analise periodicamente seu patrimônio de dados: use a Descoberta de Armazenamento do Azure e o Azure Copilot para analisar as configurações de redundância para obter maneiras de otimizar.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Configure a conta para garantir redundância. Para ter disponibilidade e durabilidade máximas, configure sua conta usando o ZRS (armazenamento com redundância de zona) ou GZRS. Se estiver usando a redundância GZRS, você poderá obter o RPO (Objetivo de Ponto de Recuperação) mais ideal habilitando a replicação de prioridade geográfica. |
A redundância protege seus dados contra falhas inesperadas. As opções de configuração ZRS e GZRS são replicadas em diferentes zonas de disponibilidade e permitem que os aplicativos continuem lendo dados durante uma interrupção. Para obter mais informações, consulte Durabilidade e disponibilidade por cenário de interrupção e parâmetros de durabilidade e disponibilidade. |
| Antes de iniciar um failover ou failback, avalie o potencial de perda de dados verificando o valor da propriedade hora da última sincronização. Essa recomendação se aplica somente às configurações grs e GZRS. | Essa propriedade ajuda você a estimar quantos dados você pode perder iniciando um failover de conta. Todos os dados e metadados gravados antes da hora da última sincronização estão disponíveis na região secundária, mas os dados e metadados gravados após o último tempo de sincronização podem ser perdidos porque não são gravados na região secundária. |
| Como parte da estratégia de backup e recuperação, habilite as opções exclusão temporária de contêiner, exclusão temporária de blob, controle de versão e restauração pontual. | A opção de exclusão reversível permite que uma conta de armazenamento recupere contêineres e blobs excluídos. A opção de controle de versão controla automaticamente as alterações feitas nos blobs. Essa opção permite restaurar um blob para um estado anterior. A opção restauração pontual fornece proteção contra a exclusão acidental ou corrupção do blob e permite restaurar os dados de blob de blocos para um estado anterior. Para obter mais informações, veja Descrição geral da proteção de dados. |
| Configure um backup protegido do Blob do Azure como parte da estratégia de backup. | O backup protegido oferece proteção aos dados de blob de blocos contra ransomware e outros ataques maliciosos ou perda de dados de origem. Os dados são copiados e armazenados no cofre de Backup (uma cópia de dados fora do local) que podem ser mantidos por até 10 anos. Se ocorrer alguma perda de dados na conta de origem, será possível disparar uma restauração para uma conta alternativa e obter acesso aos dados. Saiba mais sobre o suporte para backup em cofre usando o Backup do Azure. |
Segurança
O objetivo do pilar Segurança é fornecer garantias de confidencialidade, integridade e disponibilidade à carga de trabalho.
Os princípios de design de segurança fornecem uma estratégia de design de alto nível para atingir essas metas aplicando abordagens ao design técnico da configuração do Armazenamento de Blobs.
Lista de verificação de design de carga de trabalho
Comece sua estratégia de design com base no checklist de revisão de design para segurança. Identifique vulnerabilidades e controles para melhorar a postura de segurança. Estenda a estratégia para incluir mais abordagens conforme necessário.
Examine a linha de base de segurança do Armazenamento do Azure: para começar, primeiro examine a linha de base de segurança para Armazenamento.
Use controles de rede para restringir o tráfego de entrada e saída: desabilite todo o tráfego público para a conta de armazenamento. Use controles de rede de conta para conceder o nível mínimo de acesso exigido por usuários e aplicativos. Para obter mais informações, consulte Como abordar a segurança de rede para sua conta de armazenamento.
Reduzir a superfície de ataque: impedir o acesso anônimo, o acesso à chave de conta ou o acesso em conexões HTTP (não seguras) pode reduzir a superfície de ataque. Você pode usar a Descoberta de Armazenamento do Azure com o Azure Copilot para identificar essas ameaças de segurança em todas as suas contas. Exigir que os clientes enviem e recebam dados usando a versão mais recente do protocolo TLS (Transport Layer Security).
Autorizar o acesso sem usar senhas ou chaves: a ID do Microsoft Entra fornece segurança superior e facilidade de uso em comparação com chaves compartilhadas e assinaturas de acesso compartilhado. Conceda às entidades de segurança apenas as permissões necessárias para que elas realizem suas tarefas.
Proteger informações confidenciais: proteja informações confidenciais, como chaves de conta e tokens de assinatura de acesso compartilhado. Embora essas formas de autorização geralmente não sejam recomendadas, é importante que elas sejam trocadas, encerradas e armazenadas com segurança.
Habilite a opção de transferência segura necessária: habilitar essa configuração para todas as suas contas de armazenamento garante que todas as solicitações feitas na conta de armazenamento devem ocorrer em conexões seguras. Todas as solicitações feitas por HTTP falham.
Proteger objetos críticos: aplique políticas de imutabilidade para proteger objetos críticos. As políticas protegem os blobs armazenados para fins legais, de conformidade ou de outros negócios de serem modificados ou excluídos. Configure retenções para períodos de tempo definidos ou até que as restrições sejam levantadas por um administrador.
Detectar ameaças: habilite o Microsoft Defender para Armazenamento para detectar ameaças. Os alertas de segurança são acionados quando ocorrem anomalias na atividade. Os alertas notificam os administradores de assinatura por email com detalhes de atividades suspeitas e recomendações sobre como investigar e corrigir ameaças.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Desabilite o acesso de leitura anônimo a contêineres e blobs. | Quando o acesso anônimo é permitido para uma conta de armazenamento, um usuário que tem as permissões apropriadas pode modificar a configuração de acesso anônimo de um contêiner para habilitar o acesso anônimo aos dados nesse contêiner. |
| Aplique um bloqueio do Azure Resource Manager na conta de armazenamento. | Bloquear uma conta impede que ela seja excluída e cause perda de dados. |
| Desabilite o tráfego para os pontos de extremidade públicos da sua conta de armazenamento. Crie pontos de extremidade privados para clientes executados no Azure. Habilite o ponto de extremidade público somente se clientes e serviços externos ao Azure exigirem acesso direto à sua conta de armazenamento. Habilite regras de firewall que limitam o acesso a redes virtuais específicas. | Comece sem acesso e autorize incrementalmente os níveis mais baixos de acesso necessários para clientes e serviços minimizarem o risco de criar aberturas desnecessárias para invasores. |
| Autorize o acesso usando o RBAC (controle de acesso baseado em função) do Azure. | Com o RBAC, não há senhas ou chaves que possam ser comprometidas. A entidade de segurança (grupo de usuários, identidade gerenciada ou entidade de serviço) é autenticada pelo Microsoft Entra ID e retorna um token OAuth 2.0. O token é usado para autorizar uma solicitação no serviço de Armazenamento Blob. |
| Não permitir autorização de chave compartilhada. Isso desabilita não apenas o acesso às chaves de conta, mas também os tokens de assinatura de acesso compartilhado, tanto para serviços quanto para contas, pois eles são baseados nessas chaves. | Somente solicitações protegidas autorizadas com a ID do Microsoft Entra são permitidas. |
| Recomendamos que você não use uma chave de conta. Se você precisar usar chaves de conta, armazene-as no Key Vault e certifique-se de regenere-las periodicamente. | O Key Vault permite recuperar chaves em runtime, em vez de salvá-las usando seu aplicativo. O Key Vault também facilita a rotação de suas chaves sem interromper seus aplicativos. Girar as chaves da conta periodicamente reduz o risco de expor seus dados a ataques mal-intencionados. |
| Recomendamos que você não use tokens de assinatura de acesso compartilhado. Defina a política de expiração de SAS e as ações para controlar como esses tokens fora de política são tratados registrando seu uso ou bloqueando-os explicitamente. Se você precisar criar uma, examine esta lista de práticas recomendadas de assinatura de acesso compartilhado antes de criá-la e distribuí-la. |
Uma política de governança forte ajuda a evitar tokens com duração excessiva ou mal configurados, que podem levar a riscos de segurança ou de conformidade regulatória. |
| Configure sua conta de armazenamento para que os clientes possam enviar e receber dados usando a versão mínima do TLS 1.2. | A versão 1.2 é mais segura e mais rápida que as versões 1.0 e 1.1 do TLS, que não dão suporte aos modernos algoritmos e conjuntos de criptografia. |
| Considere usar sua própria chave de criptografia para proteger os dados em sua conta de armazenamento. Para obter mais informações, confira Chaves gerenciadas pelo cliente para criptografia do Armazenamento do Azure. | As chaves gerenciadas pelo cliente fornecem maior flexibilidade e controle. Por exemplo, você pode armazenar chaves de criptografia no Key Vault e girá-las automaticamente. |
Otimização de custos
A Otimização de Custos concentra-se na detecção de padrões de gastos, na priorização de investimentos em áreas críticas e na otimização em outras para atender aos requisitos de orçamento e de negócios da organização.
Os princípios de design de Otimização de Custos fornecem uma estratégia de design de alto nível para atingir essas metas e fazer compensações conforme necessário no design técnico relacionado ao Armazenamento de Blobs e seu ambiente.
Lista de verificação de design de carga de trabalho
Comece sua estratégia de design com base na lista de verificação de revisão de design para otimização de custos em investimentos. Ajuste o design para que a carga de trabalho seja alinhada com o orçamento alocado para a carga de trabalho. Seu design deve usar os recursos corretos do Azure, monitorar investimentos e encontrar oportunidades para otimizar ao longo do tempo.
Identifique os medidores usados para calcular sua fatura: os medidores são usados para acompanhar a quantidade de dados armazenados na conta (capacidade de dados) e o número e o tipo de operações executadas para gravar e ler dados. Há também medidores associados ao uso de recursos opcionais, como marcas de índice de blob, estoque de blob, suporte a feed de alterações, escopos de criptografia e suporte a SFTP (Protocolo de Transferência de Arquivo SSH). Para saber mais, confira Como você recebe a cobrança pelo Armazenamento de Blobs.
Entenda o preço de cada medidor: use a página de preços apropriada e aplique as configurações apropriadas nessa página. Para obter mais informações, consulte Localizar o preço unitário de cada medidor. Considere o número de operações associadas a cada preço. Por exemplo, o preço associado às operações de gravação e leitura se aplica a 10.000 operações. Para determinar o preço de uma operação individual, divida o preço listado em 10.000.
Estimar o custo de capacidade e operações: você pode modelar os custos associados ao armazenamento de dados, entrada e saída usando a calculadora de preços do Azure. Use campos para comparar o custo associado a várias regiões, tipos de conta, tipos de namespace e configurações de redundância. Para determinados cenários, você pode usar cálculos de exemplo e planilhas disponíveis na documentação da Microsoft. Por exemplo, você pode estimar o custo do arquivamento de dados ou estimar o custo de usar o comando AzCopy para transferir blobs.
Escolha um modelo de cobrança para capacidade: avalie se usar um modelo baseado em compromisso é mais econômico do que usar um modelo baseado em consumo. Se você não tiver certeza sobre a capacidade necessária, poderá começar com um modelo baseado em consumo, monitorar as métricas de capacidade e avaliar mais tarde.
Escolha um tipo de conta, um nível de redundância e uma camada de acesso padrão: você deve selecionar um valor para cada uma dessas configurações ao criar uma conta de armazenamento. Todos os valores afetam os encargos de transação e os encargos de capacidade. Todas essas configurações, exceto o tipo de conta, podem ser alteradas após a criação da conta.
Escolha a camada de acesso padrão mais econômica: a menos que uma camada seja especificada com cada upload de blob, os blobs inferem sua camada de acesso da configuração de camada de acesso padrão. Uma alteração na configuração da camada de acesso padrão de uma conta de armazenamento se aplica a todos os blobs na conta para os quais não tenha sido explicitamente definida uma camada de acesso. Esse custo poderá ser significativo se você tiver coletado um grande número de blobs. Para obter mais informações sobre como uma alteração de camada afeta cada blob existente, consulte Alterando a camada de acesso de um blob.
Carregue dados diretamente na camada de acesso mais econômica: por exemplo, se a configuração da camada de acesso padrão da sua conta for a quente, mas você estiver carregando arquivos para fins de arquivamento, especifique uma camada fresca para arquivamento ou uma camada fria como parte da sua operação de upload. Depois de carregar blobs, use políticas de gerenciamento de ciclo de vida para mover blobs para as camadas mais econômicas com base em métricas de uso, como o último tempo acessado. Escolher a camada mais ideal antecipadamente pode reduzir os custos. Se você alterar a camada de um blob de blocos que já carregou, pagará o custo de gravação na camada inicial quando carregar o blob pela primeira vez e, em seguida, pagará o custo de gravação na camada desejada.
Tenha um plano para gerenciar o ciclo de vida de dados: otimize os custos de transação e capacidade aproveitando as camadas de acesso e o gerenciamento do ciclo de vida. Os dados usados com menos frequência devem ser colocados em camadas de acesso mais frias, enquanto os dados acessados geralmente devem ser colocados em camadas de acesso mais quentes.
Decida quais recursos você precisa: alguns recursos, como controle de versão e exclusão suave de blob, incorrem em custos adicionais de transação e capacidade, bem como outros encargos. Examine as seções de preços e cobrança em artigos que descrevem esses recursos quando você escolhe quais recursos adicionar à sua conta.
Por exemplo, se você habilitar o recurso de inventário de blobs, você será cobrado com base no número de objetos analisados. Ao usar marcas de índice de blob, a cobrança é feita sobre o número de marcas de índice. Se você habilitar o suporte ao SFTP, será cobrada uma taxa por hora, mesmo que não existam transferências SFTP. Se você decidir não usar um recurso, confirme se o recurso está desabilitado porque alguns recursos são habilitados automaticamente ao criar a conta.
Criar guardrails: crie orçamentos com base em assinaturas e grupos de recursos. Use políticas de governança para restringir tipos de recursos, configurações e locais. Além disso, use o RBAC para bloquear ações que podem levar a gastos excessivos.
Monitorar custos: verifique se os custos permanecem dentro dos orçamentos, compare os custos com as previsões e veja onde ocorre o excesso de gastos. Você pode usar o painel de análise de custos no portal do Azure para monitorar os custos. Você também pode exportar dados de custo para uma conta de armazenamento e analisar esses dados usando o Excel ou o Power BI.
Monitorar o uso: monitore continuamente os padrões de uso e detecte contas e contêineres não utilizados ou subutilizados. Use insights de armazenamento para contas de identidade sem uso ou sem uso baixo. Use a Descoberta de Armazenamento do Azure e o Azure Copilot para encontrar ineficiências de custo, como armazenamento subutilizado que é colocado em camadas de acesso caras. Você também pode habilitar relatórios de inventário de blobs e usar ferramentas como o Azure Databricks ou o Azure Synapse Analytics e o Power BI para analisar dados de custo. Tenha cuidado com aumentos inesperados na capacidade, o que pode indicar a coleta de muitos arquivos de log, versões de blob ou blobs excluídos temporariamente. Desenvolva uma estratégia para expirar ou fazer a transição de objetos para camadas de acesso mais econômicas. Tenha um plano para expirar objetos ou mover objetos para camadas de acesso mais acessíveis.
Considere as Ações de Armazenamento do Azure para gerenciamento automatizado do ciclo de vida de dados: as Ações de Armazenamento do Azure permitem o gerenciamento automatizado do ciclo de vida de dados em suas contas de armazenamento com disponibilidade regional aprimorada. Isso permite políticas de arquivamento, exclusão e transição de camada automatizadas consistentes entre regiões, mantendo a conformidade de residência de dados.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Empacote arquivos pequenos em arquivos maiores antes de movê-los para camadas mais frias. Você pode usar formatos de arquivo, como TAR ou ZIP. | Camadas mais esporádicas geram custos de transferência de dados mais altos. Ao ter menos arquivos grandes, você pode reduzir o número de operações necessárias para transferir dados. |
| Use uma reidratação de prioridade padrão ao reidratar blobs do armazenamento de arquivos. Use reidratação de alta prioridade apenas para situações de restauração de dados de emergência. Para saber mais, confira Reidratar um blob arquivado para uma camada online | A reidratação de alta prioridade da camada de arquivos pode gerar cobranças acima do normal. |
| Reduza os custos associados ao uso de logs de recursos selecionando um local de armazenamento de logs adequado e gerenciando os períodos de retenção de logs. Caso pretenda consultar logs ocasionalmente (por exemplo, para fins de auditoria de conformidade), considere enviar os logs de recursos a uma conta de armazenamento em vez de um espaço de trabalho de Logs do Azure Monitor. Você pode usar uma solução de consulta sem servidor, como o Azure Synapse Analytics, para analisar logs. Para obter mais informações, consulte Otimizar o custo para consultas pouco frequentes. Use políticas de gerenciamento de ciclo de vida para excluir ou arquivar logs. | Armazenar logs de recursos em uma conta de armazenamento para análise posterior pode ser uma opção mais barata. O uso de políticas de gerenciamento de ciclo de vida para gerenciar a retenção de log em uma conta de armazenamento impede que um grande número de arquivos de logs seja acumulado ao longo do tempo, o que pode levar a encargos de capacidade desnecessários. |
| Se você habilitar o controle de versão, use uma política de gerenciamento de ciclo de vida para excluir automaticamente versões de blob antigas. | Cada operação de gravação em um blob cria uma nova versão. Isso aumenta os custos de capacidade. Você pode manter os custos sob controle removendo versões que você não precisa mais. |
| Se você habilitar o controle de versão, coloque os blobs sobrescritos com frequência em uma conta que não tenha essa opção habilitada. | Sempre que um blob é sobrescrito, uma nova versão é adicionada, aumentando os encargos da capacidade de armazenamento. Para reduzir os encargos de capacidade, armazene dados frequentemente sobrescritos em uma conta de armazenamento separada com o versionamento desabilitado. |
| Se você habilitar a exclusão temporária, coloque os blobs sobrescritos com frequência em uma conta que não tenha essa opção habilitada. Definir períodos de retenção. Considere começar com um curto período de retenção para entender melhor como o recurso afeta sua conta. O período de retenção mínimo recomendado é de sete dias. | Sempre que um blob é sobrescrito, um novo instantâneo é criado. A causa do aumento dos encargos de capacidade pode ser difícil de identificar porque a criação desses snapshots não aparece nos logs. Para reduzir os encargos associados à capacidade, armazene dados sobrescritos com frequência em uma conta de armazenamento separada com a exclusão temporária desabilitada. Um período de retenção impede que blobs excluídos temporariamente se acumulem e aumentem os custos de capacidade. |
| Habilite o suporte ao SFTP somente quando ele for usado para transferir dados. | A habilitação do ponto de extremidade do SFTP gera um custo por hora. Ao desabilitar cuidadosamente o suporte do SFTP e habilitá-lo conforme necessário, você pode evitar que encargos passivos se acumulem em sua conta. |
| Desabilite os escopos de criptografia que não são necessários para evitar encargos desnecessários. | Os escopos de criptografia resultam em uma cobrança mensal. |
Excelência operacional
A Excelência Operacional concentra-se principalmente em procedimentos relacionados às práticas de desenvolvimento , observabilidade e gerenciamento de lançamentos.
Os princípios de design da Excelência Operacional fornecem uma estratégia de design de alto nível para atingir essas metas para os requisitos operacionais da carga de trabalho.
Lista de verificação de design de carga de trabalho
Inicie sua estratégia de projeto com base na lista de verificação de revisão de design da Excelência Operacional para definir processos de observabilidade, teste e implantação relacionados à configuração do Blob Storage.
Crie planos de manutenção e recuperação de emergência: considere recursos de proteção de dados, operações de backup e restauração e procedimentos de failover. Prepare-se para possíveis perdas de dados e inconsistências de dados e o tempo e o custo do failover.
Monitore a integridade da sua conta de armazenamento: crie painéis de insights de armazenamento para monitorar as métricas de disponibilidade, desempenho e resiliência. Configure alertas para identificar e resolver problemas em seu sistema antes que os clientes os observem. Use as configurações de diagnóstico para rotear logs de recursos para um Workspace do Azure Monitor Logs. Em seguida, você pode consultar logs para investigar alertas mais profundamente.
Habilitar relatórios de estoque de blobs: habilite os relatórios de estoque de blobs para conferir a retenção de dados, a retenção legal ou o status de criptografia do conteúdo na conta de armazenamento. Você também pode usar relatórios de inventário de blobs para entender o tamanho total dos dados, idade, distribuição de camadas ou outros atributos de seus dados. Use ferramentas como o Azure Databricks ou o Azure Synapse Analytics e o Power BI para visualizar melhor os dados de inventário e criar relatórios para os stakeholders.
Configure políticas que excluam blobs ou os mova para camadas de acesso econômicas: crie uma política de gerenciamento de ciclo de vida com um conjunto inicial de condições. Execuções de política excluem ou definem automaticamente a camada de acesso de blobs com base nas condições escolhidas. Analise periodicamente o uso do contêiner a partir de métricas do Monitor e relatórios de estoque de blobs para que você possa ajustar as condições e otimizar os custos.
Verifique a consistência da política entre regiões. Quando os dados são armazenados globalmente, têm estratégias de gerenciamento de ciclo de vida de dados que atendem aos requisitos de residência de dados. Aproveite os recursos de automação nativa que permitem políticas de armazenamento consistentes entre regiões.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Use a infraestrutura como código (IaC) para definir os detalhes de suas contas de armazenamento em modelos do ARM (modelos do Azure Resource Manager),Bicep ou Terraform. | Você pode usar seus processos de DevOps existentes para implantar novas contas de armazenamento e usar o Azure Policy para impor sua configuração. |
| Use informações de armazenamento para acompanhar a saúde e o desempenho de suas contas de armazenamento. Os insights de armazenamento fornecem uma exibição unificada das falhas, desempenho, disponibilidade e capacidade para todas as suas contas de armazenamento. | Você pode acompanhar a integridade e a operação de cada uma de suas contas. Crie facilmente dashboards e relatórios que os stakeholders podem usar para acompanhar a integridade de suas contas de armazenamento. |
| Aproveite os recursos de automação regional com as Ações de Armazenamento do Azure para o gerenciamento unificado do ciclo de vida de dados que segmenta automaticamente os dados com base nos padrões de acesso e exclua o conteúdo expirado de acordo com as políticas de retenção ao atender aos requisitos de residência de dados. | Permite o gerenciamento automatizado de armazenamento e políticas de ciclo de vida em regiões mais geográficas, reduzindo a sobrecarga operacional manual para organizações globais. |
Eficiência de desempenho
Eficiência de desempenho significa manter a experiência do usuário mesmo quando há um aumento na carga por meio do gerenciamento da capacidade. A estratégia inclui dimensionamento de recursos, identificação e otimização de possíveis gargalos e otimização para o desempenho de pico.
Os princípios de design de eficiência de desempenho fornecem uma estratégia de design de alto nível para atingir essas metas de capacidade considerando o uso esperado.
Lista de verificação de design de carga de trabalho
Comece sua estratégia de design com base na lista de verificação de revisão de design para eficiência de desempenho. Defina uma linha de base baseada nos principais indicadores de desempenho para a configuração do Armazenamento de Blobs.
Planeje para a escala: entenda os objetivos de escala para contas de armazenamento.
Escolha o tipo de conta de armazenamento ideal: se sua carga de trabalho exigir altas taxas de transação, objetos menores e uma latência de transação consistentemente baixa, considere usar contas de armazenamento de blobs de blocos premium. Uma conta v2 de uso geral padrão é mais apropriada na maioria dos casos.
Reduzir a distância de viagem entre o cliente e o servidor: coloque dados em regiões mais próximas de clientes de conexão (idealmente na mesma região). Otimize para clientes em regiões distantes usando a replicação de objeto ou uma rede de distribuição de conteúdo. As configurações de rede padrão fornecem o melhor desempenho. Modifique as configurações de rede apenas para melhorar a segurança. Em geral, as configurações de rede não diminuem a distância de viagem e não melhoram o desempenho.
Escolha um esquema de nomenclatura eficiente: diminua a latência das operações de listagem, consulta e leitura usando prefixos de hash mais próximos do início da chave de partição do blob (conta, contêiner, diretório virtual ou nome de blob). Esse esquema beneficia principalmente contas que têm um namespace simples.
Otimizar o desempenho dos clientes de dados: escolha uma ferramenta de transferência de dados mais apropriada para o tamanho dos dados, a frequência de transferência e a largura de banda de suas cargas de trabalho. Algumas ferramentas, como o AzCopy , são otimizadas para desempenho e exigem pouca intervenção. Considere os fatores que influenciam a latência e ajuste o desempenho examinando as diretrizes de otimização de desempenho publicadas com cada ferramenta.
Otimize o desempenho de código personalizado: considere usar SDKs de armazenamento em vez de criar seus próprios wrappers para operações REST envolvendo blobs. Os SDKs do Azure são otimizados para desempenho e fornecem mecanismos para ajustar o desempenho. Antes de criar um aplicativo, examine a lista de verificação de desempenho e escalabilidade do Armazenamento de Blobs. Considere usar a aceleração de consulta para filtrar dados indesejados durante a solicitação de armazenamento e impedir que os clientes transmedam dados desnecessariamente pela rede.
Reúna dados de desempenho: monitore a conta de armazenamento para identificar gargalos de desempenho decorrentes de limitações. Para obter mais informações, consulte Monitoramento do serviço de armazenamento com o Monitor Storage Insights. Utilize tanto métricas quanto logs. Métricas fornecem números, como a quantidade de erros de limitação. Os logs descrevem a atividade. Caso encontre métricas de limitação, use logs para identificar quais clientes estão recebendo os erros de limitação. Para obter mais informações, consulte Auditoria das operações do plano de dados.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Provisione contas de armazenamento na mesma região em que os recursos dependentes são colocados. Para aplicativos que não estão hospedados no Azure, como aplicativos de dispositivo móvel ou serviços empresariais locais, localize a conta de armazenamento em uma região mais próxima desses clientes. Para obter mais informações, consulte as geografias do Azure. Se os clientes de uma região diferente não exigirem os mesmos dados, crie uma conta separada em cada região. Se os clientes de uma região diferente exigirem apenas alguns dados, considere usar uma política de replicação de objeto para copiar objetos relevantes de forma assíncrona para uma conta de armazenamento na outra região. |
Reduzir a distância física entre a conta de armazenamento e VMs, serviços e clientes locais pode melhorar o desempenho e reduzir a latência de rede. Reduzir a distância física também reduz o custo para aplicativos hospedados no Azure porque o uso de largura de banda em uma única região é gratuito. |
| Para consumo amplo por clientes Web (streaming de vídeo, áudio ou conteúdo de site estático), considere o uso de uma rede de distribuição de conteúdo por meio do Azure Front Door. | O conteúdo é entregue aos clientes mais rapidamente porque usa a rede de borda global da Microsoft com centenas de pontos de presença globais e locais em todo o mundo. |
| Adicione uma sequência de caracteres hash (como três dígitos) o mais cedo possível na chave de partição de um blob. A chave de partição é o nome da conta, o nome do contêiner, o nome do diretório virtual e o nome do blob. Se você planeja usar carimbos de data/hora em nomes, considere adicionar um valor de segundos ao início desse carimbo. Para obter mais informações, consulte Particionamento. | Usar um código hash ou um valor em segundos próximo ao início de uma chave de partição reduz o tempo necessário para a consulta de lista e leitura de blobs. |
| Ao carregar blobs ou blocos, selecione um blob ou bloco de no máximo 256 KiB. | Blobs ou blocos de tamanho superior a 256 KiB são beneficiados por melhorias de desempenho na plataforma feitos especialmente para blobs ou blocos maiores. |
Compensações
Talvez você precise fazer compensações de design se usar as abordagens nas listas de verificação de pilares. Aqui estão alguns exemplos de vantagens e desvantagens.
Camadas de acesso e otimização de custos
Camadas de acesso mais frias: Mover dados para camadas de acesso mais frias (frias, frias ou arquivadas) pode reduzir os custos de armazenamento, especialmente para dados acessados com pouca frequência. A camada de arquivamento oferece baixo custo de armazenamento de dados, mas requer uma reidratação dos dados para acesso, o que pode levar tempo e custos adicionais.
Considere as desvantagens das camadas mais frias, incluindo custos de acesso mais altos e tempos de recuperação. A camada de arquivo pode exigir um tempo significativo para reidratação de prioridade padrão. O custo das alterações de camada frequentes poderá exceder a economia de armazenamento se os padrões de acesso forem imprevisíveis. Para dados críticos que precisam de acesso imediato, a camada quente fornece acesso mais rápido, mas com custos de armazenamento mais altos. Avalie cuidadosamente seus padrões de acesso para evitar custos desnecessários de transições de camada frequentes e penalidades de exclusão antecipada.
Políticas de gerenciamento de ciclo de vida: As políticas automatizadas de ciclo de vida podem otimizar os custos movendo dados para camadas apropriadas com base em padrões de idade ou acesso. Essas políticas reduzem a sobrecarga operacional manual e garantem uma otimização de custo consistente em suas contas de armazenamento.
Como desvantagem, políticas de ciclo de vida excessivamente agressivas podem mover dados acessados com frequência para camadas mais frias, resultando em custos de acesso mais altos e desempenho mais lento. Políticas muito conservadoras podem manter dados em camadas caras por mais tempo do que o necessário. Monitore seus padrões de acesso e ajuste políticas com base em dados de uso reais em vez de suposições.
Redundância de dados e distribuição regional
Uma estratégia de redundância robusta garante a durabilidade e a disponibilidade dos dados, mas envolve compensações de custo e complexidade. O GRS (armazenamento com redundância geográfica) e o GZRS (armazenamento com redundância de zona geográfica) fornecem proteção contra interrupções regionais, mas custam significativamente mais do que o LRS (armazenamento com redundância local). O ZRS (armazenamento com redundância de zona) oferece um meio termo com proteção contra falhas de zona de disponibilidade em uma região.
Considere as desvantagens de níveis de redundância mais altos. GRS e GZRS exigem sincronização de dados entre regiões, o que pode introduzir pequenos atrasos na consistência de dados. O custo pode ser maior que LRS. Para aplicativos que podem tolerar alguma perda de dados ou ter estratégias de backup alternativas, o LRS pode fornecer proteção suficiente a um custo menor. Avalie os RTO (objetivos de tempo de recuperação) e os RPO (objetivos de ponto de recuperação) para determinar o nível de redundância apropriado.
Políticas do Azure
O Azure fornece um amplo conjunto de políticas internas relacionadas ao Armazenamento de Blobs e suas dependências. Algumas das recomendações anteriores podem ser auditadas por meio de políticas do Azure. Por exemplo, você pode verificar se:
- O acesso de leitura pública anônimo a contêineres e blobs não está habilitado.
- As configurações de diagnóstico do Armazenamento de Blobs são definidas para enviar logs de recursos para um espaço de trabalho de Logs do Azure Monitor.
- Somente solicitações de HTTPS (conexões seguras) são aceitas.
- Uma política de expiração de assinatura de acesso compartilhado está habilitada.
- A replicação de objeto entre locatários está desabilitada.
- A autorização de chave compartilhada está desabilitada.
- As regras de firewall de rede são aplicadas à conta.
Para governança abrangente, examine as definições internas do Azure Policy para Armazenamento e outras políticas que podem afetar a segurança da camada de computação.
Recomendações do Assistente do Azure
O Assistente do Azure é um consultor de nuvem personalizado que ajuda você a seguir as práticas recomendadas para otimizar suas implantações do Azure.
Para obter mais informações, consulte o Assistente do Azure.
Próxima etapa
Para saber mais sobre o Armazenamento de Blobs, confira a documentação do Armazenamento de Blobs.