Perspetiva do Azure Well-Architected Framework no Armazenamento de Blobs do Azure
O Armazenamento de Blobs do Azure é uma solução de armazenamento de objetos da Microsoft para a nuvem. O armazenamento de Blob é otimizado para armazenar grandes quantidades de dados não estruturados. Os dados não estruturados são dados que não seguem uma definição ou um modelo ou 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 Blob como o serviço de armazenamento no qual executar suas cargas de trabalho. As diretrizes neste artigo fornecem recomendações de arquitetura mapeadas para os princípios dos pilares do Azure Well-Architected Framework.
Importante
Como usar este guia
Cada seção tem uma lista de verificação de projeto que apresenta áreas arquitetônicas de preocupação, juntamente com estratégias de design.
Também estão incluídas recomendações sobre os recursos tecnológicos que podem ajudar a implementar essas estratégias. As recomendações não representam uma lista exaustiva de todas as configurações disponíveis para o Armazenamento de Blobs e suas dependências. Em vez disso, eles listam as principais recomendações mapeadas para as perspetivas de design. Use as recomendações para criar sua prova de conceito ou otimizar seus ambientes existentes.
Fiabilidade
O objetivo do pilar Confiabilidade é fornecer funcionalidade contínua, construindo resiliência suficiente e a capacidade de se recuperar rapidamente de falhas.
Os princípios de projeto de confiabilidade fornecem uma estratégia de projeto de alto nível aplicada a componentes individuais, fluxos do sistema e o sistema como um todo.
Lista de verificação de estruturação
Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para Confiabilidade.
Usar análise de modo de falha: minimize os pontos de falha considerando dependências internas, como a disponibilidade de redes virtuais, o Cofre de Chaves do Azure, a Rede de Entrega de Conteúdo do Azure ou os pontos de extremidade da Porta da Frente do Azure. Podem ocorrer falhas se as credenciais exigidas pelas cargas de trabalho para acessar o Armazenamento de Blobs desaparecerem do Cofre da Chave ou se as cargas de trabalho usarem um ponto de extremidade baseado em uma rede de distribuição de conteúdo removida. Nesses casos, as cargas de trabalho podem precisar usar um ponto de extremidade 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 metas de confiabilidade e recuperação: revise os SLAs (contratos de nível de serviço) do Azure. Derive o objetivo de nível de serviço (SLO) 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 de sua análise do modo de falha.
Configurar redundância de dados: para máxima durabilidade, escolha uma configuração que copie dados entre zonas de disponibilidade ou regiões globais. Para máxima disponibilidade, escolha uma configuração que permita aos clientes ler dados da região secundária durante uma interrupção da região primária.
Aplicativos de design: projete aplicativos para mudar perfeitamente para a leitura de dados da região secundária se a região primária ficar indisponível por qualquer motivo. Isso só se aplica a configurações de armazenamento com redundância geográfica (GRS) e armazenamento com redundância de zona geográfica (GZRS). Projetar aplicativos para lidar com interrupções reduz o tempo de inatividade para os usuários finais.
Explore os recursos para ajudá-lo a atingir suas metas 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 e inconsistências de dados, bem como para o tempo e o custo do failover. Para obter mais informações, consulte Recomendações para projetar uma estratégia de recuperação de desastres.
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.
Recomendações
Recomendação | Benefício |
---|---|
Configure a sua conta para redundância. Para máxima disponibilidade e durabilidade, configure sua conta usando armazenamento com redundância de zona (ZRS) ou GZRS. |
A redundância protege seus dados contra falhas inesperadas. As opções de configuração ZRS e GZRS replicam 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 última propriedade de tempo de sincronização. Esta recomendação aplica-se apenas às configurações GRS e GZRS. | Essa propriedade ajuda a estimar a quantidade de dados que você pode perder ao iniciar um failover de conta. Todos os dados e metadados gravados antes da última hora de sincronização estão disponíveis na região secundária, mas os dados e metadados gravados após a última hora de sincronização podem ser perdidos porque não são gravados na região secundária. |
Como parte de sua estratégia de backup e recuperação, habilite as opções de exclusão suave de contêiner, exclusão suave de blob, controle de versão e restauração point-in-time. | A opção de exclusão suave permite que uma conta de armazenamento recupere contêineres e blobs excluídos. A opção de controle de versão rastreia automaticamente as alterações feitas nos blobs. Esta opção permite restaurar um blob para um estado anterior. A opção de restauração point-in-time protege contra exclusão acidental de blob ou corrupção e permite restaurar dados de blob de bloco para um estado anterior. Para obter mais informações, consulte Visão geral da proteção de dados. |
Segurança
O objetivo do pilar Segurança é fornecer garantias de confidencialidade, integridade e disponibilidade para a 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 projeto técnico de sua configuração de armazenamento de Blob.
Lista de verificação de estruturação
Inicie sua estratégia de design com base na lista de verificação de revisão de design para Segurança. Identificar vulnerabilidades e controles para melhorar a postura de segurança. Alargar a estratégia de modo a incluir mais abordagens, conforme necessário.
Revise a linha de base de segurança do Armazenamento do Azure: para começar, primeiro revise a linha de base de segurança do Armazenamento.
Use controles de rede para restringir o tráfego de entrada e saída: desative 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 através de ligações não seguras (HTTP) pode reduzir a superfície de ataque. Exija que os clientes enviem e recebam dados usando a versão mais recente do protocolo TLS (Transport Layer Security).
Autorize o acesso sem usar senhas ou chaves: o Microsoft Entra ID oferece 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.
Proteja 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, você deve se certificar de rodá-las, expirar e armazená-las com segurança.
Ativar 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 ocorram 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 blobs armazenados para fins legais, de conformidade ou outros fins comerciais de serem modificados ou excluídos. Configure retenções por períodos de tempo definidos ou até que as restrições sejam levantadas por um administrador.
Detetar ameaças: habilite o Microsoft Defender for Storage para detetar ameaças. Os alertas de segurança são acionados quando ocorrem anomalias de atividade. Os alertas notificam os administradores de assinatura por e-mail com detalhes de atividades suspeitas e recomendações sobre como investigar e remediar ameaças.
Recomendações
Recomendação | Benefício |
---|---|
Desative o acesso de leitura anônimo a contêineres e blob. | 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. |
Desative o tráfego para os pontos de extremidade públicos da sua conta de armazenamento. Crie pontos de extremidade privados para clientes que são executados no Azure. Habilite o ponto de extremidade público somente se os 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 com acesso zero e, em seguida, autorize incrementalmente os níveis mais baixos de acesso necessários para clientes e serviços para minimizar 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 (usuário, grupo, identidade gerenciada ou entidade de serviço) é autenticada pela ID do Microsoft Entra para retornar um token OAuth 2.0. O token é usado para autorizar uma solicitação no serviço de Armazenamento de Blob. |
Não permitir autorização de chave compartilhada. Isso desabilita não apenas o acesso à chave da conta, mas também os tokens de assinatura de acesso compartilhado de serviço e conta porque eles são baseados em chaves de conta. | Somente solicitações seguras autorizadas com o Microsoft Entra ID são permitidas. |
Recomendamos que não utilize uma chave de conta. Se tiver de utilizar chaves de conta, armazene-as no Cofre da Chave e certifique-se de que as regenera periodicamente. | O Cofre da Chave permite recuperar chaves em tempo de execução, em vez de salvá-las usando seu aplicativo. O Key Vault também facilita a rotação das chaves sem interrupção das aplicações. 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. Avalie se você precisa de tokens de assinatura de acesso compartilhado para proteger o acesso aos recursos do Armazenamento de Blob. Se tiver de criar uma, reveja esta lista de práticas recomendadas de assinatura de acesso partilhado antes de a criar e distribuir. | As práticas recomendadas podem ajudá-lo a evitar que um token de assinatura de acesso compartilhado seja vazado e recuperar rapidamente se ocorrer um vazamento. |
Configure sua conta de armazenamento para que os clientes possam enviar e receber dados usando a versão mínima do TLS 1.2. | O TLS 1.2 é mais seguro e rápido do que o TLS 1.0 e 1.1, que não suportam algoritmos criptográficos modernos e pacotes de cifras. |
Considere usar sua própria chave de criptografia para proteger os dados em sua conta de armazenamento. Para obter mais informações, consulte Chaves gerenciadas pelo cliente para criptografia de Armazenamento do Azure. | As chaves gerenciadas pelo cliente oferecem maior flexibilidade e controle. Por exemplo, você pode armazenar chaves de criptografia no Cofre da Chave e girá-las automaticamente. |
Otimização de Custos
A Otimização de Custos concentra-se na deteção de padrões de gastos, priorizando investimentos em áreas críticas e otimizando em outras para atender aos requisitos de orçamento e negócios da organização.
Os princípios de projeto de otimização de custos fornecem uma estratégia de projeto de alto nível para alcançar essas metas e fazer compensações conforme necessário no projeto técnico relacionado ao armazenamento de Blob e seu ambiente.
Lista de verificação de estruturação
Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para otimização de custos para investimentos. Ajuste o design para que a carga de trabalho esteja alinhada com o orçamento alocado para a carga de trabalho. Seu design deve usar os recursos certos do Azure, monitorar investimentos e encontrar oportunidades para otimizar ao longo do tempo.
Identifique os medidores que são usados para calcular sua fatura: Os medidores são usados para rastrear a quantidade de dados armazenados na conta (capacidade de dados) e o número e tipo de operações que são realizadas para gravar e ler dados. Há também medidores associados ao uso de recursos opcionais, como tags de índice de blob, inventário de blob, suporte a feed de alterações, escopos de criptografia e suporte a SSH File Transfer Protocol (SFTP). Para obter mais informações, consulte Como você é cobrado pelo armazenamento de Blob.
Entenda o preço de cada medidor: certifique-se de usar a página de preços apropriada e aplicar as configurações apropriadas nessa página. Para obter mais informações, consulte Localizando o preço unitário para 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 aplica-se a 10.000 operações. Para determinar o preço de uma operação individual, divida o preço listado por 10.000.
Estimar o custo de capacidade e operações: você pode modelar os custos associados ao armazenamento, entrada e saída de dados 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 e planilhas de exemplo disponíveis na documentação da Microsoft. Por exemplo, você pode estimar o custo de arquivamento de dados ou estimar o custo de usar o comando AzCopy para transferir blobs.
Escolha um modelo de faturamento para a capacidade: avalie se o uso de um modelo baseado em compromisso é mais econômico do que o uso de um modelo baseado no consumo. Se não tiver certeza sobre quanta capacidade precisa, você pode começar com um modelo baseado no 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 carregamento de blob, os blobs inferem sua camada de acesso a partir 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 aplica-se a todos os blobs na conta para os quais uma camada de acesso não tenha sido definida explicitamente. Esse custo pode 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 para a camada de acesso mais econômica: por exemplo, se a configuração da camada de acesso padrão da sua conta estiver ativa, mas você estiver carregando arquivos para fins de arquivamento, especifique uma camada mais fria como o arquivo ou uma camada fria como parte da 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 a última hora acessada. Escolher o nível mais ideal antecipadamente pode reduzir custos. Se você alterar a camada de um blob de bloco 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 dos 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 com frequência devem ser colocados em camadas de acesso mais quentes.
Decida quais recursos você precisa: alguns recursos, como versionamento e exclusão suave de blob, incorrem em custos adicionais de transação e capacidade, bem como outros encargos. Certifique-se de revisar as seções de preços e faturamento em artigos que descrevem esses recursos quando escolher quais recursos adicionar à sua conta.
Por exemplo, se você habilitar o recurso de inventário de blobs, será cobrado pelo número de objetos examinados. Se você usar tags de índice de blob, será cobrado pelo número de tags de índice. Se você ativar o suporte a SFTP, será cobrada uma cobrança por hora, mesmo que não haja transferências SFTP. Se você decidir não usar um recurso, confirme se o recurso está desativado porque alguns recursos são ativados automaticamente quando você cria a conta.
Criar guarda-corpos: 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.
Monitore os custos: garanta que os custos permaneçam dentro dos orçamentos, compare os custos com as previsões e veja onde ocorrem gastos excessivos. Você pode usar o painel de análise de custos no portal do Azure para monitorar 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 detete contas e contêineres não utilizados ou subutilizados. Use as informações de armazenamento para identificar contas com uso baixo ou nulo. Habilite relatórios de inventário de blob e use ferramentas como o Azure Databricks ou o Azure Synapse Analytics e o Power BI para analisar dados de custo. Esteja atento a aumentos inesperados de capacidade, que podem indicar que está a recolher vários ficheiros de registo, versões de blob ou blobs eliminados suavemente. 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.
Recomendações
Recomendação | Benefício |
---|---|
Empacote arquivos pequenos em arquivos maiores antes de movê-los para camadas mais frias. Você pode usar formatos de arquivo como TAR ou ZIP. | Os níveis mais frios têm custos de transferência de dados mais elevados. Ao ter menos arquivos grandes, você pode reduzir o número de operações necessárias para transferir dados. |
Use a reidratação de prioridade padrão ao reidratar blobs do armazenamento de arquivos. Use a reidratação de alta prioridade apenas para situações de restauração de dados de emergência. Para obter mais informações, consulte Reidratar um blob arquivado para uma camada online | A reidratação de alta prioridade do nível de arquivamento pode levar a contas mais altas do que o normal. |
Reduza o custo de uso de logs de recursos escolhendo o local de armazenamento de logs apropriado e gerenciando períodos de retenção de logs. Se você planeja consultar logs apenas ocasionalmente (por exemplo, consultar logs para auditoria de conformidade), considere enviar logs de recursos para uma conta de armazenamento em vez de enviá-los para 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 do ciclo de vida para gerenciar a retenção de logs em uma conta de armazenamento evita que um grande número de arquivos de log se acumule ao longo do tempo, o que pode levar a cobranças de capacidade desnecessárias. |
Se você habilitar o controle de versão, use uma política de gerenciamento de ciclo de vida para excluir automaticamente as versões antigas do blob. | 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 não são mais necessárias. |
Se você habilitar o controle de versão, coloque blobs que são frequentemente substituídos em uma conta que não tenha o controle de versão habilitado. | Toda vez que um blob é substituído, uma nova versão é adicionada, o que leva ao aumento das taxas de capacidade de armazenamento. Para reduzir as cobranças de capacidade, armazene dados frequentemente substituídos em uma conta de armazenamento separada com controle de versão desativado. |
Se você habilitar a exclusão suave, coloque blobs que são frequentemente substituídos em uma conta que não tenha a exclusão suave habilitada. Defina períodos de retenção. Considere começar com um curto período de retenção para entender melhor como o recurso afeta sua fatura. O período mínimo de retenção recomendado é de sete dias. | Sempre que um blob é substituído, um novo instantâneo é criado. A causa do aumento das cobranças de capacidade pode ser difícil de acessar porque a criação desses instantâneos não aparece nos logs. Para reduzir as cobranças de capacidade, armazene dados frequentemente substituídos em uma conta de armazenamento separada com exclusão suave desabilitada. Um período de retenção impede que os blobs excluídos suavemente se acumulem e aumentem o custo da capacidade. |
Habilite o suporte a SFTP somente quando ele for usado para transferir dados. | Habilitar o ponto de extremidade SFTP incorre em um custo por hora. Ao desativar cuidadosamente o suporte SFTP e, em seguida, ativá-lo conforme necessário, você pode evitar que cobranças passivas se acumulem em sua conta. |
Desative todos os escopos de criptografia que não são necessários para evitar cobranças desnecessárias. | Os escopos de criptografia incorrem em uma cobrança por mês. |
Excelência Operacional
A Excelência Operacional concentra-se principalmente em procedimentos para práticas de desenvolvimento, observabilidade e gerenciamento de releases.
Os princípios de design de Excelência Operacional fornecem uma estratégia de design de alto nível para alcançar essas metas para os requisitos operacionais da carga de trabalho.
Lista de verificação de estruturação
Inicie sua estratégia de projeto com base na lista de verificação de revisão de projeto para Excelência Operacional para definir processos de observabilidade, teste e implantação relacionados à sua configuração de Armazenamento de Blob.
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 e inconsistências de dados, bem como para o tempo e o custo do failover.
Monitore a integridade de sua conta de armazenamento: crie painéis de informações de armazenamento para monitorar métricas de disponibilidade, desempenho e resiliência. Configure alertas para identificar e resolver problemas no seu sistema antes que os seus clientes os percebam. Use as configurações de diagnóstico para rotear logs de recursos para um espaço de trabalho de Logs do Azure Monitor. Em seguida, você pode consultar logs para investigar alertas mais profundamente.
Habilitar relatórios de inventário de blob: habilite relatórios de inventário de blob para revisar o status de retenção, retenção legal ou criptografia do conteúdo da sua conta de armazenamento. Você também pode usar relatórios de inventário de blob 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 as partes interessadas.
Configure políticas que excluam blobs ou os movam para camadas de acesso econômicas: crie uma política de gerenciamento de ciclo de vida com um conjunto inicial de condições. A política é executada automaticamente, exclui ou define a camada de acesso de blobs com base nas condições definidas. Analise periodicamente o uso do contêiner usando métricas do Monitor e relatórios de inventário de blob para que você possa refinar as condições para otimizar a eficiência de custos.
Recomendações
Recomendação | Benefício |
---|---|
Use a infraestrutura como código (IaC) para definir os detalhes de suas contas de armazenamento em modelos do Azure Resource Manager (modelos ARM), Bíceps ou Terraform. | Você pode usar seus processos de DevOps existentes para implantar novas contas de armazenamento e usar a Política do Azure para impor sua configuração. |
Use as informações de armazenamento para acompanhar a integridade e o desempenho de suas contas de armazenamento. O Storage Insights fornece uma visão unificada das falhas, do desempenho, da disponibilidade e da capacidade de todas as suas contas de armazenamento. | Pode acompanhar o estado de funcionamento e o funcionamento de cada uma das suas contas. Crie facilmente painéis e relatórios que as partes interessadas podem usar para acompanhar a integridade de suas contas de armazenamento. |
Eficiência de Desempenho
A Eficiência de Desempenho consiste em manter a experiência do usuário mesmo quando há um aumento na carga por meio do gerenciamento de capacidade. A estratégia inclui dimensionar recursos, identificar e otimizar potenciais gargalos e otimizar para obter o máximo desempenho.
Os princípios de design de Eficiência de Desempenho fornecem uma estratégia de projeto de alto nível para atingir essas metas de capacidade em relação ao uso esperado.
Lista de verificação de estruturação
Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para Eficiência de desempenho. Defina uma linha de base baseada em indicadores-chave de desempenho para sua configuração de armazenamento de Blob.
Planejar a escala: entenda as metas 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 o uso de contas de armazenamento de blob de bloco premium. Uma conta v2 padrão de uso geral é mais apropriada na maioria dos casos.
Reduza a distância de viagem entre o cliente e o servidor: coloque os dados em regiões mais próximas de conectar clientes (idealmente na mesma região). Otimize para clientes em regiões distantes usando a replicação de objetos ou uma rede de distribuição de conteúdo. As configurações de rede padrão oferecem 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 percorrida e não melhoram o desempenho.
Escolha um esquema de nomenclatura eficiente: diminua a latência das operações de listagem, lista, consulta e leitura usando prefixos de hashtag mais próximos do início da chave de partição de blob (conta, contêiner, diretório virtual ou nome de blob). Esse esquema beneficia principalmente contas que têm um namespace simples.
Otimize o desempenho de clientes de dados: escolha uma ferramenta de transferência de dados mais apropriada para o tamanho dos dados, frequência de transferência e largura de banda de suas cargas de trabalho. Algumas ferramentas como o AzCopy são otimizadas para desempenho e requerem pouca intervenção. Considere os fatores que influenciam a latência e ajuste o desempenho revisando as diretrizes de otimização de desempenho publicadas com cada ferramenta.
Otimize o desempenho do código personalizado: considere usar SDKs de armazenamento em vez de criar seus próprios wrappers para operações REST de blob. Os SDKs do Azure são otimizados para desempenho e fornecem mecanismos para ajustar o desempenho. Antes de criar um aplicativo, revise a lista de verificação de desempenho e escalabilidade do Armazenamento de Blobs. Considere o uso da aceleração de consulta para filtrar dados indesejados durante a solicitação de armazenamento e impedir que os clientes transfiram dados desnecessariamente pela rede.
Coletar dados de desempenho: monitore sua conta de armazenamento para identificar gargalos de desempenho decorrentes da limitação. Para obter mais informações, consulte Monitorando seu serviço de armazenamento com o Monitor Storage insights. Use métricas e logs. As métricas fornecem números, como erros de limitação. Os logs descrevem a atividade. Se você vir métricas de limitação, poderá usar logs para identificar quais clientes estão recebendo erros de limitação. Para obter mais informações, consulte Auditando operações de plano de dados.
Recomendações
Recomendação | Benefício |
---|---|
Provisione contas de armazenamento na mesma região onde 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 Geografias do Azure. Se os clientes de uma região diferente não precisarem dos mesmos dados, crie uma conta separada em cada região. Se os clientes de uma região diferente precisarem apenas de 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 da rede. A redução da distância física também reduz o custo dos aplicativos hospedados no Azure porque o uso da largura de banda em uma única região é gratuito. |
Para um consumo amplo por clientes Web (streaming de vídeo, áudio ou conteúdo estático do site), considere usar uma rede de entrega de conteúdo por meio da Porta da Frente do Azure. | 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 de segundos mais próximo do início de uma chave de partição reduz o tempo necessário para listar, consultar e ler blobs. |
Ao carregar blobs ou blocos, use um tamanho de blob ou bloco maior que 256 KiB. | Tamanhos de blob ou bloco acima de 256 KiB aproveitam os aprimoramentos de desempenho na plataforma feitos especificamente para blobs e tamanhos de bloco maiores. |
Políticas do Azure
O Azure fornece um extenso conjunto de políticas internas relacionadas ao Armazenamento de Blob 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 público de leitura anônimo a contêineres e blobs não está habilitado.
- As configurações de diagnóstico para o Armazenamento de Blob são definidas para transmitir logs de recursos para um espaço de trabalho de Logs do Azure Monitor.
- Somente solicitações de conexões seguras (HTTPS) são aceitas.
- Uma política de expiração de assinatura de acesso compartilhado está habilitada.
- A replicação de objetos entre locatários está desabilitada.
- A autorização de chave compartilhada está desabilitada.
- As regras de firewall de rede são aplicadas à conta.
Para obter uma governança abrangente, revise as definições internas da Política do Azure para Armazenamento e outras políticas que podem afetar a segurança da camada de computação.
Recomendações do Assistente do Azure
O Azure Advisor é um consultor de nuvem personalizado que ajuda você a seguir as práticas recomendadas para otimizar suas implantações do Azure. Aqui estão algumas recomendações que podem ajudá-lo a melhorar a confiabilidade, a segurança, a relação custo-benefício, o desempenho e a excelência operacional do Armazenamento de Blobs.
Próximo passo
Para obter mais informações sobre o Armazenamento de Blobs, consulte a documentação do Armazenamento de Blobs.