Whitepaper 'FinOps e gerenciamento de custos para Kubernetes'
Por favor, considere dar ao OptScale um Estrela no GitHub, é código aberto 100%. Aumentaria sua visibilidade para outros e aceleraria o desenvolvimento de produtos. Obrigado!
Ebook 'De FinOps a estratégias comprovadas de gerenciamento e otimização de custos de nuvem'
OptScale FinOps
OptScale — FinOps
Visão geral do FinOps
Otimização de custos:
AWS
Microsoft Azure
Google Cloud
Nuvem Alibaba
Kubernetes
MLOps
OptScale — MLOps
Perfil de ML/IA
Otimização de ML/IA
Criação de perfil de Big Data
PREÇOS OPTSCALE
cloud migration
Acura – migração para nuvem
Visão geral
Nova plataforma de banco de dados
Migração para:
AWS
Microsoft Azure
Google Cloud
Nuvem Alibaba
VMware
Pilha aberta
KVM
Nuvem pública
Migração de:
Na premissa
disaster recovery
Acura – DR e backup na nuvem
Visão geral
Migração para:
AWS
Microsoft Azure
Google Cloud
Nuvem Alibaba
VMware
Pilha aberta
KVM

Por que as empresas precisam rastrear e analisar os custos do Kubernetes

Existem duas abordagens principais para virtualização: máquinas virtuais (VMs) e contêineres virtuais, cada um com vantagens e desvantagens. No primeiro caso, cada máquina usa seu SO convidado, o que permite a criação de ambientes de computação heterogêneos em um servidor físico. Os contêineres virtuais, em vez de um SO, têm apenas um ambiente de usuário, tornando possível criar ambientes de computação homogêneos.

No entanto, como as máquinas virtuais incluem um sistema operacional, elas podem ser tão grandes quanto vários gigabytes, limitando substancialmente sua utilidade no mundo ágil de hoje. Outra desvantagem das máquinas virtuais é que carregar o SO e seus aplicativos leva muito mais tempo. 

Os contêineres são mais leves e geralmente medidos em megabytes. Além disso, eles são mais fáceis de escalar e implementar aplicativos. Isso cria um ecossistema de infraestrutura inteiramente novo com novos desafios e complexidades. Empresas de TI, tanto grandes corporações quanto startups, implementam milhares de instâncias de contêiner diariamente e, portanto, devem, de alguma forma, gerenciar essa quantidade esmagadora.

O Kubernetes, uma plataforma de orquestração de contêineres para implantar, dimensionar e gerenciar aplicativos em contêineres, foi projetado para resolver esse problema. Com o tempo, o K8s se tornou essencialmente a plataforma padrão da indústria e o projeto principal da Cloud Native Computing Foundation, com suporte de líderes de mercado: Google, Amazon, Microsoft, IBM, Alibaba Cloud e muitos outros.

O Kubernetes ganhou popularidade devido a várias vantagens, entre as quais as seguintes são particularmente notáveis: é escalável, econômico e independente de nuvem. No entanto, ferramentas conteinerizadas têm certas desvantagens, incluindo a complexidade de rastrear custos de nuvem e gerenciar finanças. Neste artigo, descreveremos como abordar esse problema e por que é essencial não ignorá-lo.

Why companies need to track Kubernetes costs

Por que é difícil analisar os custos do Kubernetes

Antes da adoção generalizada da tecnologia de conteinerização, a alocação de recursos de nuvem e a otimização do uso da nuvem eram muito mais fáceis. Tudo o que era necessário neste caso era a atribuição de recursos específicos a um projeto ou departamento específico. Não será difícil para uma equipe FinOps – se eles fizerem parte da sua equipe de TI – elaborar uma análise de custos da nuvem e montar uma estratégia de otimização de custos da nuvem. Se você quiser saber mais sobre o papel do FinOps e os benefícios potenciais que ele pode fornecer às empresas, por favor consulte este artigo.

Infelizmente, essa abordagem é inaplicável a ferramentas de conteinerização em geral e ao Kubernetes em particular. Por que o custo do Kubernetes é tão desafiador de definir e analisar?

A dificuldade de rastrear os custos do Kubernetes decorre de sua arquitetura. Em seu núcleo, há um cluster que consiste em inúmeras máquinas virtuais (ou físicas) — nós. Nesses nós, contêineres contendo vários aplicativos são implantados e iniciados.

