Share via


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

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

CO:04 Definir proteções de gastos. As proteções devem incluir portas de lançamento, políticas de governação, limites de recursos e controlos de acesso. Priorize a automatizaçã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 gerir os custos dentro de um orçamento especificado. Ajudam a evitar gastos inesperados ou excessivos e a promover a utilização económica dos recursos. Sem proteção de gastos, os custos da carga de trabalho podem exceder o orçamento, o que leva a despesas não planeadas que podem sobrecarregar os 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 controlos que ajudam a garantir que a carga de trabalho é gerida de forma eficaz, segura e em conformidade com os requisitos organizacionais e regulamentares.
Infraestrutura como código (IaC) Um modelo descritivo para definir e implementar a infraestrutura, incluindo redes, máquinas virtuais, balanceadores de carga e topologias de ligação.
Porta de lançamento Uma condição ou ponto de verificação num pipeline de versão que tem de ser satisfeito antes de a implementação poder continuar. Uma porta de versão ajuda a garantir que são cumpridos critérios específicos antes do lançamento do software.

Principais estratégias de conceção

Defina proteções de gastos ao implementar medidas para controlar e gerir os custos dentro de um orçamento especificado. Estas medidas incluem políticas de governação, controlos de acesso, portas de lançamento, limiares de orçamento e alertas. A automatização reduz o risco de erro humano, melhora a eficiência e ajuda a aplicação consistente de proteções de gastos. Priorize a automatização da plataforma em vez de processos manuais. As ferramentas e serviços de automatização fornecidos pela plataforma podem simplificar o aprovisionamento, a configuração e a gestão de recursos.

Utilizar políticas de governação

As políticas de governação podem funcionar como proteções de gastos em vários aspetos dos recursos, como tipos de recursos, configurações, etiquetas, localização e gestão de dados. Muitas plataformas na cloud têm um serviço que automatiza a imposição de políticas de governação. Utilize políticas automatizadas para controlar a utilização de recursos, impor responsabilidade e eliminar gastos em tipos de recursos restritos. Seguem-se algumas das políticas que deve considerar aplicar:

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

  • Limites de recursos: defina limites de recursos para controlar os custos e impedir o sobreaprovisionamento. Inclua limites sobre o número de recursos que podem ser aprovisionados, o tamanho dos recursos e a duração da utilização de recursos na sua política. Estes 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 falha de conta não autorizada relacionada com a extração criptográfica.

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

  • Localizações restritas: pode utilizar políticas para restringir a implementação de recursos em regiões ou localizações específicas. Considere restringir as localizações para evitar taxas de transferência de dados dispendiosas e manter a conformidade com os regulamentos de soberania de dados.

  • Dados geridos: utilize políticas para impor práticas de gestão de dados que ajudam a otimizar os custos. Por exemplo, pode implementar políticas que exijam a utilização de camadas de armazenamento de baixo custo para dados ou políticas acedidos com menos frequência que definam regras de expiração para retenção de dados.

  • Metadados impostos: estabeleça políticas que determinam a utilização de metadados específicos para um melhor controlo e alocação de custos. Também pode utilizar metadados na sua automatização ou revisão manual. Por exemplo, utilize metadados para automatizar cópias de segurança de recursos com uma etiqueta de cópia de segurança. Uma política de metadados consistente ajuda a alinhar os custos com as proteções de gastos.

  • Recursos inativos limitados: utilize políticas para identificar recursos inativos para que possa eliminá-los ou voltar a utilizá-los. Considere definir políticas que encerrem automaticamente instâncias durante as horas em que não estão a ser utilizadas.

Ícone de riscoRisco: se implementar o dimensionamento automático, defina um limiar máximo de dimensionamento com base nos testes. Os limiares máximos podem ajudá-lo a evitar picos de dimensionamento maciços que causam excessos de custos, mas um limiar que está definido como demasiado baixo pode afetar negativamente o desempenho. Para obter mais informações, veja Recomendações para otimizar os custos de dimensionamento.

Configurar controlos de acesso

