DevOps Sustentável – Green Software e o poder do KubeGreen

DevOps Sustentável – Green Software e o poder do KubeGreen

Olá pessoal!

Tudo bem com vocês?

Hoje no blog da 4Linux, vamos falar sobre Green Software, Que é um conjunto de práticas e princípios que buscam diminuir o impacto ambiental de aplicações e infraestruturas digitais.

O que é Green Software?

Green Software é o conjunto de práticas e princípios que buscam diminuir o impacto ambiental de aplicações e infraestruturas digitais. Ele parte da ideia de que software também consome energia e recursos físicos, e que decisões técnicas ao longo do ciclo de vida — do design à operação — podem tornar esse consumo mais sustentável.

Em termos simples: software verde é software mais eficiente, consciente e sustentável.

Pilares do Green Software

  1. Eficiência energética
    • Reduzir o uso de CPU, memória e rede.
    • Escolher algoritmos e linguagens mais eficientes.
    • Evitar redundâncias e desperdícios de processamento.
  2. Infraestrutura sustentável
    • Rodar workloads em data centers que usam energia renovável.
    • Usar cloud regions mais verdes (AWS, GCP e Azure já divulgam dados sobre isso).
    • Adotar scheduling verde: processar tarefas pesadas quando há maior oferta de energia limpa.
  3. Observabilidade e métricas
    • Monitorar consumo energético e emissões de CO₂.
    • Utilizar padrões como o Software Carbon Intensity (SCI), da Green Software Foundation
  4. Design consciente
    • Evitar transferências desnecessárias de dados (imagens pesadas, logs excessivos).
    • Construir APIs mais enxutas.
    • Aplicar princípios de Lean Software: entregar valor com o mínimo de desperdício.

Por que isso importa?

Segundo relatórios recentes, a indústria de TI já é responsável por mais de 2% das emissões globais de CO₂, número comparável à indústria da aviação. Com a expansão da IA e do edge computing, esse impacto tende a crescer.

Adotar práticas de Green Software não é só uma questão ambiental, mas também de eficiência operacional: menos energia e menos desperdício também significam menos custos de infraestrutura.

KubeGreen

O KubeGreen é um projeto open source que ajuda a tornar o uso de clusters Kubernetes mais eficiente e sustentável do ponto de vista energético. A ideia central é reduzir o consumo de recursos e energia em horários em que aplicações não estão em uso, algo alinhado ao movimento de Green Software.

Imagine que sua equipe tem um cluster Kubernetes de homologação que só é usado em horário comercial (9h–18h). O KubeGreen pode desligar automaticamente esses serviços fora do expediente e ligá-los novamente no início do dia seguinte.

Principais pontos do KubeGreen

  • Escalonamento automático para zero: ele pode desligar (scale down to 0) Deployments, CronJobs e até HPA (Horizontal Pod Autoscaler) durante períodos de inatividade.
  • Agendamento por horário: permite configurar intervalos de tempo em que workloads devem estar desligados ou ativos (por exemplo, desligar à noite e ligar pela manhã).
  • Economia de recursos e energia: reduz custos em nuvem e também a pegada de carbono, já que VMs e nós deixam de rodar pods desnecessários.

Exemplos práticos no dia a dia

Vamos criar um cluster com o Kind.

kind create cluster --name kubegreen-demo

O KubeGreen tem um Helm chart oficial. Vamos instalar no namespace kubegreen-system:

## Instale o Cert-Manager
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml

helm repo add kube-green https://kube-green.github.io/helm-charts/

helm repo update

kubectl create namespace kubegreen-system

helm install kube-green kube-green/kube-green --namespace kube-green --create-namespace

Vamos rodar um NGINX para simular uma aplicação qualquer:

kubectl create deployment nginx --image=nginx --replicas=2
kubectl expose deployment nginx --port=80 --type=ClusterIP

O SleepInfo é o recurso do KubeGreen que define quando desligar e religar pods. Exemplo: desligar às 19h e religar às 07h.

apiVersion: kube-green.com/v1alpha1
kind: SleepInfo
metadata:
  name: nginx-sleep
  namespace: default
spec:
  sleepAt: "19:00"
  weekdays: "Mon-Fri"
  wakeUpAt: "07:00"
  timeZone: "America/Sao_Paulo"

Aplicar o manifesto:


kubectl apply -f sleepinfo.yaml

Durante o horário definido como sleep, o KubeGreen vai escalar o Deployment para 0 réplicas. No horário de wake-up, ele volta automaticamente para as réplicas configuradas.

Você pode testar manualmente simulando o comportamento:

kubectl annotate deployment nginx kubegreen.dev/sleep=true
kubectl annotate deployment nginx kubegreen.dev/sleep-


kubectl get deployments.apps 
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   0/0     0            0           6m41s

Conclusão

Green Software é mais do que uma tendência: é uma necessidade estratégica. Times que adotam essa mentalidade não apenas contribuem para um futuro mais sustentável, mas também constroem aplicações mais eficientes, econômicas e resilientes.

Um exemplo claro é o KubeGreen, que permite “hibernar” workloads no Kubernetes fora do horário de uso, reduzindo consumo de energia e custos de cloud sem impactar a experiência dos usuários.

No fim das contas, pensar em software verde é pensar em software inteligente — e ferramentas como o KubeGreen mostram que sustentabilidade e eficiência podem andar lado a lado.

Então é isso galera! Nos veremos no proximo post. Compartilhe em suas redes sociais!

Tmj!

https://kube-green.dev

https://greensoftware.foundation

Anterior Agentes de IA substituindo softwares tradicionais: é o fim do SaaS?

About author

Emerson Silva
Emerson Silva 18 posts

Desenvolvedor de Infraestrutura e Monitoramento, atua como Engenheiro DevOps na 4Linux, entusiasta DevOps e apaixonado por software livre

View all posts by this author →

Você pode gostar também