Share via


Recomendações para definir proteções de gastos

Aplica-se a esta recomendação de lista de verificação da Otimização de Custos do Azure Well-Architected Framework:

CO:04 Definir proteção de gastos. As proteções devem incluir portões de liberação, políticas de governança, limites de recursos e controles de acesso. Priorize a automação da plataforma em vez de processos manuais.

Este guia descreve as recomendações para definir proteções de gastos. As proteções de gastos são medidas para controlar e gerenciar custos dentro de um orçamento especificado. Eles ajudam a evitar gastos inesperados ou excessivos e a promover a utilização econômica de recursos. Sem proteção de gastos, os custos de carga de trabalho podem exceder seu orçamento, levando a despesas não planejadas que podem sobrecarregar seus recursos financeiros.

Definições

Termo Definição
Políticas de governança Um conjunto de regras que impõem a conformidade e habilitam a auditoria de recursos de carga de trabalho.
Governança Um conjunto de políticas, processos e controles que ajudam a garantir que a carga de trabalho seja gerenciada de forma eficaz, segura e em conformidade com os requisitos organizacionais e regulatórios.
IaC (infraestrutura como código) Um modelo descritivo para definir e implantar a infraestrutura, incluindo redes, máquinas virtuais, balanceadores de carga e topologias de conexão.
Portão de liberação Uma condição ou ponto de verificação em um pipeline de lançamento que deve ser atendido antes que a implantação possa continuar. Um portão de liberação ajuda a garantir que critérios específicos sejam atendidos antes do lançamento do software.

Principais estratégias de design

Defina as proteções de gastos implementando medidas para controlar e gerenciar seus custos dentro de um orçamento especificado. Essas medidas incluem políticas de governança, controles de acesso, portões de liberação, limites de orçamento e alertas. A automação reduz o risco de erro humano, melhora a eficiência e auxilia na aplicação consistente de proteções de gastos. Priorize a automação da plataforma em vez de processos manuais. As ferramentas e os serviços de automação que a plataforma fornece podem simplificar o provisionamento, a configuração e o gerenciamento de recursos.

Usar políticas de governança

As políticas de governança podem atuar como proteções de gastos em vários aspectos dos recursos, como tipos de recursos, configurações, marcas, localização e gerenciamento de dados. Muitas plataformas de nuvem têm um serviço que automatiza a imposição de políticas de governança. Use políticas automatizadas para controlar o uso de recursos, impor a responsabilidade e eliminar os gastos com tipos de recursos restritos. Aqui estão algumas das políticas que você deve considerar a imposição:

  • Tipos de recursos restritos: as políticas podem especificar quais tipos de recursos são permitidos ou não permitidos em uma organização. Por exemplo, uma organização pode ter uma política que restringe o uso de determinados tipos de recursos caros para controlar os custos.

  • Limites de recursos: defina limites de recursos para controlar os custos e impedir o excesso de provisionamento. Inclua limites no número de recursos que podem ser provisionados, o tamanho dos recursos e a duração do uso de recursos em sua política. Esses limites podem ajudá-lo a evitar gastos excessivos e otimizar a utilização de recursos. Por exemplo, os limites de recursos podem minimizar os efeitos de uma violação de conta não autorizada relacionada à mineração de criptografia.

  • Configurações de recursos definidas: as políticas podem definir configurações específicas para recursos. Você pode impor configurações em recursos que promovem a otimização de custos, como dimensionamento automático e arquivamento de dados

  • Locais restritos: você pode usar políticas para restringir a implantação de recursos a regiões ou locais específicos. Considere restringir locais para evitar taxas caras de transferência de dados e manter a conformidade com os regulamentos de soberania de dados.

  • Dados gerenciados: use políticas para impor práticas de gerenciamento de dados que ajudam a otimizar os custos. Por exemplo, você pode implementar políticas que exigem o uso de camadas de armazenamento de menor custo para dados acessados com menos frequência ou políticas que definem regras de expiração para retenção de dados.

  • Metadados impostos: estabeleça políticas que exigem o uso de metadados específicos para melhor acompanhamento e alocação de custos. Você também pode usar metadados em sua automação ou revisão manual. Por exemplo, use metadados para automatizar backups de recursos usando uma marca de backup. Uma política de metadados consistente ajuda a alinhar os custos com as proteções de gastos.

  • Recursos ociosos limitados: use políticas para identificar recursos ociosos para que você possa excluí-los ou reutilizá-los. Considere definir políticas que desliguem automaticamente as instâncias durante as horas em que elas não estão em uso.

