Este princípio no pilar de otimização de custos da Google Cloud estrutura bem arquitetada fornece recomendações para ajudar a planear e aprovisionar recursos de modo a corresponder aos requisitos e aos padrões de consumo das suas cargas de trabalho na nuvem.
Vista geral do princípio
Para otimizar o custo dos seus recursos na nuvem, tem de compreender detalhadamente os requisitos de recursos e os padrões de carga das suas cargas de trabalho. Esta compreensão é a base de um modelo de custos bem definido que lhe permite prever o custo total de propriedade (TCO) e identificar os fatores de custo ao longo do seu percurso de adoção da nuvem. Ao analisar e prever proativamente os gastos na nuvem, pode tomar decisões informadas sobre o aprovisionamento, a utilização e a otimização de custos dos recursos. Esta abordagem permite-lhe controlar os gastos na nuvem, evitar o aprovisionamento excessivo e garantir que os recursos da nuvem estão alinhados com as necessidades dinâmicas das suas cargas de trabalho e ambientes.
Recomendações
Para otimizar eficazmente a utilização de recursos na nuvem, considere as seguintes recomendações.
Escolha recursos específicos do ambiente
Cada ambiente de implementação tem requisitos diferentes de disponibilidade, fiabilidade e escalabilidade. Por exemplo, os programadores podem preferir um ambiente que lhes permita implementar e executar rapidamente aplicações durante períodos curtos, mas podem não precisar de alta disponibilidade. Por outro lado, um ambiente de produção precisa normalmente de alta disponibilidade. Para maximizar a utilização dos seus recursos, defina requisitos específicos do ambiente com base nas necessidades da sua empresa. A tabela seguinte apresenta exemplos de requisitos específicos do ambiente.
Ambiente | Requisitos |
Produção |
|
Desenvolvimento e testes |
|
Outros ambientes (como ambientes de preparação e controlo de qualidade) |
|
Escolha recursos específicos da carga de trabalho
Cada uma das suas cargas de trabalho na nuvem pode ter requisitos diferentes de disponibilidade, escalabilidade, segurança e desempenho. Para otimizar os custos, tem de alinhar as escolhas de recursos com os requisitos específicos de cada carga de trabalho. Por exemplo, uma aplicação sem estado pode não exigir o mesmo nível de disponibilidade ou fiabilidade que um back-end com estado. A tabela seguinte apresenta mais exemplos de requisitos específicos da carga de trabalho.
Tipo de carga de trabalho | Requisitos de carga de trabalho | Opções de recursos |
De serviço crítico | Disponibilidade contínua, segurança robusta e elevado desempenho | Recursos premium e serviços geridos, como o Spanner para alta disponibilidade e consistência global dos dados. |
Não crítico | Infraestrutura rentável e com escalabilidade automática | Recursos com funcionalidades básicas e recursos efémeros, como as VMs do Spot. |
Orientada por eventos | Dimensionamento dinâmico com base na procura atual de capacidade e desempenho | Serviços sem servidor, como o Cloud Run e as funções do Cloud Run. |
Cargas de trabalho experimentais | Ambiente flexível e de baixo custo para desenvolvimento, iteração, testes e inovação rápidos | Recursos com funcionalidades básicas, recursos efémeros, como VMs Spot, e ambientes de sandbox com limites de gastos definidos. |
Uma vantagem da nuvem é a oportunidade de tirar partido da capacidade de computação mais adequada para uma determinada carga de trabalho. Algumas cargas de trabalho são desenvolvidas para tirar partido dos conjuntos de instruções do processador, e outras podem não ser concebidas desta forma. Teste o desempenho e crie perfis das suas cargas de trabalho em conformidade. Categorize as suas cargas de trabalho e faça escolhas de recursos específicos da carga de trabalho (por exemplo, escolha famílias de máquinas adequadas para VMs do Compute Engine). Esta prática ajuda a otimizar os custos, permitir a inovação e manter o nível de disponibilidade e desempenho de que as suas cargas de trabalho precisam.
Seguem-se exemplos de como pode implementar esta recomendação:
- Para cargas de trabalho críticas que atendem utilizadores distribuídos globalmente, considere usar o Spanner. O Spanner elimina a necessidade de implementações de bases de dados complexas, garantindo a fiabilidade e a consistência dos dados em todas as regiões.
- Para cargas de trabalho com níveis de carga flutuantes, use o dimensionamento automático para garantir que não incorre em custos quando a carga é baixa e, ainda assim, mantém capacidade suficiente para satisfazer a carga atual. Pode configurar a escala automática para muitosGoogle Cloud serviços, incluindo VMs do Compute Engine, clusters do Google Kubernetes Engine (GKE) e Cloud Run. Quando configura o ajuste de escala automático, pode configurar limites de ajuste de escala máximos para garantir que os custos permanecem dentro dos orçamentos especificados.
Selecione as regiões com base nos requisitos de custo
Para as suas cargas de trabalho na nuvem, avalie cuidadosamente as regiões disponíveis e escolha regiões que se alinhem com os seus objetivos de custos. Google CloudA região com o custo mais baixo pode não oferecer uma latência ideal ou pode não cumprir os seus requisitos de sustentabilidade. Tome decisões informadas sobre onde implementar as suas cargas de trabalho para alcançar o equilíbrio desejado. Pode usar o Google Cloud seletor de regiões para compreender as vantagens e as desvantagens entre o custo, a sustentabilidade, a latência e outros fatores.
Use opções de otimização de custos incorporadas
OsGoogle Cloud produtos oferecem funcionalidades incorporadas para ajudar a otimizar a utilização de recursos e controlar os custos. A tabela seguinte apresenta exemplos de funcionalidades de otimização de custos que pode usar em alguns Google Cloud produtos:
Produto | Funcionalidade de otimização de custos |
Compute Engine |
|
GKE |
|
Cloud Storage |
|
BigQuery |
|
Google Cloud VMware Engine |
|
Otimize a partilha de recursos
Para maximizar a utilização dos recursos na nuvem, pode implementar várias aplicações ou serviços na mesma infraestrutura, ao mesmo tempo que cumpre os requisitos de segurança e outros requisitos das aplicações. Por exemplo, nos ambientes de desenvolvimento e teste, pode usar a mesma infraestrutura na nuvem para testar todos os componentes de uma aplicação. Para o ambiente de produção, pode implementar cada componente num conjunto separado de recursos para limitar o grau de impacto em caso de incidentes.
Seguem-se exemplos de como pode implementar esta recomendação:
- Use uma única instância do Cloud SQL para vários ambientes de não produção.
- Permita que várias equipas de desenvolvimento partilhem um cluster do GKE através da funcionalidade de gestão de equipas da frota no GKE Enterprise com controlos de acesso adequados.
- Use o GKE Autopilot para tirar partido das técnicas de otimização de custos, como o bin packing e a escala automática, que o GKE implementa por predefinição.
- Para cargas de trabalho de IA e ML, poupe custos de GPU usando estratégias de partilha de GPU, como GPUs multi-instância, GPUs de partilha de tempo e NVIDIA MPS.
Desenvolva e mantenha arquiteturas de referência
Crie e mantenha um repositório de arquiteturas de referência adaptadas para cumprir os requisitos de diferentes ambientes de implementação e tipos de cargas de trabalho. Para simplificar o processo de conceção e implementação de projetos individuais, os planos podem ser geridos centralmente por uma equipa, como um centro de excelência do Google Cloud (CCoE). As equipas de projeto podem escolher planos adequados com base em critérios claramente definidos para garantir a consistência arquitetónica e a adoção de práticas recomendadas. Para requisitos que sejam exclusivos de um projeto, a equipa do projeto e a equipa de arquitetura central devem colaborar para criar novas arquiteturas de referência. Pode partilhar as arquiteturas de referência na organização para promover a partilha de conhecimentos e expandir o repositório de soluções disponíveis. Esta abordagem garante a consistência, acelera o desenvolvimento, simplifica a tomada de decisões e promove a utilização eficiente dos recursos.
Reveja as arquiteturas de referência fornecidas pela Google para vários exemplos de utilização e tecnologias. Estas arquiteturas de referência incorporam práticas recomendadas para a seleção, o dimensionamento, a configuração e a implementação de recursos. Ao usar estas arquiteturas de referência, pode acelerar o processo de desenvolvimento e alcançar poupanças de custos desde o início.
Aplique disciplina de custos através de políticas da organização
Considere usar políticas da organização para limitar as Google Cloud localizações e os produtos disponíveis que os membros da equipa podem usar. Estas políticas ajudam a garantir que as equipas cumprem soluções económicas e aprovisionam recursos em localizações alinhadas com os seus objetivos de otimização de custos.
Estime orçamentos realistas e defina limites financeiros
Desenvolver orçamentos detalhados para cada projeto, carga de trabalho e ambiente de implementação. Certifique-se de que os orçamentos abrangem todos os aspetos das operações na nuvem, incluindo custos de infraestrutura, licenças de software, pessoal e crescimento previsto. Para evitar gastos excessivos e garantir o alinhamento com os seus objetivos financeiros, estabeleça limites de gastos ou limites mínimos claros para projetos, serviços ou recursos específicos. Monitorize regularmente os gastos na nuvem em relação a estes limites. Pode usar alertas de quota proativos para identificar potenciais ultrapassagens de custos antecipadamente e tomar medidas corretivas atempadas.
Além de definir orçamentos, pode usar quotas e limites para ajudar a aplicar a disciplina de custos e evitar picos inesperados nos gastos. Pode exercer um controlo detalhado sobre o consumo de recursos definindo quotas a vários níveis, incluindo projetos, serviços e até tipos de recursos específicos.
Seguem-se exemplos de como pode implementar esta recomendação:
- Quotas ao nível do projeto: defina limites de gastos ou quotas de recursos ao nível do projeto para estabelecer limites financeiros gerais e controlar o consumo de recursos em todos os serviços no projeto.
- Quotas específicas do serviço: configure quotas para serviços específicos, como o Compute Engine ou o BigQuery, para limitar o número de instâncias, CPUs ou capacidade de armazenamento que podem ser aprovisionados. Google Cloud
- Quotas específicas do tipo de recurso: aplique quotas a tipos de recursos individuais, como VMs do Compute Engine, contentores do Cloud Storage, instâncias do Cloud Run ou nós do GKE, para restringir a respetiva utilização e evitar excedentes de custos inesperados.
- Alertas de quota: receba notificações quando a sua utilização da quota (ao nível do projeto) atingir uma percentagem do valor máximo.
Ao usar quotas e limites em conjunto com a orçamentação e a monitorização, pode criar uma abordagem proativa e de várias camadas ao controlo de custos. Esta abordagem ajuda a garantir que os seus gastos na nuvem permanecem dentro dos limites definidos e estão alinhados com os objetivos da sua empresa. Lembre-se de que estes controlos de custos não são permanentes nem rígidos. Para garantir que os controlos de custos permanecem alinhados com as normas atuais da indústria e refletem as necessidades da sua empresa em evolução, tem de rever os controlos regularmente e ajustá-los para incluir novas tecnologias e práticas recomendadas.