Recomendações para a fixação de guarda-corpos de despesas

Aplica-se a esta recomendação de lista de verificação de otimização de custos do Azure Well-Architected Framework:

CO:04 Defina guarda-corpos de gastos. Os guarda-corpos 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 detrimento dos processos manuais.

Este guia descreve as recomendações para definir guarda-corpos de gastos. Os guarda-corpos de gastos são medidas para controlar e gerenciar custos dentro de um orçamento especificado. Ajudam a evitar gastos inesperados ou excessivos e promovem a utilização rentável dos recursos. Sem gastar guarda-corpos, os custos da carga de trabalho podem exceder o orçamento, levando a despesas não planejadas que podem sobrecarregar seus recursos financeiros.

Definições

Termo Definição
Políticas de governação Um conjunto de regras que impõem a conformidade e permitem a auditoria de recursos de carga de trabalho.
Governação 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 regulamentares.
Infraestrutura como código (IaC) Um modelo descritivo para definir e implantar 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 liberação que deve ser satisfeito antes que a implantação possa prosseguir. Uma porta de liberação ajuda a garantir que critérios específicos sejam atendidos antes que o software seja lançado.

Principais estratégias de design

Defina guarda-corpos 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 a aplicação consistente de guarda-corpos de gastos. Priorize a automação da plataforma em detrimento dos processos manuais. As ferramentas e serviços de automação fornecidos pela plataforma 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 guardrails de gastos em vários aspetos dos recursos, como tipos de recursos, configurações, tags, localização e gerenciamento de dados. Muitas plataformas de nuvem têm um serviço que automatiza a aplicação de políticas de governança. Use políticas automatizadas para controlar o uso de recursos, impor responsabilidade e eliminar gastos com tipos de recursos restritos. Aqui estão algumas das políticas que você deve considerar aplicar:

  • 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 certos tipos de recursos caros para controlar custos.

  • Limites de recursos: defina limites de recursos para controlar os custos e evitar o provisionamento excessivo. Inclua limites sobre o número de recursos que podem ser provisionados, o tamanho dos recursos e a duração do uso do recurso 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 criptomoedas.

  • 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 os locais para evitar taxas dispendiosas de transferência de dados e manter a conformidade com os regulamentos de soberania de dados.

  • Dados gerenciados: use políticas para aplicar práticas de gerenciamento de dados que ajudem a otimizar custos. Por exemplo, você pode implementar políticas que exijam o uso de níveis de armazenamento de baixo custo para dados acessados com menos frequência ou políticas que definam regras de expiração para retenção de dados.

  • Metadados impostos: estabeleça políticas que exijam o uso de metadados específicos para melhor rastreamento 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 tag de backup. Uma política de metadados consistente ajuda a alinhar os custos com os guardrails de gastos.

  • Recursos ociosos limitados: use políticas para identificar recursos ociosos para que você possa excluí-los ou redirecioná-los. Considere definir políticas que desliguem automaticamente as instâncias durante as horas em que 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 derrapagens 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 controlos de acesso

Configure controles de acesso para definir restrições que evitem gastos excessivos e para ajudar a garantir que apenas 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 custos, siga estas etapas:

  1. Identificar o controlo 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 de 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. Implemente 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 apenas usuários autorizados possam acessar recursos.

  4. Use o controle de acesso baseado em função (RBAC). 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 aos recursos de forma eficaz.

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

Use portões de liberação

As portas de liberação são pontos de verificação ou condições que devem ser atendidas antes que uma liberação ou implantação possa prosseguir. Use portas de liberação para ajudar a garantir que a liberação seja econômica e esteja alinhada com as metas de otimização. As portas de liberação oferecem uma abordagem estruturada para a identificação e implementação de medidas de redução de custos. Para implementar portas de liberação para otimização de custos de carga de trabalho, considere as seguintes etapas:

  1. Estabeleça critérios de porta de liberação. Estabeleça as condições ou 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. Incorpore portões de liberação. Incorpore as portas de liberação 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. Monitore os gastos. Monitore continuamente os gastos e o uso de recursos de acordo com os critérios definidos. Se a organização exceder os limites de gastos, as portas de liberação devem impedir novas implantações até que o problema seja resolvido.

Configurar alertas de custo

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

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

  • Alertas de anomalia de custo: os alertas de anomalia notificam 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 anomalia de custo para investigar a causa subjacente de uma variação de custo e tome ações corretivas quando necessário.

  • Alertas de utilização de planos baseados em compromisso: implemente alertas de utilização de planos baseados em compromisso para monitorar o uso do plano. Se você tiver planos baseados em compromissos, definir alertas sobre a utilização dos planos pode ajudá-lo a gerenciar e maximizar o valor desses compromissos de forma eficaz. Você pode configurar esses alertas para notificar as partes interessadas se a utilização de recursos baseados em compromisso cair abaixo de um limite desejado. Otimize seus recursos baseados em compromissos e garanta que você use os benefícios de seus compromissos.