Ícone de riscoRisco: se você implementar o dimensionamento automático, defina um limite máximo de dimensionamento com base no teste. Os limites máximos podem ajudá-lo a evitar picos de dimensionamento maciços que causam estouros de custos, mas um limite definido muito baixo pode afetar negativamente o desempenho. Para obter mais informações, consulte Recomendações para otimizar os custos de dimensionamento.

Configurar controles de acesso

Configure controles de acesso para definir restrições que impedem o excesso de gastos e para ajudar a garantir que somente indivíduos autorizados possam consumir recursos. Os controles de acesso podem ajudar a reduzir o risco de alterações acidentais ou desnecessárias que afetam negativamente a otimização de custos. Para implementar controles de acesso para otimização de custo, siga estas etapas:

  1. Identifique o controle necessário. Identifique os recursos e serviços que precisam de controles de acesso.

  2. Definir políticas de acesso. Defina políticas de acesso com base no princípio do acesso de privilégios mínimos, concedendo aos usuários apenas as permissões necessárias para executar suas tarefas. Por exemplo, alguns usuários podem precisar apenas de acesso de leitura, enquanto outros também podem exigir permissões de gravação ou exclusão.

  3. Implementar a autenticação. Implemente métodos de autenticação, como nome de usuário/senha, autenticação multifator ou integração com provedores de identidade, para ajudar a garantir que somente usuários autorizados possam acessar recursos.

  4. Use o RBAC (controle de acesso baseado em função). Configure o RBAC para atribuir funções e permissões aos usuários com base em suas responsabilidades de trabalho. O uso do RBAC pode ajudá-lo a gerenciar o acesso a recursos com eficiência.

  5. Revise e atualize os controles. Revise e atualize regularmente os controles de acesso para garantir que eles se alinhem às necessidades em mudança da organização. Remova permissões de acesso desnecessárias e ajuste os níveis de acesso conforme necessário.

Usar portões de liberação

Os portões de liberação são pontos de verificação ou condições que devem ser atendidos antes que uma versão ou implantação possa continuar. Use portões de liberação para ajudar a garantir que a versão seja econômica e se alinhe às metas de otimização. Os portões de lançamento oferecem uma abordagem estruturada para a identificação e implementação de medidas de economia de custos. Para implementar portões de versão para otimização de custo de carga de trabalho, considere as seguintes etapas:

  1. Estabeleça critérios de portão de liberação. Estabeleça as condições ou os critérios que devem ser atendidos antes que os recursos sejam liberados ou implantados. Inclua fatores como limites de gastos, limites de utilização de recursos ou marcos do projeto.

  2. Incorporar portões de liberação. Incorpore os portões de lançamento no pipeline de implantação. Você pode usar ferramentas de automação ou scripts personalizados para garantir que as implantações de recursos estejam sujeitas aos critérios definidos.

  3. Monitorar gastos. Monitore continuamente os gastos e o uso de recursos em relação aos critérios definidos. Se a organização exceder os limites de gastos, os portões de liberação deverão impedir novas implantações até que o problema seja resolvido.

Configurar alertas de custo

