Nos últimos anos, a dependência de serviços digitais em setores críticos como comércio eletrônico, serviços financeiros, governo eletrônico e aplicações de saúde tornou a disponibilidade um requisito tão importante quanto desempenho e segurança. Quedas recentes de grandes plataformas de nuvem e de serviços amplamente utilizados como a Amazon Web Services (AWS) afetaram cerca de 500 empresas por conta da interrupção – algumas delas no Brasil foram iFood, Mercado Livre, Itaú e entre outros. Mesmo que de curta duração, as quedas geraram indisponibilidade global e impactos milionários, evidenciando como poucos minutos de interrupção podem comprometer cadeias de negócio inteiras e a confiança de usuários. Nesse cenário, métricas de disponibilidade e de tempo de recuperação deixaram de ser apenas indicadores operacionais para se tornarem insumos estratégicos no planejamento de capacidade e na definição de acordos de nível de serviço (SLAs).
Este artigo, de autoria de Jonas César Gomes Nunes (UFPI), Iure de Sousa Fé (UFPI), Lucas Lopes (UFPI), José Miqueias (UFPI), Elias P. Duarte Jr. (UFPR) e Francisco Airton Silva (UFPI), apresenta o Chaos-K8s, uma ferramenta inovadora desenvolvida para avaliar de forma sistemática a disponibilidade em clusters Kubernetes. Confira aqui o artigo completo.
A solução foca em automatizar a descoberta da infraestrutura e a calibração empírica dos tempos de recuperação, permitindo que administradores testem falhas no plano de controle, nós e pods (um pod é uma pequena parte de uma aplicação com tudo que ela precisa para funcionar). Ao realizar simulações controladas, o sistema ajuda a quantificar como diferentes configurações impactam a experiência do usuário final e a resiliência do serviço.
O estudo valida a eficácia da ferramenta através de modelagem matemática, demonstrando uma alta precisão estatística entre os testes práticos e os resultados teóricos. Em última análise, o trabalho oferece uma metodologia estruturada para que empresas possam prever interrupções e otimizar a robustez de suas operações em nuvem.
Descoberta e Calibração Automática
A ferramenta mapeia automaticamente os componentes do cluster (plano de controle como etcd e kube-apiserver, nós workers e aplicações implantadas) para gerar uma configuração inicial sem esforço manual. Diferente de outras ferramentas que usam valores genéricos, o Chaos-K8s pode realizar uma fase de calibração onde injeta falhas controladas para medir o Tempo Médio de Recuperação (MTTR) real de cada componente no ambiente específico. Isso garante que os cálculos de disponibilidade reflitam a realidade da infraestrutura avaliada.
O sistema atua como um orquestrador externo que interage com o cluster para aplicar falhas em diferentes camadas: a Pods – Encerramento de processos para forçar a reinicialização pelo Kubernetes; a Nós Workers – Reinicialização de serviços críticos como o kubelet e o containerd via SSH; e o Plano de Controle – a interrupção de processos centrais como o etcd e o kube-apiserver.
Monitoramento e Critérios de Disponibilidade
Durante os testes, o Chaos-K8s utiliza um módulo de monitoramento que verifica continuamente se o sistema atende aos critérios de disponibilidade definidos pelo administrador (por exemplo, o número mínimo de réplicas saudáveis de um pod)
Se o número de réplicas cai abaixo desse limiar, o sistema é contabilizado como indisponível.
Validação por Modelagem Matemática
Para garantir a precisão, os resultados empíricos obtidos pelo Chaos-K8s são validados através de Redes de Petri Estocásticas (SPN). Essa modelagem permite comparar os dados coletados nos testes reais com valores analíticos, fornecendo uma base estatística robusta (com 95% de confiança no estudo de caso) para as estimativas de disponibilidade. Dessa forma, o Chaos-K8s não apenas injeta o “caos”, mas fornece um fluxo integrado para quantificar o impacto de decisões arquiteturais, como o número de réplicas de pods, sobre a resiliência global do sistema
Desdobramentos futuros
Como trabalhos futuros, pretende-se ampliar a avaliação do Chaos-K8s em ambientes corporativos de maior escala, considerando aplicações reais e cargas de trabalho mais complexas. Busca-se investigar seu comportamento em execuções prolongadas, analisando a disponibilidade, a confiabilidade, o tempo de recuperação e o consumo energético, a fim de avaliar sua escalabilidade e aplicabilidade em cenários reais de produção.