Disciplina de Gerenciamento de Custos

Concluído

O gerenciamento de custos geralmente é a primeira disciplina que os clientes optam por aprimorar em uma participação de governança. Esta unidade descreve resultados, ferramentas, processos, além de uma implementação de referência para aprimorar a disciplina de custos.

Objetivo

A disciplina de Gerenciamento de Custos gera confiança na sua capacidade de controlar os custos e responder aos seguintes gatilhos:

  • Lidar com problemas de orçamento
  • Definir a alocação de custos entre as unidades de negócios
  • Implementar verificadores de integridade de custo
  • Analisar os custos de carga de trabalho
  • Aplicar melhores práticas operacionais em seu portfólio
  • Criar responsabilidades por melhores práticas de custos com cada equipe de carga de trabalho

Melhores práticas de gerenciamento de custos

O objetivo da disciplina é aplicar estas melhores práticas de gerenciamento de custos:

  • Alinhar equipes e responsabilidades
  • Gerenciar melhores práticas de modo centralizado
  • Estabelecer melhores práticas para níveis de cargas de trabalho

Melhores práticas por equipe e responsabilidade

O gerenciamento de custos corporativo é uma função da governança de nuvem e das operações da nuvem. Todas as decisões que envolvem o gerenciamento de custos alteram os ativos que dão suporte a uma carga de trabalho. Quando essas alterações afetam a arquitetura de uma carga de trabalho, são necessárias considerações adicionais para minimizar o impacto em usuários e funções de negócios. É provável que a equipe de adoção de nuvem que configurou ou desenvolveu essa carga de trabalho seja responsável por dar sequência a essas alterações.

  • A marcação é essencial para toda a governança: verifique se todas as cargas de trabalho e recursos seguem convenções de nomenclatura e marcação apropriadas e que você impõe convenções de marcação usando Azure Policy.
  • Identifique oportunidades do tamanho adequado: examine os requisitos atuais de desempenho e a utilização de recursos em todo o ambiente.
  • Redimensionar: modifique cada recurso para usar a menor instância ou SKU capaz de dar suporte aos requisitos de desempenho dos recursos individuais.
  • Escala horizontal versus vertical: o uso de várias instâncias pequenas pode facilitar o dimensionamento se comparado ao uso de apenas uma instância maior. O uso de várias instâncias menores dá suporte à automação de escala, o que cria a otimização de custos.

Melhores práticas de gerenciamento de custos operacional

As melhores práticas a seguir normalmente são realizadas por um membro da equipe de governança de nuvem ou operações de nuvem, de acordo com a aplicação de patches e outros processos de manutenção agendada. Essas melhores práticas são mapeadas em diretrizes acionáveis posteriormente nesta unidade.

  • A marcação é essencial para toda a governança: verifique se todas as cargas de trabalho e recursos seguem convenções de nomenclatura e marcação apropriadas e que você impõe convenções de marcação usando Azure Policy.
  • Identifique oportunidades do tamanho adequado: examine os requisitos atuais de desempenho e a utilização de recursos em todo o ambiente para identificar os recursos que permaneceram subutilizados por mais de 90 dias.
  • SKUs provisionados de tamanho adequado: modifique o recurso subutilizado para usar a menor instância ou o menor SKU que pode dar suporte aos requisitos de desempenho de cada recurso.
  • Desligamento automático para VMs (máquinas virtuais): quando uma VM não é usada constantemente, considere o desligamento automatizado. A VM não será excluída nem encerrada, porém, interromperá o consumo de custos de computação e memória até que ela seja ligada novamente.
  • Desligamento automático para todos os ativos de não produção: se uma VM fizer parte de um ambiente de não produção, especificamente em um ambiente de desenvolvimento, estabeleça uma política de desligamento automático para reduzir o custo da inatividade. Sempre que possível, use o Azure DevTest Labs como uma opção de autoatendimento para ajudar os desenvolvedores a se responsabilizarem pelos custos.
  • Desligar e desativar recursos não usados: sim, mencionamos isso duas vezes. Caso um recurso não tenha sido usado em mais de 90 dias e não tenha um requisito claro de tempo de atividade, desative-o. E o mais importante: caso um computador tenha sido interrompido ou desligado por mais de 90 dias, desprovisione e exclua esse recurso. Confirme se as políticas de retenção de dados estão sendo atendidas por meio de backup ou demais mecanismos.
  • Limpar discos órfãos: exclua o armazenamento não utilizado, especialmente o armazenamento de VM que não está mais anexado a uma VM.
  • Redundância de tamanho adequado: caso o recurso não exija um alto grau de redundância, remova o armazenamento com redundância geográfica.
  • Ajustar parâmetros de dimensionamento automático: o monitoramento operacional provavelmente descobrirá padrões de uso de vários ativos. Quando esses padrões de uso são mapeados para os parâmetros usados a fim de conduzir os comportamentos de dimensionamento automático, a equipe de operações normalmente ajusta os parâmetros de dimensionamento automático para atender a uma demanda sazonal ou alterações nas alocações de orçamento. Examine as melhores práticas de gerenciamento de custos de cargas de trabalho para conhecer precauções importantes.

Melhores práticas de gerenciamento de custos de cargas de trabalho