Configure controlos de acesso para definir restrições que impedem o gasto excessivo e para ajudar a garantir que apenas indivíduos autorizados podem consumir recursos. Os controlos 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 controlos de acesso para otimização de custos, siga estes passos:

  1. Identificar o controlo necessário. Identifique os recursos e serviços que precisam de controlos de acesso.

  2. Definir políticas de acesso. Defina políticas de acesso com base no princípio do acesso com menos privilégios, concedendo aos utilizadores apenas as permissões necessárias para realizarem as respetivas tarefas. Por exemplo, alguns utilizadores podem precisar apenas de acesso de leitura, enquanto outros também podem necessitar de permissões de escrita ou eliminação.

  3. Implementar a autenticação. Implemente métodos de autenticação, como o nome de utilizador/palavra-passe, a autenticação multifator ou a integração com fornecedores de identidade, para ajudar a garantir que apenas os utilizadores autorizados podem aceder aos recursos.

  4. Utilize o controlo de acesso baseado em funções (RBAC). Configure o RBAC para atribuir funções e permissões aos utilizadores com base nas respetivas responsabilidades de trabalho. A utilização do RBAC pode ajudá-lo a gerir eficazmente o acesso a recursos.

  5. Rever e atualizar controlos. Reveja e atualize regularmente os controlos de acesso para garantir que estão 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.

Utilizar portas de libertação

As portas de versão são pontos de verificação ou condições que têm de ser cumpridas antes de uma versão ou implementação poder continuar. Utilize as portas de lançamento para ajudar a garantir que a versão é rentável e está alinhada com os objetivos de otimização. As portas de lançamento oferecem uma abordagem estruturada à identificação e implementação de medidas de poupança de custos. Para implementar portas de versão para otimização de custos da carga de trabalho, considere os seguintes passos:

  1. Estabelecer critérios de porta de lançamento. Estabeleça as condições ou critérios que têm de ser cumpridos antes de os recursos serem libertados ou implementados. Inclua fatores como limites de gastos, limiares de utilização de recursos ou marcos do projeto.

  2. Incorporar portas de libertação. Incorpore as portas de versão no pipeline de implementação. Pode utilizar ferramentas de automatização ou scripts personalizados para garantir que as implementações de recursos estão sujeitas aos critérios definidos.

  3. Monitorizar os gastos. Monitorize continuamente os gastos e a utilização de recursos com base nos critérios definidos. Se a organização exceder os limiares de gastos, as portas de lançamento deverão impedir novas implementações até que o problema seja resolvido.

Configurar alertas de custos

É importante definir alertas para orçamentos, anomalias de custos e utilização de planos baseados em compromissos para otimizar os custos. Estes alertas fornecem visibilidade sobre os gastos com a cloud e permitem a gestão proativa de custos. Tenha cuidado ao gerir os destinatários das notificações para alertas e mantenha a lista de destinatários atualizada com as responsabilidades e o acesso atuais. Alguns alertas que poderá criar para otimizar os custos incluem:

  • Alertas de orçamento: defina alertas sobre orçamentos para controlar as suas despesas em relação aos limiares predefinidos. Pode monitorizar os custos e receber notificações quando se aproximar ou exceder o montante orçamentado ao criar um orçamento mensal, uma conta de faturação ou um grupo de recursos. Os alertas de orçamento ajudam-no a manter-se informado sobre as suas despesas e a tomar medidas preventivas para controlar os custos.

  • Alertas de anomalias de custos: os alertas de anomalias notificam-no sobre variações de custos inesperadas que podem indicar ineficiências ou padrões de gastos anormais. Pode configurar estes alertas para identificar anomalias nos custos reais ou previstos. Utilize alertas de anomalias de custos para investigar a causa subjacente de uma variação de custos e tomar medidas corretivas quando necessário.

  • Alertas de utilização de planos baseados em compromissos: implemente alertas de utilização de planos baseados em alocação para monitorizar a utilização do seu plano. Se tiver planos baseados em compromissos, definir alertas sobre a utilização do plano pode ajudá-lo a gerir e maximizar eficazmente o valor destes compromissos. Pode configurar estes alertas para notificar os intervenientes se a utilização de recursos baseados em alocação ficar abaixo de um limiar pretendido. Otimize os seus recursos baseados em compromissos e certifique-se de que utiliza os benefícios dos seus compromissos.