É importante definir alertas para orçamentos, anomalias de custo e utilização de plano baseada em compromisso para otimizar os custos. Esses alertas fornecem visibilidade dos gastos com a nuvem e permitem o gerenciamento proativo de custos. Tenha cuidado para gerenciar destinatários de notificação para alertas e manter a lista de destinatários atualizada com as responsabilidades e o acesso atuais. Alguns alertas que você pode criar para otimizar os custos incluem:

  • Alertas de orçamento: defina alertas sobre orçamentos para acompanhar seus gastos em relação aos limites predefinidos. Você pode monitorar seus custos e receber notificações ao abordar ou exceder o valor orçado criando um orçamento mensal, uma conta de cobrança ou um grupo de recursos. Os alertas de orçamento ajudam você a se manter informado sobre seus gastos e tomar medidas preventivas para controlar os custos.

  • Alertas de anomalias de custo: alertas de anomalias notificam você sobre variações de custo inesperadas que podem indicar ineficiências ou padrões de gastos anormais. Você pode configurar esses alertas para identificar anomalias nos custos reais ou previstos. Use alertas de anomalias de custo para investigar a causa subjacente de uma variação de custo e executar ações corretivas quando necessário.

  • Alertas de utilização de plano baseado em compromisso: implemente alertas de utilização de plano baseado em compromisso para monitorar o uso do plano. Se você tiver planos baseados em compromisso, definir alertas sobre a utilização do plano poderá ajudá-lo a gerenciar e maximizar efetivamente o valor desses compromissos. Você pode configurar esses alertas para notificar os stakeholders se a utilização de recursos baseados em compromisso ficar abaixo do limite desejado. Otimize seus recursos baseados em compromisso e certifique-se de usar os benefícios de seus compromissos.

Usar IaC

Infraestrutura como código é a prática de gerenciar e provisionar recursos de infraestrutura usando código, normalmente na forma de arquivos de configuração. Implemente essa estratégia para definir e automatizar a implantação e a configuração de recursos de infraestrutura, como máquinas virtuais, redes e armazenamento, usando modelos baseados em código.

As estratégias de IaC fornecem uma abordagem estruturada e repetível para gerenciar e controlar recursos de infraestrutura. A IaC pode ajudá-lo a implantar recursos conforme necessário, excluir recursos sem executá-los continuamente e otimizar os custos, garantindo que você implante e configure recursos de acordo com as regras predefinidas. Siga estas etapas para usar a IaC para otimização de custo:

  1. Create modelos de IaC. Create uma linguagem de modelo baseada em código para definir seus recursos de infraestrutura e suas configurações. Esses modelos permitem especificar o estado desejado dos recursos de infraestrutura de maneira declarativa. Implemente as práticas recomendadas para otimização de custos em seu código de infraestrutura. Considere o dimensionamento correto de seus recursos usando instâncias reservadas ou planos de economia. Use opções de armazenamento econômicas e aplique metadados de recurso para alocação e acompanhamento de custos.

  2. Armazenar modelos. Armazene modelos de IaC em um sistema de controle de versão para controlar as alterações e gerenciar versões diferentes. Você pode usar o controle de versão para manter um histórico de configurações de infraestrutura e promover a colaboração entre os membros da equipe.

  3. Use parâmetros. Use parâmetros em seus modelos para torná-los reutilizáveis e configuráveis. Usando parâmetros, você pode personalizar facilmente suas implantações de infraestrutura para diferentes ambientes ou cenários.

  4. Use ambientes efêmeros. Use ambientes efêmeros para fins de desenvolvimento, teste e preparo para otimizar os custos. Ambientes efêmeros só devem ser executados quando necessário. Create esses ambientes usando ferramentas de IaC e exclua o ambiente quando terminar.

  5. Use ferramentas de IaC. Use ferramentas e estruturas de IaC para automatizar a implantação e a configuração de seus recursos de infraestrutura. Use a automação para implantar recursos de forma consistente e confiável de acordo com suas políticas definidas.

  6. Monitorar recursos implantados. Monitore regularmente seus recursos e seus custos para garantir a conformidade com suas políticas de gastos. Use ferramentas de monitoramento e alerta para identificar quaisquer desvios dos guardrails definidos e executar ações corretivas conforme necessário. Verifique se há recursos não utilizados e exclua-os, preferencialmente com automação.

Facilitação do Azure

Usando políticas de governança: use Azure Policy para definir e impor políticas de governança que se alinham às suas metas de otimização de custo. Você pode usar Azure Policy para definir regras em grupos de gerenciamento, assinaturas e grupos de recursos. Essas políticas podem regular o provisionamento de recursos, os limites de uso e a alocação de custos. Use políticas para promover a rightsizing de recursos, identificar e eliminar recursos ociosos ou subutilizados e incentivar o uso de serviços e arquiteturas econômicos.

