AIOpsLab  by microsoft

AIOps agent framework for design, development, and evaluation

created 9 months ago
646 stars

Top 52.5% on sourcepulse

GitHubView on GitHub
Project Summary

AIOpsLab is a comprehensive framework for designing, developing, and evaluating autonomous AIOps agents. It targets researchers and engineers building AI-driven solutions for cloud operations, offering a standardized and reproducible environment for agent testing and benchmarking. The framework simplifies the deployment of complex microservice environments, fault injection, workload generation, and telemetry data collection.

How It Works

AIOpsLab orchestrates microservice cloud environments, enabling the simulation of real-world operational scenarios. It supports deploying applications via Helm charts and managing Kubernetes clusters (local via kind or remote). Agents interact with these environments through a defined interface, receiving state information and returning actions. The framework facilitates the creation of custom problems by defining applications, tasks (detection, localization, analysis, mitigation), faults, workloads, and evaluation metrics, promoting extensibility and standardization.

Quick Start & Requirements

  • Installation: Recommended via Poetry (poetry install). Requires Python >= 3.11.
  • Cluster Setup:
    • Local: Use kind with provided YAML configurations (kind create cluster --config kind/kind-config-x86.yaml).
    • Remote: Supports any Kubernetes cluster configured via kubectl.
  • Configuration: Update config.yml with cluster host and user details.
  • Agent Execution:
    • Human agent: python3 cli.py
    • GPT-4 baseline: export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>; python3 clients/gpt.py
  • Documentation: Overview, Quick Start, Installation, Usage.

Highlighted Details

  • Supports both local simulated clusters (using kind) and remote Kubernetes clusters.
  • Provides a structured approach to define AIOps problems, including applications, tasks, faults, workloads, and evaluators.
  • Enables easy onboarding of custom agents by requiring a Python class with an async def get_action(self, state: str) -> str method.
  • Includes baseline agents (e.g., GPT-4) for comparative evaluation.

Maintenance & Community

The project is developed by Microsoft. Key contributors are listed in the citation papers. The project adheres to the Microsoft Open Source Code of Conduct.

Licensing & Compatibility

Licensed under the MIT license. This license permits commercial use and linking with closed-source projects.

Limitations & Caveats

The framework relies heavily on Kubernetes and Helm for deployment, requiring familiarity with these technologies. While it supports local simulation via kind, performance and behavior may differ from actual cloud environments. The setup for remote clusters and specific fault/workload injections might require significant configuration effort.

Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
5
Issues (30d)
7
Star History
63 stars in the last 90 days

Explore Similar Projects

Starred by Eugene Yan Eugene Yan(AI Scientist at AWS), Jared Palmer Jared Palmer(Ex-VP of AI at Vercel; Founder of Turborepo; Author of Formik, TSDX), and
3 more.

seldon-core by SeldonIO

0.1%
5k
MLOps framework for production model deployment on Kubernetes
created 7 years ago
updated 1 day ago
Feedback? Help us improve.