Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Self Healing Rollouts: Automating Production Fi...

Avatar for Kevin Dubois Kevin Dubois
September 01, 2026

Self Healing Rollouts: Automating Production Fixes with Agentic AI

Avatar for Kevin Dubois

Kevin Dubois

September 01, 2026

More Decks by Kevin Dubois

Other Decks in Technology

Transcript

  1. Self-Healing Rollouts Automating Production Fixes With Agentic AI Kevin Dubois

    Sr Principal Developer Advocate, IBM @kevindubois
  2. Kevin Dubois ★ ★ ★ ★ ★ ★ Sr. Principal

    Developer Advocate at Java Champion Technical Lead, CNCF DevEx TAG Agentic AI Foundation Ambassador From Belgium 󰎐 / Live in Switzerland󰎤 🗣 English, Dutch, French, Italian @kevindubois.com @thekevindubois kevindubois kdubois @kevindubois
  3. GitOps Git is the single source of truth @kevindubois Treat

    everything as code Operations through Git workflows
  4. GitOps Application Delivery Model Source Git Repository Image Registry Pull

    Request CD Config Git Repository Push Pull Monitor Detect drift Deploy Take action @kevindubois Kubernetes
  5. apiVersion: argoproj.io/v1alpha1 kind: AnalysisTemplate metadata: name: success-rate spec: args: -

    name: service-name metrics: - name: success-rate interval: 10s successCondition: len(result) == 0 || result[0] >= 0.95 failureLimit: 2 provider: prometheus: address: https://internal:[email protected] .local:9090 query: | sum(irate(istio_requests_total{ reporter="source", destination_service=~"{{args.service-name}}", response_code!~"5.*"}[30s]) ) @kevindubois
  6. apiVersion: argoproj.io/v1alpha1 kind: AnalysisTemplate metadata: name: success-rate spec: args: -

    name: service-name metrics: - name: success-rate interval: 10s successCondition: len(result) == 0 || result[0] >= 0.95 failureLimit: 2 provider: prometheus: address: https://internal:[email protected] .local:9090 query: | sum(irate(istio_requests_total{ reporter="source", destination_service=~"{{args.service-name}}", response_code!~"5.*"}[30s]) ) @kevindubois
  7. Quarkus LangChain4j - AI for Prod & Performance Application Quarkus

    LangChain4j LangChain4j LLMs @kevindubois Vector stores - Embedding Models Declarative clients CDI integration Observability (Otel, Prometheus) Auditing Resilience RAG building blocks Mockable Dev Services & Dev UI
  8. apiVersion: argoproj.io/v1alpha1 kind: RolloutManager metadata: name: argo-rollouts spec: plugins: metric:

    - name: argoproj-labs/metric-ai location: https://github.com/argoproj-labs/rollouts-plugin-metric-ai/releases/ download/v0.0.1/rollouts-plugin-metric-ai-linux-amd64 @kevindubois
  9. apiVersion: argoproj.io/v1alpha1 kind: AnalysisTemplate metadata: name: canary-analysis-ai-agent spec: metrics: -

    interval: 10s name: success-rate provider: plugin: argoproj-labs/metric-ai: agentUrl: http://kubernetes-agent:8080 stableLabel: role=stable canaryLabel: role=canary extraPrompt: ignore aesthetic changes successCondition: result > 0.50 @kevindubois
  10. apiVersion: argoproj.io/v1alpha1 kind: AnalysisTemplate metadata: name: canary-analysis-ai-agent spec: metrics: -

    interval: 10s name: success-rate provider: plugin: argoproj-labs/metric-ai: agentUrl: http://kubernetes-agent:8080 stableLabel: role=stable canaryLabel: role=canary extraPrompt: ignore aesthetic changes githubUrl: …github.com/kdubois/argo-rollouts-quarkus-demo @kevindubois
  11. Lessons learned: Performance was an interesting challenge: went from one

    AI service to agentic system: parallel & async agents LLM choice + “context engineering” + tool calling especially for PR creation Complexity vs portability (could’ve used Serverless MCP, external code assistant for PR creation, async remote agents, etc.) @kevindubois
  12. Takeaways: Rolling out changes to all users at once is

    risky Canary rollouts and feature flags are safer AI Agents can automate the loop by analyzing metrics and logs, and even proposing fixes for the failures @kevindubois