Este documento na Google Cloud perspectiva de serviços financeiros (FS, na sigla em inglês) do Well-Architected Framework oferece uma visão geral dos princípios e recomendações para otimizar o custo das cargas de trabalho de FS no Google Cloud. As recomendações neste documento estão alinhadas ao pilar de otimização de custos do Well-Architected Framework.
A otimização de custos robusta para cargas de trabalho de serviços financeiros exige os seguintes elementos fundamentais:
- A capacidade de identificar a utilização de recursos desperdiçados em comparação com a que gera valor.
- Uma cultura incorporada de responsabilidade financeira.
Para otimizar o custo, é necessário entender os geradores de custos e as necessidades de recursos em toda a organização. Em algumas grandes organizações, especialmente aquelas que estão no início da jornada na nuvem, uma única equipe geralmente é responsável por otimizar os gastos em um grande número de domínios. Essa abordagem considera que uma equipe central é a mais adequada para identificar oportunidades de alto valor para melhorar a eficiência.
A abordagem centralizada pode gerar algum sucesso durante os estágios iniciais da adoção da nuvem ou para cargas de trabalho não críticas. No entanto, uma única equipe não pode impulsionar a otimização de custos em toda a organização. Quando o uso de recursos ou o nível de análise regulatória aumenta, a abordagem centralizada não é sustentável. As equipes centralizadas enfrentam desafios de escalonabilidade, principalmente ao lidar com um grande número de produtos e serviços financeiros. As equipes de projeto que possuem os produtos e serviços podem resistir a mudanças feitas por uma equipe externa.
Para uma otimização de custos eficaz, os dados relacionados a gastos precisam ser altamente visíveis, e os engenheiros e outros usuários da nuvem que estão próximos das cargas de trabalho precisam ser motivados a agir para otimizar o custo. Do ponto de vista organizacional, o desafio da otimização de custos é identificar quais áreas precisam ser otimizadas, identificar os engenheiros responsáveis por essas áreas e, em seguida, convencê-los a realizar a ação de otimização necessária. Este documento fornece recomendações para resolver esse desafio.
As recomendações de otimização de custos neste documento são mapeadas para os seguintes princípios básicos:
- Identificar desperdícios usando Google Cloud ferramentas
- Identificar valor analisando e enriquecendo dados de gastos
- Alocar gastos para gerar responsabilidade
- Gerar responsabilidade e motivar os engenheiros a agir
- Concentrar-se no valor e no TCO em vez do custo
Identificar desperdícios usando Google Cloud ferramentas
Google Cloud O oferece vários produtos, ferramentas e recursos para ajudar a identificar desperdícios. Considere as seguintes recomendações.
Usar automação e IA para identificar sistematicamente o que otimizar
O Active Assist oferece recomendações inteligentes em serviços como o Cloud Run para microsserviços, BigQuery para análise de dados, o Compute Engine para aplicativos principais e o Cloud SQL para bancos de dados relacionais. As recomendações do Active Assist são fornecidas sem custo financeiro e sem nenhuma configuração. As recomendações ajudam a identificar recursos inativos e compromissos subutilizados.
Centralizar o monitoramento e o controle de FinOps em uma interface unificada
Os relatórios do Cloud Billing e o hub de FinOps permitem implementar um monitoramento de custos abrangente. Essa visão abrangente é essencial para que os auditores financeiros e as equipes financeiras internas acompanhem os gastos com a nuvem, avaliem a postura financeira, avaliem a maturidade do FinOps em várias unidades de negócios ou centros de custo e forneçam uma narrativa financeira consistente.
Identificar valor analisando e enriquecendo dados de gastos
O Active Assist é eficaz na identificação de desperdícios óbvios. No entanto, identificar o valor pode ser mais desafiador, principalmente quando as cargas de trabalho estão em produtos inadequados ou quando não têm um alinhamento claro com o valor comercial. Para cargas de trabalho de FS, o valor comercial vai além da redução de custos. O valor inclui mitigação de riscos, conformidade regulatória e vantagens competitivas.
Para entender os gastos e o valor da nuvem de forma holística, é necessário ter uma compreensão completa em vários níveis: de onde vêm os gastos, qual função de negócios eles estão impulsionando e a viabilidade técnica de refatorar ou otimizar a carga de trabalho em questão.
O diagrama a seguir mostra como aplicar a pirâmide de dados-informações-conhecimento-sabedoria (DIKW, na sigla em inglês) e Google Cloud ferramentas para ter uma compreensão holística dos custos e do valor da nuvem.
O diagrama anterior mostra como usar a abordagem DIKW para refinar dados brutos de gastos na nuvem em insights e decisões acionáveis que geram valor comercial.
- Dados: nessa camada, você coleta fluxos brutos e não processados de dados de uso
e custo dos recursos de nuvem. Sua equipe central de FinOps usa ferramentas como faturas do Cloud Billing, exportações de faturamento e o Cloud Monitoring para receber dados detalhados e granulares. Por exemplo, um ponto de dados pode ser que uma VM chamada
app1-test-vmAfoi executada por 730 horas na regiãous-central1e custou US$ 70. - Informações: nessa camada, sua equipe central de FinOps usa ferramentas como relatórios do Cloud Billing e o Hub do FinOps para estruturar os dados brutos e ajudar a responder a perguntas como "Em quais categorias de recursos as pessoas estão gastando dinheiro?" Por exemplo, você pode descobrir que um total de US$ 1.050 foi gasto em VMs do tipo de máquina n4-standard-2 em duas regiões nos EUA.
- Conhecimento: nessa camada, sua equipe central de FinOps enriquece
as informações com o contexto comercial apropriado sobre quem gastou dinheiro e
para qual finalidade. Você usa mecanismos como tags, rótulos, hierarquia de recursos, contas de faturamento e painéis personalizados do Looker. Por exemplo, você pode determinar que a equipe de testes
app1nos EUA gastou US$ 650 durante a segunda semana de julho como parte de um exercício de teste de estresse. - Sabedoria: nessa camada, suas equipes de produtos e aplicativos usam o
conhecimento contextualizado para avaliar o valor comercial dos gastos na nuvem e
tomar decisões estratégicas e informadas. Suas equipes podem responder a perguntas como as seguintes:
- Os US$ 5.000 gastos em um pipeline de análise de dados estão gerando valor comercial?
- Podemos reestruturar o pipeline para ser mais eficiente sem reduzir a performance?
Considere as seguintes recomendações para analisar dados de gastos na nuvem.
Analisar dados de gastos fornecidos pelo Google Cloud
Comece com dados detalhados do Cloud Billing que são exportados para o BigQuery e dados que estão disponíveis nos registros do Monitoring. Para gerar insights acionáveis e tomar decisões, é necessário estruturar esses dados e enriquecê-los com o contexto comercial.
Visualizar dados usando as ferramentas disponíveis
Aumente os painéis integrados Google Cloud com relatórios personalizados usando ferramentas como o Data Studio sobre as exportações do BigQuery. As equipes financeiras podem criar painéis personalizados que contextualizam os gastos na nuvem em relação a métricas financeiras, requisitos de relatórios regulatórios e lucratividade da unidade de negócios. Em seguida, elas podem fornecer uma narrativa financeira clara para análise e tomada de decisões por stakeholders executivos.
Alocar gastos para gerar responsabilidade
Depois de entender o que está impulsionando os gastos na nuvem, é necessário identificar quem está gastando dinheiro e por quê. Esse nível de compreensão exige uma prática robusta de alocação de custos, que envolve a anexação de metadados relevantes para os negócios aos recursos de nuvem. Por exemplo, se um recurso específico for usado pela equipe de desenvolvimento de aplicativos bancários, você poderá anexar uma tag como team=banking_appdev ao recurso para acompanhar o custo que a equipe incorre nesse recurso. O ideal é alocar 100% dos custos da nuvem para a origem dos gastos. Na prática, você pode começar com uma meta mais baixa, porque a criação de uma estrutura de metadados para oferecer suporte à alocação de custos de 100% é um esforço complexo.
Considere as seguintes recomendações para desenvolver uma estratégia de metadados que ofereça suporte à alocação de custos:
- Validade: verifique se as tags ajudam a identificar indicadores de performance principais (KPIs) relacionados aos negócios e requisitos regulatórios. Essa associação é fundamental para estornos internos, relatórios regulamentares e alinhamento dos gastos na nuvem com as metas da unidade de negócios. Por exemplo, as tags a seguir identificam claramente uma equipe de gastos, a região e o produto em que ela trabalha:
team=banking_appdev,region=emea,product=frontend. - Automação: para alcançar um alto nível de conformidade de tags, aplique a marcação por automação. A codificação manual é propensa a erros e inconsistências, o que é inaceitável em ambientes de FS em que a capacidade de auditoria e a precisão financeira são fundamentais. A marcação automatizada garante que os recursos sejam categorizados corretamente quando são criados.
- Simplicidade: meça fatores simples e não correlacionados. Os ambientes de FS são complexos. Para garantir que as regras de alocação de custos em um ambiente desse tipo sejam fáceis de entender e aplicar, elas precisam ser o mais simples possível. Evite regras de engenharia excessivas para casos altamente específicos (de borda). Regras complexas podem levar à confusão e resistência das equipes operacionais.
Depois de definir uma estratégia de alocação usando tags, é necessário decidir o nível de granularidade em que a estratégia será implementada. A granularidade necessária depende das necessidades da sua empresa. Por exemplo, algumas organizações podem precisar acompanhar o custo no nível do produto, outras podem precisar de dados de custo para cada centro de custo e outras podem precisar de dados de custo por ambiente (desenvolvimento, preparo e produção).
Considere as seguintes abordagens para alcançar o nível adequado de granularidade de alocação de custos para sua organização:
- Use a hierarquia de projetos no como um ponto de partida natural para a alocação de custos. Google Cloud Os projetos representam pontos de aplicação de políticas no Google Cloud. Por padrão, as permissões do IAM, as políticas de segurança e o custo são atribuídos a projetos e pastas. Ao analisar os dados de custo exportados do Cloud Billing, é possível visualizar a hierarquia de pastas e os projetos associados aos dados de custo. Se a hierarquia de Google Cloud recursos refletir a estrutura de responsabilidade da sua organização para gastos, essa será a maneira mais simples de implementar a alocação de custos.
- Use tags e rótulos para mais granularidade. Eles oferecem maneiras flexíveis de categorizar recursos em exportações de faturamento. Tags e rótulos facilitam detalhamentos de custos por aplicativo e ambiente.
Muitas vezes, é necessário usar a hierarquia de projetos combinada com tags e rótulos para uma alocação de custos eficaz. Independente da abordagem de alocação de custos escolhida, siga as recomendações descritas anteriormente para desenvolver uma estratégia de metadados robusta: validação, automação e simplicidade.
Gerar responsabilidade e motivar os engenheiros a agir
A equipe de FinOps na nuvem é responsável por levar uma organização a ter consciência dos custos e do valor. As equipes de produtos e de engenharia individuais precisam realizar as ações necessárias para otimizar os custos. Essas equipes também são responsáveis pelo comportamento de custo das cargas de trabalho de serviços financeiros e por garantir que as cargas de trabalho ofereçam o valor comercial necessário.
Considere as seguintes recomendações para gerar responsabilidade e motivar as equipes a otimizar os custos.
Estabelecer uma equipe centralizada de FinOps para governança
As práticas de FinOps na nuvem não crescem organicamente. Uma equipe dedicada de FinOps precisa definir e estabelecer práticas de FinOps fazendo o seguinte:
- Criar os processos, ferramentas e orientações necessários.
- Criar, comunicar e aplicar as políticas necessárias, como marcação obrigatória, revisões de orçamento e processos de otimização.
- Incentivar as equipes de engenharia a serem responsáveis pelo custo.
- Intervir quando as equipes de engenharia não assumem a responsabilidade pelos custos.
Receber patrocínio e mandatos executivos
A liderança sênior, incluindo o CTO, o CFO e o CIO, precisa defender ativamente uma mudança em toda a organização para uma cultura de FinOps. O apoio deles é fundamental para priorizar a responsabilidade de custos, alocar recursos para o programa de FinOps, garantir a participação multifuncional e impulsionar a conformidade com os requisitos de FinOps.
Incentivar as equipes a otimizar os custos
Os engenheiros e as equipes de engenharia podem não ter motivação própria para se concentrar na otimização de custos. É importante alinhar as metas da equipe e individuais à eficiência de custos implementando incentivos como os seguintes:
- Reinvestir uma parte da economia da otimização de custos nas equipes que alcançaram a otimização.
- Reconhecer e comemorar publicamente os esforços e sucessos de otimização de custos.
- Usar técnicas de gamificação para recompensar as equipes que otimizam os custos de maneira eficaz.
- Integrar métricas de eficiência às metas de performance.
Implementar técnicas de showback e estorno
Garanta que as equipes tenham visibilidade clara dos recursos e custos da nuvem que possuem. Atribua responsabilidade financeira às pessoas adequadas nas equipes. Use mecanismos formais para aplicar a marcação rigorosa e implementar regras transparentes para alocar custos compartilhados.
Concentrar-se no valor e no TCO em vez do custo
Ao avaliar soluções de nuvem, considere o custo total de propriedade (TCO) de longo prazo. Por exemplo, a auto-hospedagem de um banco de dados para um aplicativo pode parecer mais barata do que usar um serviço de banco de dados gerenciado, como o Cloud SQL. No entanto, para avaliar o valor de longo prazo e o TCO, é necessário considerar os custos ocultos associados a bancos de dados auto-hospedados. Esses custos incluem o esforço de engenharia dedicado para aplicação de patches, escalonamento, reforço da proteção de segurança e recuperação de desastres, que são requisitos críticos para cargas de trabalho de FS. Os serviços gerenciados oferecem um valor de longo prazo significativamente maior, o que compensa os custos de infraestrutura. Os serviços gerenciados oferecem recursos de conformidade robustos, têm recursos de confiabilidade integrados e podem ajudar a reduzir a sobrecarga operacional.
Considere as seguintes recomendações para se concentrar no valor e no TCO.
Usar técnicas e ferramentas específicas do produto para otimização de recursos
Aproveite as ferramentas e os recursos de otimização de custos fornecidos por Google Cloud produtos, como os seguintes:
- Compute Engine: escalonamento automático, tipos de máquina personalizados, e VMs spot
- GKE: escalonador automático de clusters e provisionamento automático de nós
- Cloud Storage: Gerenciamento do ciclo de vida de objetos e Autoclass
- BigQuery: Preços baseados em capacidade e técnicas de otimização de custos
- Google Cloud VMware Engine: descontos por uso contínuo (CUDs), armazenamento otimizado e outras estratégias de otimização de custos
Aproveitar os descontos
Garanta que a taxa de faturamento dos recursos de nuvem seja a mais baixa possível usando os descontos oferecidos pelo Google. As equipes de produtos e de engenharia individuais geralmente gerenciam a otimização de recursos. A equipe central de FinOps é responsável por otimizar as taxas de faturamento porque tem visibilidade dos requisitos de recursos em toda a organização. Portanto, ela pode agregar os requisitos e maximizar os descontos baseados em compromisso.
É possível aproveitar os seguintes tipos de descontos para Google Cloud recursos:
- Os descontos empresariais são descontos negociados com base no compromisso da sua organização com um gasto total mínimo no Google Cloud em uma taxa de faturamento reduzida.
- Os CUDs baseados em recursos são oferecidos em troca de um compromisso de usar uma quantidade mínima de recursos do Compute Engine por um período de um ou três anos. Os CUDs baseados em recursos são aplicáveis aos recursos que estão em um projeto e região específicos. Para compartilhar CUDs em vários projetos, você pode ativar CUD CUDs.
- Os CUDs baseados em gastos são oferecidos em troca de um compromisso de gastar um valor mínimo de dinheiro em um produto específico por um período de um ou três anos. Os descontos baseados em gastos são aplicáveis no nível da conta de faturamento. Os descontos são aplicados regional ou globalmente, dependendo do produto.
É possível conseguir economias significativas usando CUDs além dos descontos empresariais.
Além dos CUDs, use as seguintes abordagens para reduzir as taxas de faturamento:
- Use VMs spot para cargas de trabalho tolerantes a falhas e flexíveis. As VMs spot são mais de 80% mais baratas do que as VMs comuns.
- O BigQuery oferece vários modelos de preços, que incluem preços sob demanda e preços baseados em edição com base em compromissos e requisitos de escalonamento automático. Se você usa um volume significativo de recursos do BigQuery, escolha uma edição adequada para reduzir o custo por slot para cargas de trabalho de análise.
- Avalie cuidadosamente asregiões disponíveis para os serviços que você precisa usar. Google Cloud Escolha regiões que estejam alinhadas aos seus objetivos de custo e fatores como latência e requisitos de conformidade. Para entender as compensações entre custo, sustentabilidade e latência, use o Google Cloud Seletor de região.