Digamos que vários departamentos em sua empresa estejam trabalhando em vários aplicativos que rodam dentro de contêineres e, como acontece, compartilham clusters Kubernetes comuns. Como cada aplicativo é iniciado em vários contêineres simultaneamente, é quase impossível determinar qual usa qual parte dos recursos de quais clusters. Embora calcular o custo de um contêiner seja possível e não muito complicado, ele ainda requer infraestrutura e tempo, e a complexidade cresce em proporção ao número de contêineres usados.

Até agora, consideramos a situação dentro do quadro de uma nuvem. Mas e se sua empresa, como a maioria das organizações de TI modernas hoje, usa a multicloud (leia sobre os benefícios e as melhores práticas de uma abordagem multicloud em nosso artigo) Nesse caso, o monitoramento de custos aumentará muitas vezes — cada uma das nuvens dentro dessa multinuvem pode ter um provedor de serviços diferente, assumindo apenas uma parte da carga de trabalho total, porque o Kubernetes pode trabalhar com AWS, Microsoft Azure, Google Cloud Platform, Alibaba Cloud e muitos outros.

Além disso, a intensidade de recursos de seus aplicativos pode mudar ao longo do tempo, impondo dificuldades adicionais no cálculo de custos. Portanto, o fácil de usar Ferramentas VPA (Vertical Pod Autoscaler) e HPA (Horizontal Pod Autoscaler), que, respectivamente, ajustam automaticamente o limite do número de solicitações para um único contêiner e o número de contêineres usados, tornam-se variáveis adicionais difíceis de fatorar ao tentar rastrear e gerenciar os custos atuais do Kubernetes e, é claro, prever custos futuros .

Outro problema é que a vida útil de um contêiner é de apenas um dia, e as funções são executadas no Kubernetes – em minutos ou até segundos. Novamente, esse dinamismo é definitivamente um plus do ponto de vista de um engenheiro de TI, mas se torna uma dor de cabeça quando se trata de rastreamento e gerenciamento de custos.

Por que é importante analisar os custos do Kubernetes

Tudo isso acima é o outro lado das ferramentas de conteinerização: um preço a pagar pela conveniência, flexibilidade e agilidade extraordinárias que o Kubernetes traz. Embora a infraestrutura construída dessa forma tenha um alto potencial para otimização automática, a falta de controle de custos suficiente pode levar a consequências tristes, incluindo deixar a conta da nuvem sair do controle.

Por que isso pode acontecer? Para muitas equipes de TI, produtividade e velocidade de entrega são frequentemente priorizadas em relação ao orçamento. Neste caso, este último pode sofrer devido a despesas imprevistas. Uma intervenção única do departamento de TI não pode resolver este problema porque os técnicos continuarão a priorizar aplicativos e códigos de alto desempenho em relação aos custos.

As ferramentas de autoescala discutidas na seção anterior não são apenas uma variável difícil de fatorar do ponto de vista do controle de custos do Kubernetes, mas também uma potencial bomba-relógio plantada sob o orçamento da sua empresa se as políticas de escala forem deixadas ao acaso. Suponha que os limites de escala não sejam definidos corretamente ou que casos extremos potencialmente perigosos não sejam considerados. Nesse caso, isso pode resultar em um aumento drástico que causará um aumento dramático nos custos.

Como rastrear e gerenciar os custos do Kubernetes

Como já dissemos, rastrear e gerenciar os custos do Kubernetes é muito difícil, mas inúmeras técnicas podem ajudar você a analisá-los e, eventualmente, controlá-los.

Rotulagem adequada de recursos

Provavelmente, você está familiarizado com a marcação de recursos de nuvem. Em relação ao Kubernetes, os chamados rótulos são usados em vez de tags. Se você e seus engenheiros cuidarem da marcação dos recursos usados, isso facilitará significativamente sua busca e identificação no futuro. É importante ser cuidadoso sobre esse processo para que você possa posteriormente dividir seus recursos por vários parâmetros relevantes. A implementação bem-sucedida de tal estratégia exigirá a participação ativa de todos os membros da equipe de TI; caso contrário, essa ideia inicialmente boa pode levar a ainda mais confusão.

