Skip to main content

Architecture Overview

High-Level Design

OpsWorker is a cloud-native, serverless platform built on AWS. It consists of three main components:

graph TB
subgraph "Your Infrastructure"
Mon[Monitoring Systems<br/>Prometheus, Grafana, Datadog]
K8s[Kubernetes Clusters]
Agent[OpsWorker Agent<br/>in-cluster]
end

subgraph "OpsWorker Cloud (AWS)"
API[API Gateway]
Norm[Alert Normalizer]
Rules[Rule Engine]
AI[AI Investigation Engine]
DB[(Data Store)]
Notify[Notification Service]
end

subgraph "Team Tools"
Slack[Slack]
Portal[OpsWorker Portal]
end

Mon -->|Webhook| API
API --> Norm --> Rules --> AI
AI <-->|SQS| Agent
Agent <-->|kubectl| K8s
AI --> DB
DB --> Notify
Notify --> Slack
DB --> Portal

Components

OpsWorker Cloud

The serverless backend running on AWS:

ComponentTechnologyPurpose
API GatewayAWS API GatewayReceives alert webhooks
Alert NormalizerAWS LambdaConverts alerts to common format
Rule EngineAWS LambdaEvaluates alert rules
Investigation EngineAWS Lambda + StrandsMulti-agent AI investigation
Data StoreDynamoDB + S3Investigation data and results
Notification ServiceSNS + LambdaSlack notifications and daily digests
Customer PortalNext.js (CloudFront)Web interface for users

Kubernetes Agent

A lightweight Go binary deployed in customer clusters via Helm:

  • Communicates outbound-only via AWS SQS
  • Executes read-only kubectl commands
  • Returns data to the investigation engine

Customer Integrations

External services connected to OpsWorker:

  • Alert sources: Prometheus, Grafana, Datadog, CloudWatch
  • Notifications: Slack
  • Code: GitHub, GitLab
  • AI: AWS Bedrock (default), Azure OpenAI, BYO LLM

Design Principles

PrincipleImplementation
Security-firstRead-only cluster access, outbound-only communication, no stored credentials
ServerlessNo servers to manage, automatic scaling, pay-per-use
Multi-tenantOrganization-level data isolation
Event-drivenAlerts trigger investigations asynchronously via message queues
Multi-model AIDifferent AI models optimized for each investigation stage

Next Steps