Utilizar IaC

A infraestrutura como código é a prática de gerir e aprovisionar recursos de infraestrutura com código, normalmente na forma de ficheiros de configuração. Implemente esta estratégia para definir e automatizar a implementação e configuração de recursos de infraestrutura, como máquinas virtuais, redes e armazenamento, através de modelos baseados em código.

As estratégias iaC proporcionam uma abordagem estruturada e repetível para gerir e controlar recursos de infraestrutura. A IaC pode ajudá-lo a implementar recursos conforme necessário, eliminar recursos sem os executar continuamente e otimizar os custos ao garantir que implementa e configura recursos de acordo com as regras predefinidas. Siga estes passos para utilizar o IaC para otimização de custos:

  1. Create modelos IaC. Create uma linguagem de modelo baseada em código para definir os recursos de infraestrutura e as respetivas configurações. Estes modelos permitem-lhe especificar o estado pretendido dos recursos de infraestrutura de forma declarativa. Implemente as melhores práticas de otimização de custos no código da infraestrutura. Considere dimensionar os seus recursos com instâncias reservadas ou planos de poupança. Utilize opções de armazenamento económicas e aplique metadados de recursos para alocação e controlo de custos.

  2. Armazenar modelos. Armazene modelos IaC num sistema de controlo de versões para controlar as alterações e gerir versões diferentes. Pode utilizar o controlo de versões para manter um histórico das configurações da infraestrutura e fomentar a colaboração entre os membros da equipa.

  3. Utilizar parâmetros. Utilize parâmetros nos seus modelos para torná-los reutilizáveis e configuráveis. Ao utilizar parâmetros, pode personalizar facilmente as implementações de infraestrutura para diferentes ambientes ou cenários.

  4. Utilize ambientes efémeros. Utilize ambientes efémeros para fins de desenvolvimento, teste e teste para otimizar os custos. Os ambientes efémeros só devem ser executados quando necessário. Create estes ambientes com ferramentas IaC e elimine o ambiente quando terminar.

  5. Utilize ferramentas IaC. Utilize ferramentas e arquiteturas IaC para automatizar a implementação e configuração dos recursos de infraestrutura. Utilize a automatização para implementar recursos de forma consistente e fiável de acordo com as políticas definidas.

  6. Monitorizar recursos implementados. Monitorize regularmente os seus recursos e os respetivos custos para garantir a conformidade com as políticas de gastos. Utilize as ferramentas de monitorização e alerta para identificar eventuais desvios das proteções definidas e tomar medidas corretivas conforme necessário. Verifique se existem recursos não utilizados e elimine-os, de preferência com a automatização.

Facilitação do Azure

Utilizar políticas de governação: utilize Azure Policy para definir e impor políticas de governação alinhadas com os seus objetivos de otimização de custos. Pode utilizar Azure Policy para definir regras em grupos de gestão, subscrições e grupos de recursos. Estas políticas podem regular o aprovisionamento de recursos, os limites de utilização e a alocação de custos. Utilize políticas para promover o rightsizing de recursos, identificar e eliminar recursos inativos ou subutilizados e incentivar a utilização de arquiteturas e serviços económicos.

O Azure permite-lhe definir limites ou quotas para evitar custos inesperados. Pode definir limites para o número de recursos que podem ser aprovisionados, para além do tamanho e duração da utilização de recursos. Defina estes limites para ajudar a evitar o sobreaprovisionamento e a controlar os custos.

  • Identificar recursos subutilados ou inativos. Utilize o Assistente do Azure para otimizar e reduzir os custos globais do Azure ao identificar recursos inativos e subutilizados. Receba recomendações de custos da secção de custos no dashboard do assistente .

  • Adicionar metadados de recursos. Utilize a governação do Azure para implementar a identificação e categorização de recursos. Etiquetar recursos com metadados relevantes para controlar e alocar custos a diferentes departamentos, projetos ou centros de custos. A visibilidade da atribuição de custos pode ajudá-lo a identificar áreas de gastos elevados, otimizar a alocação de recursos e facilitar uma melhor gestão de custos.