Utilizar o 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. O IaC pode ajudá-lo a implantar recursos conforme necessário, excluir recursos sem executá-los continuamente e otimizar custos, garantindo que você implante e configure recursos de acordo com regras predefinidas. Siga estas etapas para usar o IaC para otimização de custos:

  1. Crie modelos IaC. Crie 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 de seus recursos de infraestrutura de forma declarativa. Implemente as melhores práticas para otimização de custos em seu código de infraestrutura. Considere dimensionar corretamente seus recursos usando instâncias reservadas ou planos de economia. Use opções de armazenamento econômicas e aplique metadados de recursos para alocação e acompanhamento de custos.

  2. Armazene modelos. Armazene modelos IaC em um sistema de controle de versão para rastrear alterações e gerenciar versões diferentes. Você pode usar o controle de versão para manter um histórico de suas 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 preparação para otimizar custos. Ambientes efêmeros só devem ser executados quando necessário. Crie esses ambientes usando ferramentas IaC e exclua o ambiente quando terminar.

  5. Use as ferramentas do IaC. Use ferramentas e estruturas 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. Monitore os 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 das grades de proteção definidas e tomar ações corretivas conforme necessário. Verifique se há recursos não utilizados e exclua-os, de preferência com automação.

Facilitação do Azure

Usando políticas de governança: use a Política do Azure para definir e aplicar políticas de governança alinhadas com suas metas de otimização de custos. Você pode usar a Política do Azure para definir regras sobre 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 regularização de recursos, identificar e eliminar recursos ociosos ou subutilizados e incentivar o uso de serviços e arquiteturas com boa relação custo-benefício.

O Azure fornece políticas internas para casos de uso comuns que fornecem uma maneira padronizada e eficiente de impor regras e diretrizes em seus recursos do Azure. Recomendamos que você defina suas próprias políticas personalizadas para atender aos seus requisitos de negócios exclusivos ou regulamentações específicas do setor que as políticas internas do Azure não cobrem. Para obter mais informações, consulte Definições de política interna da Política do Azure.

O Azure permite que você defina limites ou cotas para evitar custos inesperados. Você pode definir limites para o 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 Azure Advisor para otimizar e reduzir seus custos gerais do Azure identificando recursos ociosos e subutilizados. Receba recomendações de custos da seção de custos no painel do consultor .

  • Adicione metadados de recursos. Use a governança do Azure para implementar a marcação e a categorização de recursos. Marque recursos usando metadados relevantes para rastrear e alocar custos para diferentes departamentos, projetos ou centros de custo. A visibilidade da atribuição de custos pode ajudá-lo a identificar áreas de altos gastos, 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 a 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 portas de liberação: use o gerenciamento de liberação do Azure Pipelines para definir e impor suas portas de liberação. 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 Azure Resource Manager (ARM), 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 integração contínua e entrega contínua (CI/CD) para automatizar os processos de compilação, teste e implantação. As equipes podem usar pipelines para definir uma série de etapas e ações que são executadas automaticamente sempre que alterações são feitas 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 o uso de recursos de baixo custo para seus ambientes efêmeros ou não produtivos para otimizar custos. O Azure fornece vários níveis de preços para recursos. Os preços do Azure DevTest Labs e as Reservas do Azure são métodos de economia de custos que você pode explorar para ambientes efêmeros.

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

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

A CLI do Desenvolvedor do Azure é uma ferramenta de código aberto que acelera o tempo necessário para você obter seu aplicativo de um ambiente de desenvolvimento local para o Azure. A CLI do Desenvolvedor do Azure oferece comandos amigáveis para desenvolvedores que mapeiam os principais estágios do seu fluxo de trabalho, quer você esteja trabalhando no terminal, em um ambiente de desenvolvimento integrado (IDE) ou CI/CD.

Configurando alertas de custo: use o Microsoft Cost Management para otimizar custos e impor guarda-corpos 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 organizacional

As equipes centrais devem usar as diretrizes do Cloud Adoption Framework para configurar guarda-corpos 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 guarda-corpos orientados por políticas. Para obter um exemplo de implementação, consulte Adotar guarda-corpos orientados por políticas.

Lista de verificação de otimização de custos

Consulte o conjunto completo de recomendações.