Este modelo de maturidade leva-o numa viagem desde a consciência básica dos custos até ao domínio avançado da otimização.
Começando com práticas fundamentais, como transparência e responsabilidade, você gradualmente criará recursos sofisticados, incluindo análise sistemática, insights orientados ao usuário, aprendizados de produção e, finalmente, técnicas avançadas de eficiência. A progressão é projetada para transformar sua abordagem de simplesmente reagir a surpresas de custos para moldar proativamente os resultados financeiros que se alinham com seus objetivos de negócios.
O modelo está estruturado em cinco níveis de maturidade distintos, cada um com um objetivo principal e um conjunto de estratégias centrais. Utilize as vistas com separadores abaixo para explorar cada nível. Certifique-se também de analisar as compensações destacadas e os riscos associados à medida que progride.
Estabeleça a responsabilidade da equipe e os processos fundamentais para gerenciar os custos da carga de trabalho durante todo o seu ciclo de vida.
O nível 1 do modelo de maturidade ajuda as equipes de carga de trabalho a entender seu orçamento e configurar processos e ferramentas para gerenciar seus custos durante o ciclo de vida da carga de trabalho. Antes de configurar processos mais maduros, como a criação de um modelo de custo, você deve se concentrar nas práticas recomendadas básicas de gerenciamento de custos para iniciar sua carga de trabalho sem causar problemas com o orçamento.
As recomendações a seguir podem ajudá-lo a gerenciar os custos com sabedoria enquanto cria sua carga de trabalho de forma eficiente.
Estratégias-chave
✓ Compartilhe metas financeiras, detalhes de orçamento e gastos de carga de trabalho com todos os membros da equipe, gerentes e tomadores de decisão
Forneça às partes interessadas informações detalhadas sobre o orçamento alocado, detalhamentos de custos e metas financeiras para sua carga de trabalho. Compartilhe informações detalhadas sobre várias despesas, como custos de infraestrutura, licenças de software e despesas operacionais. Esta prática não é muitas vezes pensada, mas é importante. Ele ajuda a construir confiança entre a equipe de carga de trabalho e as equipes de liderança e mostra que a equipe de carga de trabalho está pensando no futuro sobre o gerenciamento de despesas. Essa colaboração também ajuda a motivar a equipe de carga de trabalho a permanecer diligente em seu gerenciamento de custos por causa de seus compromissos com as equipes de liderança.
Use ferramentas de colaboração para incentivar os membros da equipe a compartilhar ideias e insights de otimização de custos. Fornecer mecanismos para que a equipe colabore em suas ideias e insights. Essa abordagem permite que os membros da equipe ofereçam sugestões em todas as disciplinas da equipe de carga de trabalho. Quando você promove uma cultura de colaboração na otimização de custos, reforça a mentalidade de que o gerenciamento de custos de carga de trabalho depende de todos os membros da equipe igualmente.
Para motivar uma mentalidade de otimização de custos, considere reconhecer indivíduos e equipes que demonstrem responsabilidade financeira e contribuam para a otimização de custos. Você pode usar avaliações de desempenho, incentivos ou outros programas de reconhecimento.
✓ Reunir dados detalhados de custos de todas as fontes, incluindo dados faturados e medidos
Os dados faturados representam os valores reais faturados e os dados medidos são preditivos com base nos planos de faturação. Para obter uma visão totalmente detalhada dos custos da sua carga de trabalho, explore todas as ferramentas e métodos disponíveis que seu provedor de serviços oferece. A fatura mensal pode não dar às partes interessadas detalhes suficientes sobre os gastos. Compile dados para poupar tempo na investigação de acusações pouco claras e na explicação de termos obscuros. Depois de coletar dados de uso, centralize esses dados em um sistema unificado.
Tire partido dos painéis de faturação com filtros para diferentes vistas. As partes interessadas e os membros da equipe de carga de trabalho podem usar os filtros para ver facilmente as informações mais relevantes para eles.
✓ Determinar fatores de custo
Para identificar como diferentes componentes da carga de trabalho contribuem para os custos gerais, use as ferramentas adotadas para coletar dados de faturamento. Preste especial atenção aos custos relacionados com processos, como transferências de dados ou transações, e à forma como contribuem para os custos globais. Esses custos geralmente são negligenciados durante as estimativas iniciais de custo de recursos antes da implantação.
Você também deve entender como fatores que não estão diretamente relacionados aos seus recursos de nuvem podem afetar seu orçamento. Esses fatores podem incluir treinamento para membros da equipe e licenciamento de software que seu provedor de nuvem não gerencia.
✓ Decida se quer construir ou comprar
Uma das primeiras decisões que a equipe de carga de trabalho precisa tomar é se deve usar soluções prontas para uso ou criar soluções internamente. Geralmente, o Well-Architected Framework favorece manter as coisas simples. O uso de soluções prontas para uso segue essa filosofia. Soluções bem suportadas aliviam sua equipe da carga operacional e diminuem o tempo necessário para o desenvolvimento, para que os desenvolvedores possam se concentrar na funcionalidade principal do aplicativo.
Compromisso: Considere os custos ao decidir entre construir ou adquirir uma solução. A construção de soluções internas geralmente significa um investimento inicial para o tempo de desenvolvimento e quaisquer recursos necessários para concluir o desenvolvimento. Mas você tem menos custos recorrentes porque não precisa manter contratos de suporte ou licenciamento.
Para ajudá-lo a tomar a decisão certa para sua equipe, avalie os seguintes pontos.
-
O nível de controlo desejado: Decida quanto controle você precisa sobre a funcionalidade de uma solução.
-
A quantidade necessária de personalização: Determine o nível de personalização adequado para sua carga de trabalho em evolução.
-
O tempo esperado para o mercado: Entenda as expectativas das partes interessadas para trazer sua carga de trabalho para o mercado e como você pode atender melhor a esse cronograma.
-
Os conhecimentos técnicos necessários: Determine quanta experiência você precisa reter para criar e operar uma solução.
-
O encargo operacional esperado: Estime quanto tempo e esforço as equipes de operações precisam para dar suporte a uma solução.
Estas avaliações ajudam-no a compreender os custos totais de cada opção para que possa ponderá-los uns contra os outros. O custo total pode não ser o único fator decisivo. Mas se as opções tiverem diferenças significativas, escolha a opção de menor custo para acelerar o desenvolvimento da carga de trabalho.
✓ Invista nas competências da sua equipa
Invista no upskilling em áreas onde a sua equipa carece de conhecimento. Fortes habilidades na nuvem facilitam uma boa tomada de decisões a longo prazo e otimizam sua produtividade diária. Considere o treinamento ou as certificações que seu provedor de nuvem ou outros parceiros oferecem. Melhorar a produtividade da sua equipa de carga de trabalho e de outros decisores poupa-lhe tempo e dinheiro, minimizando erros dispendiosos.
Crie análises de custos e relatórios sistemáticos para entender os padrões de gastos.
Após a implantação inicial, é comum se concentrar no desenvolvimento de novos recursos e impulsionar as vendas, ignorando a gestão de custos. No nível 2, espera-se que os gastos aumentem, por isso é necessário adotar uma abordagem estruturada. Avalie os custos de ferramentas e tecnologias, construa uma linha de base e identifique os principais fatores de custo.
A gestão de custos pode parecer esmagadora, mas a análise sistemática de custos numa fase inicial é necessária para manter o controlo financeiro e apoiar o crescimento.
Estratégias-chave
✓ Desenvolver um modelo de custo de linha de base
Um modelo de custo é uma estimativa do custo total de uma carga de trabalho. O custo é dividido por fatores contribuintes, como serviços de plataforma, armazenamento de dados, fluxos de usuários e sistemas e operações. No mínimo, você deve realizar uma análise de custos sistemática e criar um modelo de custo básico. Este exercício ajuda você a tomar decisões informadas sobre alocação e otimização de recursos.
Crie um inventário de todos os recursos do Azure e especifique quais aspetos de cada recurso resultam em custos mais altos.
Faça perguntas sobre as escolhas tecnológicas e seu alinhamento com objetivos como escalabilidade e confiabilidade dentro das restrições de custo. Para cada recurso, observe o custo e determine se o custo é muito alto ou muito baixo. Meça as cargas esperadas enquanto tem em mente o crescimento potencial.
Observe o custo dos fluxos e distinga entre fluxos críticos e não críticos. Priorize fluxos críticos, como a experiência do usuário em um aplicativo de comércio eletrônico, sobre fluxos não críticos, como trabalhos em segundo plano para fins de auditoria.
Calcule o custo do armazenamento de dados e padrões de acesso a dados.
✓ Construir relatórios de custos
Crie relatórios de custos básicos para visibilidade financeira e analise padrões de custos. Além disso, configure alertas de custos para quando você exceder um valor específico de gastos.
Recomendamos que você use o Microsoft Cost Management para analisar, monitorar e controlar seus gastos com serviços. Se essa opção não estiver disponível para você, crie um sistema para acompanhar o consumo e gerar um relatório mensal.
✓ Configurar a prestação de contas
A prestação de contas é inegociável para a gestão de custos. Nos estágios iniciais, designe um membro da equipe para revisar orçamentos e relatórios de custos mensalmente e informar a equipe sobre picos inesperados. A pessoa responsável deve avaliar os gastos com carga de trabalho e orientar a equipe de acordo.
Inicialmente, a prestação de contas pode ser flexível. À medida que a startup amadurece, imponha controles mais rígidos.
✓ Avaliar oportunidades de otimização
Seu modelo de custo deve fornecer uma boa compreensão dos principais fatores de custo, e os relatórios de custos devem fornecer evidências. Avalie esses drivers e explore oportunidades de otimização. Considere as seguintes estratégias:
Avalie o modelo de cobrança para cada recurso do Azure usado pela carga de trabalho. Determine se você precisa de todos os recursos que cada plano inclui. Por exemplo, se necessitar de funcionalidades específicas, como um ponto de extremidade privado com o Azure Front Door, poderá precisar do plano premium. Caso contrário, considere escolher um plano mais baixo para economizar custos.
Escolha entre a faturação baseada no consumo e a faturação baseada no compromisso. Recomendamos que comece com a faturação baseada no consumo para que possa compreender os custos incorridos. Se a carga for consistente, você poderá explorar os descontos que o Azure fornece para cargas consistentes em estágios posteriores.
Avalie as práticas de codificação. Use a instrumentação de código para identificar processos que são caros de executar e fornecer informações sobre problemas de desempenho, que podem incorrer em custos desnecessários. Colete métricas como duração do processo e taxas de falha para tomar decisões orientadas por dados para otimização futura.
✓ Decidir sobre uma estratégia de escala inicial
A escalabilidade horizontal é preferida porque é mais econômica e fácil de implementar em comparação com a escalabilidade vertical. A expansão envolve tempo de inatividade e custos mais altos.
Considere testes e métricas de desempenho e expanda ou aumente a escala com base na sua avaliação.
Incorpore feedback do usuário e sinais operacionais para refinar estratégias de otimização de custos.
Nos estágios iniciais de desenvolvimento e operações da carga de trabalho, você pode confiar em seu ciclo de feedback de desenvolvimento interno para otimizar sua carga de trabalho. Nesse nível de maturidade, é importante expandir seu ciclo de feedback para incluir usuários internos e externos, bem como outras partes interessadas. À medida que você faz refinamentos de otimização de custos para sua carga de trabalho, você também precisa considerar compensações com outros pilares, especialmente os pilares Eficiência de Desempenho e Confiabilidade.
O nível 3 do pilar Otimização de Custos concentra-se na preparação de sua carga de trabalho para a produção, integrando feedback interno e externo em sua estratégia, garantindo que as metas de desempenho e confiabilidade sejam atingidas.
Estratégias-chave
✓ Investir em fluxos impactantes e ajustar outros fluxos
Considere as prioridades atribuídas aos fluxos de aplicativos. Priorize os esforços de desenvolvimento em fluxos críticos enquanto procura maneiras de simplificar e reduzir o custo de fluxos não críticos. Os fluxos não críticos podem ter requisitos de fiabilidade menos rigorosos. Como resultado, você pode ser capaz de simplificar seu design.
Para cada fluxo, elimine elementos desnecessários, selecione as camadas de desempenho apropriadas, ajuste as configurações de dimensionamento para demanda variável e ajuste as configurações para alinhá-las às necessidades de desempenho e orçamento. Monitore fluxos para identificar ineficiências, como instâncias de computação ociosas, dados não utilizados e baixa largura de banda de rede. Use ferramentas nativas de registro e análise para ajudar a agregar e analisar essas métricas para tendências.
✓ Implemente políticas de custo utilizando alertas
Crie limites de gastos e alertas associados para impor limites de custo. Essa abordagem garante que a carga de trabalho permaneça dentro do orçamento. Exemplos de alertas incluem os seguintes tipos:
Os alertas de orçamento permitem-lhe definir limites de despesas, monitorizar custos e receber notificações para ajudar a controlar as despesas e manter-se informado.
Os alertas de anomalia de custo notificam-no de variações de custo inesperadas. Eles permitem que você investigue e resolva ineficiências ou padrões de gastos anormais.
Os alertas de uso do plano baseado em compromisso ajudam você a monitorar e otimizar o uso de seus recursos baseados em compromisso, notificando as partes interessadas quando o uso cai abaixo de um limite desejado.
✓ Desenvolva uma estratégia para otimizar o uso de seus recursos
À medida que você cria seus ambientes de não produção e produção, você pode implantar involuntariamente recursos provisionados em excesso. Com o tempo, você pode acumular recursos que foram implantados para uma prova de conceito (PoC) ou para testes que não são mais necessários. Desenvolver uma estratégia para identificar recursos subutilizados e não utilizados é essencial para a melhoria contínua na manutenção de um ambiente de nuvem otimizado. Considere as seguintes recomendações:
Use os tipos de recursos e SKUs corretos para cada ambiente. Pesquise as opções de infraestrutura que sua plataforma de nuvem fornece e selecione tipos de recursos e SKUs apropriados para cada caso de uso. Muitas vezes, há tipos de recursos e SKUs específicos que são direcionados especificamente para PoC e ambientes de desenvolvimento/teste. Esses tipos de recursos e SKUs são significativamente mais baratos do que os recursos padrão ou de alto desempenho, mas você não pode usá-los para cargas de trabalho de produção.
Configure e aplique políticas para restringir tipos de recursos, SKUs, regiões e permissões de implantação para usuários. As políticas automatizadas ajudam a gerenciar as alterações no ambiente. Esse processo reduz o risco de implantações não autorizadas.
Padronize usando a infraestrutura como código para todas as alterações de ambiente. Essa abordagem ajuda a aplicar suas políticas de alteração de ambiente e simplifica suas práticas de operações para reduzir o risco de erro humano.
Monitore métricas de uso, como CPU, memória e armazenamento, para ajudar a determinar se os recursos são subutilizados e podem ser reduzidos.
Analise os ambientes de não produção e de produção em busca de recursos não utilizados que possam ser desligados ou excluídos com segurança.
Aproveite as ferramentas que sua plataforma de nuvem fornece para ajudar a identificar otimizações de recursos. Por exemplo, o Azure Advisor fornece recomendações de otimização de custos que identificam possíveis ineficiências e sugerem etapas para resolvê-las.
Compensação: Considere as metas de desempenho e confiabilidade ao ajustar seus recursos. Interaja com as partes interessadas quando os compromissos puderem ajudar a equilibrar o desempenho, a confiabilidade e os custos, ou quando as restrições orçamentárias impedirem o aprimoramento da carga de trabalho.
✓ Otimizar licenças e outros custos estáticos
Ao implantar recursos na nuvem, adote uma abordagem estratégica para a compra de licenças e outros custos mensais fixos. Esses custos incluem licenciamento de servidor e banco de dados, licenciamento de software e reservas pré-compradas. Considere as seguintes estratégias de redução de custos:
Opções de pesquisa, como o Benefício Híbrido do Azure, para aplicar licenças existentes aos sistemas que você migra para a nuvem ou para novas implantações na nuvem. Pesquise qualquer licenciamento por volume ou contratos empresariais que sua organização mantenha para aproveitar possíveis economias de custos em recursos de nuvem ou licenciamento de software.
Use licenças de não produção e desenvolvimento/teste para sistemas aplicáveis, como licenças de desenvolvimento/teste do Visual Studio.
Pré-compra de capacidade para recursos de nuvem quando possível. Reservar capacidade pode reduzir significativamente seus custos mensais de uso e ajudar a manter despesas mais consistentes.
Risco: Ao comprar reservas, certifique-se de selecionar o modelo mais econômico para o seu caso de uso. Por exemplo, se um recurso puder ser reduzido noturna ou sazonalmente, pode ser mais econômico ajustar seu dimensionamento de forma inteligente. Além disso, identifique o SKU correto para pré-compra por meio de testes de linha de base e planejamento de capacidade.
✓ Refine as políticas de dimensionamento automático
Suas políticas iniciais de dimensionamento podem ser baseadas em seu ciclo de feedback de desenvolvimento interno. Estas políticas centram-se no ajustamento da escala para satisfazer as necessidades de desenvolvimento. À medida que sua carga de trabalho evolui, incorpore o feedback dos usuários internos e externos para garantir que o desempenho permaneça dentro do intervalo aceitável.
Ajuste os limites de dimensionamento e introduza períodos de resfriamento para reduzir picos de carga temporários. Monitore e ajuste continuamente o sistema para otimizar custos e atender aos requisitos. Defina as unidades de escala a serem usadas no futuro. Essas unidades dependem de fatores como design da carga de trabalho, caso de uso, componentes, fluxos e requisitos de negócios.
Por exemplo, para cargas de trabalho de missão crítica, uma unidade de escala pode ser um carimbo de implantação inteiro. Como alternativa, para cargas de trabalho mais simples que têm fluxos não críticos, a unidade de escala pode ser baseada no número de instâncias de computação de uma SKU específica alocada para a carga de trabalho. Selecione unidades de escala que permitam que a carga de trabalho lide com os aumentos esperados de carga sem capacidade desperdiçada. Atualize seu modelo de custo para incluir as necessidades de dimensionamento previstas.
✓ Otimize seu patrimônio de dados
Os dados são o principal impulsionador dos custos da nuvem. O gerenciamento adequado de dados pode ajudá-lo a manter os custos consistentes e dentro do orçamento. Use as seguintes estratégias para gerenciar seu conjunto de dados:
Classifique e rotule os dados para aplicar os controles apropriados e determinar os níveis apropriados de confiabilidade e desempenho para diferentes tipos de dados e armazenamentos.
Capture apenas dados essenciais, compacte dados para armazenamento mais frio e exclua dados desnecessários usando políticas de retenção adequadas. Desduplique dados para eliminar dados redundantes e educar os usuários sobre práticas eficientes de armazenamento de dados.
Otimize os backups usando backups incrementais, permitindo a compactação e movendo backups mais antigos para o armazenamento frio.
Otimize a replicação aplicando os modelos de replicação apropriados, sejam síncronos ou assíncronos, para otimizar a replicação com base em suas necessidades. Ajuste a frequência de replicação para se alinhar às suas necessidades específicas. Avalie continuamente seus requisitos e configuração.
Incorpore feedback interno e externo para analisar os padrões de acesso ao armazenamento e ajustar suas estratégias de gerenciamento do ciclo de vida dos dados.
Use ferramentas para ajudar a otimizar consultas.
Compromisso: Compare as suas políticas de backup e replicação com os seus objetivos de recuperação. A replicação menos frequente ou o descarregamento de backups mais antigos para o armazenamento a frio podem afetar o tempo de recuperação, portanto, esteja atento à implementação dessas otimizações.
✓ Otimizar código, práticas de desenvolvimento de software e estratégias de desenvolvimento de recursos
Um código ineficiente pode degradar o desempenho do sistema. Esta ineficiência pode resultar em custos mais elevados para a utilização dos recursos. A otimização do código pode melhorar a eficiência e permitir que a sua tarefa suporte uma carga maior sem precisar aumentar os recursos. Use as seguintes estratégias para otimizar seu código:
Analise dados de tempo de execução e meça o desempenho usando ferramentas de criação de perfil.
Avalie a lógica de negócios e seu efeito na experiência do usuário.
Analise as recomendações de desempenho específicas do idioma.
Remova chamadas de função desnecessárias, minimize o logging e refine os loops e condicionais.
Reduza o processamento de dados, minimize as solicitações de rede e as alocações de memória e avalie implementações transversais.
Use os seguintes métodos para otimizar caminhos de rede:
Minimize as transferências de dados entre componentes e entre regiões geodistantes, analisando e eliminando transferências desnecessárias. Certifique-se de que apenas os campos de dados necessários são enviados e não objetos inteiros ou estruturas de dados. Esta abordagem reduz o tamanho e a frequência das transferências de dados.
Evite transferir dados redundantes enviando apenas informações essenciais.
Refatore seu código para reduzir solicitações repetidas e agrupe-as em lote quando possível.
A simplificação das práticas de desenvolvimento aumenta a velocidade de construção. Essa abordagem ajuda as equipes de carga de trabalho a economizar tempo valioso e fornecer melhorias à produção de forma eficiente. Use as seguintes estratégias para simplificar as práticas de desenvolvimento:
Acelere os tempos de compilação otimizando a configuração, removendo etapas e processos desnecessários, paralelizando tarefas, usando cache e habilitando compilações incrementais para evitar compilações redundantes.
Use simulações de produção para otimizar os testes. O mocking de produção permite que os desenvolvedores concentrem os testes em cenários simulados que são difíceis de reproduzir num ambiente de produção.
Otimize as práticas de planejamento de desenvolvimento definindo objetivos e métricas claras, usando ferramentas de monitoramento para acompanhar indicadores-chave de desempenho e priorizando insights acionáveis.
Use ferramentas de assistência de codificação de IA, como o GitHub Copilot, para reduzir o tempo de desenvolvimento quando for prático.
Avalie sua estratégia de desenvolvimento de recursos para garantir que recursos valiosos sejam priorizados. Incorpore o feedback de usuários internos e externos e partes interessadas para identificar os recursos que mais aumentam a satisfação do usuário e geram maior envolvimento. Em alguns cenários, os recursos podem ser projetados especificamente para otimizar custos. Compare esses recursos com prioridades funcionais para avaliar seu valor relativo.
Impulsione otimizações de custos direcionadas usando dados operacionais da produção.
O estágio de nível 4 do modelo de maturidade pressupõe que você tenha implantado na produção e tenha operado sua carga de trabalho por tempo suficiente para coletar informações úteis sobre como ela normalmente é executada. Nesse nível, aplique esses insights de produção ao seu ambiente.
As alterações no ambiente de produção afetam diretamente outros aspetos da carga de trabalho. Por exemplo, os aperfeiçoamentos em termos de redução de custos podem afetar um ou mais dos outros pilares do Well-Architected Quadro. Por esta razão, práticas maduras de gestão da mudança são cruciais. Quando você faz ajustes de economia de custos em sua carga de trabalho, analise e teste cuidadosamente as alterações e desenvolva planos de reversão para reduzir os impactos no desempenho, na segurança e na confiabilidade.
Estratégias-chave
✓ Refinar o modelo de custos com base em aprendizados de produção
Depois de implantar e operar sua carga de trabalho na produção por tempo suficiente para entender seus padrões normais de uso, revisite seu modelo de custo para planejar o futuro. O modelo de custos deve projetar despesas futuras, alocar fundos e ajustar desvios. Na análise de cenários, o modelo de custos avalia o impacto financeiro de diferentes mudanças de negócios e antecipa as implicações de custo do comportamento do cliente. Para otimização de recursos, ele identifica recursos de nuvem subutilizados, prevê custos de dimensionamento e compara os modelos de faturamento dos provedores de nuvem para que você possa escolher a opção mais econômica.
Como parte deste exercício, determine até que ponto seus custos operacionais estão alinhados com o modelo de custos desenvolvido anteriormente e investigue as causas das discrepâncias. Encontrar custos inesperados é comum e atribuir culpa por eles é normalmente improdutivo. Em vez disso, avalie o valor dos componentes que geram custos inesperados. Colabore com as partes interessadas para decidir se deseja ajustar o design da carga de trabalho para um melhor alinhamento com o modelo de custo ou se o modelo de custo deve ser modificado.
Compensação: Tenha em mente que é difícil projetar com precisão os custos variáveis, especialmente quando você adota novas tecnologias. Poderá ter de procurar concessões quando planear o seu orçamento. Certifique-se de que as partes interessadas entendam como você determina suas estimativas de custos variáveis e sua estratégia para manter esses custos sob controle.
Risco: Medidas de redução de custos podem afetar negativamente a confiabilidade, a segurança, o desempenho e a excelência operacional. Analise cuidadosamente o impacto de cada medida de corte de custos planejada e determine se fazer uma mudança vale a pena o impacto potencial.
✓ Otimize o uso dos dados em termos de custos
Use seus insights de produção para refinar suas estratégias de dados. Especificamente, procure oportunidades de otimização para os seguintes fatores:
- Otimize suas soluções de armazenamento com facilidade de gerenciamento em mente. Avalie se as soluções de armazenamento atualmente implantadas se ajustam melhor ao seu caso de uso e se a transição para uma tecnologia diferente poderia reduzir a carga operacional ou os custos de uso. Por exemplo, você pode ter implantado inicialmente o SQL Server em máquinas virtuais para migrar facilmente sua carga de trabalho ou porque era a tecnologia mais familiar para sua equipe de carga de trabalho. A mudança para uma solução de plataforma como serviço (PaaS) pode reduzir significativamente a sobrecarga operacional e os custos, dependendo de vários fatores.
✓ Aumentar a densidade de recursos
Quando possível, otimize os custos consolidando serviços compartilhados entre cargas de trabalho. Por exemplo, você pode hospedar vários aplicativos Web em um único servidor ou instância PaaS. Várias cargas de trabalho podem compartilhar um banco de dados, rede, segurança e outros serviços. Realize uma análise de custo-benefício para determinar se a consolidação de recursos é valiosa o suficiente para o desempenho de sua equipe. Depois de identificar os candidatos para consolidação, planeje cuidadosamente a implementação e siga boas práticas de gestão de mudanças. Assegurar que as partes interessadas compreendem os riscos.
Risco: a consolidação de recursos pode tornar sua carga de trabalho menos confiável e menos segura. Cargas de trabalho de missão crítica e críticas para os negócios devem favorecer a confiabilidade e a segurança em detrimento da consolidação.
Risco: uma consolidação mal executada pode levar a ineficiências futuras. Analise cuidadosamente seu plano de consolidação para garantir que você não esteja criando gargalos que possam afetá-lo no futuro antes de executar a migração. Após a migração, preste atenção extra em seu monitoramento aos recursos consolidados para garantir que eles tenham o desempenho esperado.
✓ Avalie e otimize os recursos do seu aplicativo
Monitore os padrões de uso de recursos na produção para avaliar seu alinhamento com seu modelo de custo. Determine se um recurso deve ser mantido, refatorado ou removido. Em alguns casos, monetizar recursos pode ser uma decisão estratégica de negócios. Os recursos podem não justificar o investimento atual, mas ainda podem fornecer valor aos clientes. Oferecer esses recursos como complementos pagos ou assinaturas pode ajudar a compensar os custos de investimento.
✓ Minimizar os custos de escala, regulando a demanda
Uma estratégia que pode ajudá-lo a otimizar seus custos de dimensionamento de recursos é regular a demanda em vez de adicionar capacidade. Essa abordagem pode incluir descarregar a demanda para outros recursos ou reduzi-la por meio de várias estratégias, como filas de prioridade, buffering, balanceamento de carga e cache. Ao considerar estas táticas, avalie o seu impacto nos outros pilares do Quadro Well-Architected. Controlar a oferta limitando os limites de escala e definindo um orçamento ajuda a manter as despesas dentro dos limites definidos. Rastreie o uso e use plataformas de gerenciamento de custos e alertas de orçamento para ajudar a monitorar e controlar os gastos de forma eficaz.
Compensação: Transferir tarefas para outros recursos pode reduzir os custos de dimensionamento, mas pode introduzir desafios operacionais e de manutenção. Realize uma análise completa de custo-benefício para confirmar se o método de descarregamento escolhido é eficiente e viável. Certifique-se de equilibrar a poupança com as complexidades potenciais.
✓ Impor a responsabilidade de custos através da propriedade
A nomeação de um indivíduo responsável direto pelo custo (DRI) ajuda a equipe de carga de trabalho a assumir a responsabilidade de seus custos de carga de trabalho. A DRI é responsável por gerenciar e otimizar custos, monitorando o uso, implementando estratégias de economia de custos e garantindo que os gastos estejam alinhados com o orçamento e os objetivos de negócios. A DRI toma decisões relacionadas à alocação de recursos em nuvem, identifica áreas de potencial redução de custos e garante o uso eficiente dos serviços em nuvem para evitar despesas desnecessárias.
A DRI também serve como a linha de frente da defesa contra custos de carga de trabalho mais altos do que o esperado. As DRIs podem ajudar a identificar a causa desses altos custos e trabalhar proativamente com a equipe de carga de trabalho para reduzi-los ao intervalo esperado antes que se tornem uma emergência de custo.
Transforme a otimização de custos em uma vantagem competitiva por meio de inovação contínua.
No nível 5 do modelo de maturidade, você deve ter muitos mecanismos e processos de otimização de custos já em vigor. A Level 5 concentra-se na maximização do retorno sobre o investimento (ROI), mantendo um orçamento de carga de trabalho consistente e previsível, produzindo previsões altamente precisas e aplicando refinamentos avançados. Considere as seguintes recomendações para alcançar esses objetivos.
Estratégias-chave
✓ Aplique guardrails de gastos em seus processos de desenvolvimento de software
Use portões de liberação para servir como guarda-corpos, estabelecendo critérios relacionados a custos que devem ser atendidos para passar o portão. Por exemplo, você pode definir limites de gastos para garantir que os lançamentos não acrescentem custos inesperados ao seu orçamento de trabalho. Incorpore esses gates em seu pipeline de integração contínua e entrega contínua para garantir que eles sejam incluídos em cada implantação.
✓ Investir na construção de conhecimento
Capacite sua equipe de carga de trabalho para se apropriar das iniciativas de otimização de custos desenvolvendo um programa de treinamento de habilidades. Incentive os membros da equipe a aprender com os líderes de pensamento do setor participando de conferências, webinars e outros eventos relevantes. Forneça treinamento interno para apoiar a qualificação cruzada e criar ambientes de sandbox para experiências práticas de aprendizagem. Alinhe o treinamento com iniciativas de otimização de custos, como a otimização de estratégias de escala. Equipes altamente qualificadas melhoram a eficiência e podem reduzir a dependência de terceiros para projetos futuros.
Certifique-se de que seu modelo de custo inclua treinamentos planejados para um período fiscal específico, como o próximo trimestre.
✓ Otimizar custos de alta disponibilidade e recuperação de desastres
Depois de executar exercícios de recuperação de desastres (DR) do mundo real ou experimentar incidentes de DR do mundo real, você pode encontrar oportunidades de otimização de custos. Você pode descobrir que uma estratégia de DR menos dispendiosa é suficiente para determinados componentes e, ao mesmo tempo, atingir suas metas de recuperação. Por exemplo, você pode não precisar de um design hot spare para fluxos não críticos. Nesse cenário, considere implementar uma abordagem de implantação após a recuperação.
Como parte de suas práticas de melhoria contínua, reveja regularmente suas metas de recuperação para garantir que elas sejam apropriadas para os requisitos de confiabilidade e custo.
✓ Refinar o design da carga de trabalho
Depois de observar a sua carga de trabalho em produção por um longo período, pode determinar que está no limite de otimizações pertinentes sem ter de refatorar partes da mesma. A refatoração pode ser trabalhosa e dispendiosa. No entanto, a refatoração pode ser um investimento que vale a pena se resultar em economias de custos a longo prazo. Também pode estender o ciclo de vida da carga de trabalho adotando tecnologias e práticas de gerenciamento mais eficientes. Considere as seguintes estratégias:
Combine fluxos semelhantes. Reduza redundâncias ou uso de recursos subutilizados consolidando fluxos semelhantes em um recurso compartilhado ou conjunto de recursos. Por exemplo, você pode hospedar vários aplicativos Web em uma única instância de computação ou hospedar vários bancos de dados em um único servidor lógico.
Separe fluxos diferentes. A atribuição de tarefas com diferentes necessidades computacionais a recursos dedicados melhora a eficiência e reduz os custos. Essa abordagem melhora a escalabilidade, a tolerância a falhas e a adaptabilidade, minimizando a interferência e otimizando a alocação de recursos de acordo com a prioridade de cada tarefa.
Rearquitete a carga de trabalho para ganhar eficiência. Analise toda a arquitetura da carga de trabalho para procurar oportunidades para melhorar a eficiência. Favoreça um projeto e exploração de microsserviços usando serviços gerenciados ou sem servidor que aliviam a carga operacional e podem ser facilmente dimensionados corretamente por meio do dimensionamento automático. Um objetivo final para sua arquitetura pode ser implantar automaticamente ambientes que não sejam de produção somente quando necessário para atividades de implantação. Esses ambientes podem ser destruídos posteriormente para minimizar os custos de uso desnecessários.
Monitore e ajuste continuamente o tamanho dos recursos com base nos padrões de uso para otimizar os custos.
✓ Evolua as operações da sua equipa
Pesquise e adote metodologias de desenvolvimento eficientes como Scrum, Kanban e waterfall. Reavalie a eficiência da sua equipa regularmente para determinar se a metodologia escolhida é a mais adequada. Determine os custos das tarefas para cada funcionário, conhecidos como custos unitários, e procure oportunidades para reduzir esses custos. Analise as tarefas mais caras e avalie seu ROI.
Avalie se tarefas específicas podem ser transferidas para outras equipes. Por exemplo, uma equipe de nuvem centralizada pode gerenciar tarefas operacionais para outras unidades de negócios ou cargas de trabalho, enquanto uma equipe de segurança centralizada pode lidar com monitoramento e testes. Ao descarregar tarefas, planeje a transferência cuidadosamente, garanta uma comunicação clara entre todas as equipes envolvidas e siga os processos de gerenciamento de mudanças estabelecidos.