Configurar controlos de acesso: utilize o RBAC do Azure para gerir o acesso aos recursos. Pode utilizar o RBAC para conceder permissões a utilizadores, grupos ou aplicações com base nas respetivas funções. Implemente o RBAC para ajudar a garantir que apenas os utilizadores autorizados têm acesso aos recursos, reduzindo o risco de utilização de recursos não autorizados e potenciais implicações de custos.

Utilizar portas de lançamento: utilize a gestão de versões do Azure Pipelines para definir e impor as portas de lançamento. Pode configurar pontos de verificação manuais ou automatizados para ajudar a garantir que cumpre critérios específicos, tais como verificações de segurança, requisitos de conformidade e limiares de custos.

Utilizar a infraestrutura como código. Pode utilizar ferramentas e serviços do Azure para implementar e gerir recursos de infraestrutura com código. Ao utilizar ferramentas como modelos do Azure Resource Manager (ARM), do Azure Bicep e do Azure DevOps, pode definir e implementar os seus recursos de infraestrutura de forma declarativa. O Azure tem modelos Bicep, Azure Resource Manager e Terraform para cada recurso do Azure.

Utilize os Pipelines do Azure ou outras ferramentas de integração contínua e entrega contínua (CI/CD) para automatizar os processos de compilação, teste e implementação. O Teams pode utilizar pipelines para definir uma série de passos e ações que são executados automaticamente sempre que forem efetuadas alterações à base de código. Automatize estes processos para reduzir o esforço manual, garantir a consistência e acelerar a entrega de software.

Considere utilizar recursos de baixo custo para os seus ambientes efémeros ou de não produção para otimizar os custos. O Azure fornece vários escalões de preço para recursos. Azure DevTest Labs os preços e as Reservas do Azure são métodos de poupança de custos que pode explorar para ambientes efémeros.

Os repositórios git, como o Azure Repos e o GitHub, fornecem capacidades de controlo de versões para gerir configurações de código e infraestrutura. O Teams e os programadores podem utilizar repositórios automatizados para colaborar, controlar alterações e manter um histórico da base de código.

Os Ambientes de Implementação do Azure permitem às equipas de desenvolvimento criar de forma rápida e fácil a infraestrutura de aplicações através de modelos baseados em projetos que estabelecem consistência e melhores práticas ao mesmo tempo que maximizam a segurança. O acesso a pedido a ambientes seguros acelera as fases do ciclo de vida de desenvolvimento de software de uma forma compatível e económica.

O Azure Developer CLI é uma ferramenta open source que acelera o tempo que demora a obter a sua aplicação de um ambiente de desenvolvimento local para o Azure. O Azure Developer CLI oferece comandos amigos do programador que mapeiam para fases chave no fluxo de trabalho, quer esteja a trabalhar no terminal, num ambiente de desenvolvimento integrado (IDE) ou em CI/CD.

Configurar alertas de custos: utilize o Microsoft Cost Management para otimizar os custos e impor proteções de gastos. Pode utilizar funcionalidades de gestão de custos para definir orçamentos e alertas, visualizar informações de custos com ferramentas como o Power BI e analisar padrões de custos e estrangulamentos de desempenho.

Alinhamento organizacional

As equipas centrais devem utilizar a documentação de orientação Cloud Adoption Framework para configurar proteções de gastos em toda a organização para que as equipas de carga de trabalho compreendam o que a equipa central pode oferecer.

Encorajamos a organização a adotar proteções orientadas por políticas. Para obter um exemplo de implementação, veja Adotar proteções orientadas por políticas.

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

Veja o conjunto completo de recomendações.