O Azure permite definir limites ou cotas para evitar custos inesperados. Você pode definir limites no número de recursos que podem ser provisionados, além do tamanho e da duração do uso do recurso. Defina esses limites para ajudar a evitar o excesso de provisionamento e controlar os custos.

  • Identificar recursos subutilizados ou ociosos. Use o Assistente do Azure para otimizar e reduzir os custos gerais do Azure identificando recursos ociosos e subutilizados. Receba recomendações de custo da seção de custono assistente dashboard.

  • Adicionar metadados de recurso. Use a governança do Azure para implementar a marcação e a categorização de recursos. Marque recursos usando metadados relevantes para acompanhar e alocar custos para diferentes departamentos, projetos ou centros de custo. A visibilidade da atribuição de custo pode ajudá-lo a identificar áreas de alto gasto, otimizar a alocação de recursos e facilitar um melhor gerenciamento de custos.

Configurando controles de acesso: use o RBAC do Azure para gerenciar o acesso aos recursos. Você pode usar o RBAC para conceder permissões a usuários, grupos ou aplicativos com base em suas funções. Implemente o RBAC para ajudar a garantir que apenas usuários autorizados tenham acesso aos recursos, reduzindo o risco de uso não autorizado de recursos e possíveis implicações de custo.

Usando portões de lançamento: use o gerenciamento de versão do Azure Pipelines para definir e impor seus portões de lançamento. Você pode configurar pontos de verificação manuais ou automatizados para ajudar a garantir que você atenda a critérios específicos, como verificações de segurança, requisitos de conformidade e limites de custo.

Usando a infraestrutura como código. Você pode usar ferramentas e serviços do Azure para implantar e gerenciar recursos de infraestrutura usando código. Usando ferramentas como modelos do ARM (Azure Resource Manager), Azure Bicep e Azure DevOps, você pode definir e implantar seus recursos de infraestrutura de maneira declarativa. O Azure tem modelos Bicep, Azure Resource Manager e Terraform para cada recurso do Azure.

Use o Azure Pipelines ou outras ferramentas de CI/CD (integração contínua e entrega contínua) para automatizar os processos de build, teste e implantação. As equipes podem usar pipelines para definir uma série de etapas e ações executadas automaticamente sempre que forem feitas alterações na base de código. Automatize esses processos para reduzir o esforço manual, garantir a consistência e acelerar a entrega de software.

Considere usar recursos de menor custo para seus ambientes efêmeros ou de não produção para otimizar os custos. O Azure fornece vários tipos de preço para recursos. Azure DevTest Labs preços e reservas do Azure são métodos de economia de custos que você pode explorar para ambientes efêmeros.

Repositórios Git, como Azure Repos e GitHub, fornecem recursos de controle de versão para gerenciar configurações de código e infraestrutura. As equipes e os desenvolvedores podem usar repositórios automatizados para colaborar, acompanhar alterações e manter um histórico de sua base de código.

Os Ambientes de Implantação do Azure capacitam as equipes de desenvolvimento a criar infraestrutura de aplicativo de forma rápida e fácil usando modelos baseados em projeto que estabelecem consistência e práticas recomendadas, maximizando a segurança. O acesso sob demanda a ambientes seguros acelera os estágios do ciclo de vida de desenvolvimento de software de maneira compatível e econômica.

O Azure Developer CLI é uma ferramenta de software livre que acelera o tempo necessário para você obter seu aplicativo de um ambiente de desenvolvimento local para o Azure. O Azure Developer CLI oferece comandos amigáveis para desenvolvedores que são mapeados para estágios-chave em seu fluxo de trabalho, seja você trabalhando no terminal, um IDE (ambiente de desenvolvimento integrado) ou CI/CD.

Configurando alertas de custo: use o Gerenciamento de Custos da Microsoft para otimizar os custos e impor proteções de gastos. Você pode usar recursos de gerenciamento de custos para definir orçamentos e alertas, visualizar informações de custo usando ferramentas como o Power BI e analisar padrões de custo e gargalos de desempenho.

Alinhamento da organização

As equipes centrais devem usar as diretrizes de Cloud Adoption Framework para configurar os guardrails de gastos em toda a organização para que as equipes de carga de trabalho entendam o que a equipe central pode oferecer.

Incentivamos a organização a adotar proteções controladas por políticas. Para obter um exemplo de implementação, consulte Adotar proteções controladas por políticas.

Lista de verificação de Otimização de Custos

Consulte o conjunto completo de recomendações.