Antes de fazer alterações na arquitetura, consulte o líder técnico da carga de trabalho. Facilite a revisão da carga de trabalho usando a Visão geral do Azure Well-Architected Framework e a Introdução para orientar decisões relacionadas às seguintes alterações na arquitetura:

  • Serviço de Aplicativo do Azure: verifique os requisitos de produção de todos os planos do Serviço de Aplicativo da camada Premium. Sem entender os requisitos empresariais de uma carga de trabalho e a configuração de ativos subjacentes, fica difícil determinar se um plano de camada Premium é necessário.
  • Escala horizontal versus vertical: o uso de várias instâncias pequenas pode facilitar o dimensionamento se comparado ao uso de apenas uma instância maior. O uso de instâncias pequenas dá suporte à automação de escala, o que cria a otimização de custos. Antes que uma carga de trabalho possa ser escalada de modo horizontal, a equipe técnica deverá verificar se o aplicativo é idempotente. Para que você obtenha uma escala horizontal, primeiro poderá ser necessário fazer alterações no código e na configuração de várias camadas do aplicativo.
  • Dimensionamento automático: habilite o dimensionamento automático em todos os serviços de aplicativos de várias VMs menores com capacidade de intermitência. Habilitar o dimensionamento automático tem o mesmo requisito idempotente e isso requer uma compreensão da arquitetura da carga de trabalho. A carga de trabalho e os ativos de suporte deverão ser aprovados pela equipe de adoção de nuvem para executar a escala horizontal e o dimensionamento automático antes de qualquer alteração operacional.
  • Implementar tecnologias sem servidor: as cargas de trabalho de VM geralmente são migradas como no estado em que se encontram para evitar tempo de inatividade. Muitas vezes, as VMs hospedam tarefas que são intermitentes, tarefas que levam um curto período de execução ou tarefas executadas por muitas horas. Por exemplo, VMs que executam tarefas agendadas, como o Agendador de Tarefas do Windows ou scripts do PowerShell. Quando essas tarefas não estiverem em execução, você ainda estará pagando pelas VMs e pelo armazenamento em disco. Após a migração, considere criar novamente a arquitetura de camadas da carga de trabalho como tecnologias sem servidor, como o Azure Functions ou os trabalhos do Lote do Azure.

Processo de gerenciamento de custos

As melhores práticas descritas aqui são acionáveis. No entanto, como e quando você deverá aplicá-las? A disciplina de Gerenciamento de Custos é um esforço contínuo que envolve vários processos e funções.

Diagram of the Cost Management discipline as a continuous process.

Figura 1: a disciplina de Gerenciamento de Custos como um processo contínuo.

Trabalhe com as equipes centrais de operações e cargas de trabalho para garantir a propriedade adequada de cada melhor prática da disciplina de Gerenciamento de Custos mostrada na Figura 1 (otimização, visibilidade, responsabilidade). Dependendo do modo como você gerencia as cargas de trabalho no ambiente, algumas melhores práticas podem mudar entre as equipes. Enquanto algumas organizações colocam toda a responsabilidade do gerenciamento de custos na equipe central de TI e deixam de responsabilizar a equipe de cargas de trabalho, outras fazem o inverso. A maioria das organizações se enquadra em um desses dois extremos. Na Tailwind Traders, a equipe central de TI serve apenas como uma função de gerenciamento para relatórios e orçamentos.

Depois de alinhar as funções, estabeleça processos recorrentes para atender às duas equipes e torná-las responsáveis por essa importante tarefa recorrente.

Gerenciamento de Custos da Microsoft

O Gerenciamento de Custos da Microsoft é a ferramenta padrão do Azure criada para reunir todos os dados com o objetivo de gerenciar sua estratégia de custos.

O Gerenciamento de Custos da Microsoft reúne a organização de recursos, os alertas do Assistente do Azure e sua base de governança para atender às necessidades de Gerenciamento de Custos.

Exercício: Criar um orçamento

Para começar a usar o Gerenciamento de Custos da Microsoft, crie seu primeiro orçamento com o tutorial Criar e gerenciar orçamentos do Azure.

Exercício: Encontre oportunidades de otimização

Caso tenha implantações existentes no ambiente do Azure, você provavelmente terá recomendações no portal do Azure que poderão afetar o gasto geral. Conclua o tutorial Otimizar os custos das recomendações para exibir as recomendações do Assistente do Azure e outras recomendações que podem reduzir os custos. Essas recomendações identificaram oportunidades para aplicar as melhores práticas operacionais descritas nesta unidade.

Exercício: limitar riscos de custos com o Azure Policy

Para limitar custos inesperados de modo proativo, você poderá usar o Azure Policy a fim de criar verificadores de integridade que afetarão a capacidade de qualquer função de exceder gastos. Os dois riscos de custos mais comuns são provenientes de decisões equivocadas:

  • Regiões do Azure: os custos de ativos variam de acordo com as regiões do Azure. Quando possível, você poderá usar o Azure Policy para limitar a implantação de recursos entre as regiões.
  • SKUs do Azure: o SKU selecionado durante a implantação afeta diretamente os custos. Minimizar o uso de recursos caros em assinaturas de autoatendimento ou pertencentes a cargas de trabalho poderá limitar excessos inesperados no orçamento.

Adicione uma política para negar SKUs de VM nos ambientes de não produção com o objetivo de conferir esse tipo de política de controle de custos em ação.

Adicione uma política a fim de identificar locais permitidos para assinaturas específicas com o objetivo de evitar o descompasso de custos relacionados ao preço regional.