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
- 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.
- 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.
- 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
- 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!
About author
Você pode gostar também
Guia prático: Como usar o Terraform para gerenciar sua infraestrutura na nuvem
Terraform é uma ferramenta de código aberto comumente utilizada para construir, alterar e versionar uma infraestrutura de forma segura e eficiente, através de uma linguagem declarativa. A ferramenta é escrita
Guia Prático: Como Instalar e Configurar o K3D para Kubernetes
Este post tem como objetivo apresentar um guia para instalação e configuração do K3D. A solução independe de sistemas operacionais pois todas as tecnologias serão utlilizadas em containers. Introdução Montar
MySQL 805: Alta Performance e Alta Disponibilidade — Curso Atualizado para o MySQL 8.4 LTS
O curso MySQL 805 – Alta Performance e Alta Disponibilidade, da 4Linux, foi totalmente atualizado para acompanhar a evolução do MySQL e as demandas atuais do mercado. Criado originalmente em 2019,