Visualização utilizando Prometheus

Sistemas de monitoramento de código aberto como o Prometheus podem ajudar significativamente você a visualizar seus custos. A visualização competente, por sua vez, é um salto gigante em direção à análise competente.

Uso adequado do dimensionamento automático

O autoescala é um recurso matador do Kubernetes e, com sua ajuda, é possível gerenciar facilmente as cargas de trabalho. Já mencionamos dois deles: Autoescalador vertical de pods e autoescalador horizontal de pods. Ainda assim, há na verdade, há mais dois disponíveis: Kubernetes Event-Driven Autoscaler e Cluster Autoscaler, onde o primeiro gerencia o dimensionamento de qualquer contêiner no Kubernetes com base no número de eventos que precisam ser processados, enquanto o último lida com o dimensionamento automático no nível do cluster e do nó. Dito isso, é um desafio fazê-los funcionar juntos corretamente – você não deve apenas seguir as inúmeras práticas recomendadas e ajustar as configurações com base em seus cenários, mas

Escolhendo as instâncias de nuvem certas

O custo do Kubernetes depende diretamente de quão bem as instâncias de nuvem são selecionadas. É vital garantir que o consumo de origem dos pods do Kubernetes corresponda à quantidade de memória alocada e recursos de computação da instância, independentemente de qual provedor de nuvem é usado.

Gestão proativa de recursos

Recursos subutilizados e não utilizados estão entre os primeiros itens a procurar perdas diretas e espaço para otimização. Como já dissemos, especialistas em TI preferem desempenho em vez de otimização de recursos, então eles tendem a usar recursos em excesso. Apesar da perspectiva tentadora de abandonar imediatamente todas as capacidades ociosas, isso deve ser feito com sabedoria para evitar excluir qualquer coisa que se mostre importante — o próximo ponto decorre disto.

Contratação de um gerente de FinOps

FinOps, já mencionado no artigo, pode ajudar a resolver vários problemas simultaneamente. Primeiro, ele atribuirá mais responsabilidade aos especialistas técnicos pelo desempenho financeiro geral da empresa e seus gastos com recursos de nuvem. Segundo, ele pode se tornar o elo perdido que monitora e gerencia os custos do Kubernetes diariamente para que o dimensionamento dos recursos utilizados ocorra quando realmente for necessário.

Usando ferramentas especializadas

Por último, mas não menos importante, você pode usar ferramentas de análise e gerenciamento de custos do Kubernetes, particularmente o Hystax OptScale. Ele pode lhe dar visibilidade total sobre seus custos do Kubernetes, ajuda a otimizar os custos de TI, melhora o desempenho do aplicativo e envolve seus engenheiros em economias de custos de nuvem. Ele também fornece todos os detalhes de custo do ambiente de nuvem ou Kubernetes necessários para obter dados precisos para Kubernetes e nuvens públicas.

Para experimentar, você pode fazer um teste gratuito; não é necessário cartão de crédito → https://my.optscale.com/register

Digite seu e-mail para ser notificado sobre conteúdo novo e relevante.

Obrigado por se juntar a nós!

Esperamos que você ache útil

Você pode cancelar a assinatura dessas comunicações a qualquer momento. política de Privacidade

Novidades e Relatórios

FinOps e MLOps

Uma descrição completa do OptScale como uma plataforma de código aberto FinOps e MLOps para otimizar o desempenho da carga de trabalho na nuvem e o custo da infraestrutura. Otimização de custo de nuvem, Dimensionamento correto de VM, instrumentação PaaS, Localizador de duplicatas S3, Uso RI/SP, detecção de anomalias, + ferramentas de desenvolvedor de IA para utilização ideal da nuvem.

FinOps, otimização de custos de nuvem e segurança

Conheça nossas melhores práticas: 

  • Como liberar IPs elásticos no Amazon EC2
  • Detectar VMs do MS Azure interrompidas incorretamente
  • Reduza sua fatura da AWS eliminando instantâneos de disco órfãos e não utilizados
  • E insights muito mais profundos

Otimize o uso de RI/SP para equipes de ML/AI com OptScale

Descubra como:

  • veja cobertura RI/SP
  • obtenha recomendações para uso ideal de RI/SP
  • aprimore a utilização de RI/SP por equipes de ML/IA com OptScale