Skip to content

Repository files navigation

Azure Container Apps Performance Testing Harness

This repository provides an opinionated, end-to-end harness for performance testing web/API workloads on Azure Container Apps. It bundles infrastructure-as-code templates, a Python-based CLI orchestrator, Azure Load Testing integrations, and a simulation app so customers can iterate on cost and performance quickly.

Test Configuration UI

Results Comparison

Choose Your Path

Method What You Need Time to First Test
AZD Deployment Azure CLI + AZD ~15 minutes
Docker Quickstart Docker Desktop ~5 minutes
AI-Guided Setup Copilot Chat + Azure CLI ~10 minutes

Prerequisites

  • Python 3.11+ (for the CLI harness)
  • Azure CLI with an active subscription (az login)
  • Docker Desktop (for the local quickstart only)
  • AZD CLI (optional — for azd up deployment)

Quick Start

Option 1: AZD (deploy to Azure in one command)

# Install AZD if you haven't: https://aka.ms/azd
azd auth login
azd up
# Choose an environment name and region when prompted

That's it — AZD provisions the Container Apps environment, simulation app, and Azure Load Testing resource. The post-deploy hook prints your app URL and next steps.

Option 2: CLI harness (full control)

# Clone and set up
git clone https://github.com/simonjj/aca-scaler-lab.git
cd aca-scaler-lab
python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Generate a test config
cd src
python -m cli init --output my-test.yaml

# Edit my-test.yaml to set your container image and Azure settings, then:
python -m cli --config my-test.yaml run

Option 3: Docker (local, no Azure)

cd quickstart
docker compose up --build
# Dashboard at http://localhost:9090 after the test completes

Note: The default container image (simon.azurecr.io/simulation-app:latest) is the built-in simulation app. For custom workloads, push your image to your own ACR and update the config.

Project Layout

src/                # CLI, orchestrator, models, services
infrastructure/     # Bicep templates for Azure resources
infra/              # AZD-compatible infrastructure
load-tests/         # JMeter scenarios and ALT parameter files
simulation-app/     # Configurable FastAPI simulation target
scale-lab-ui/       # Web UI for guided multi-fabric tests
quickstart/         # Docker-based local preview (no Azure needed)
docs/               # Guides and reference material
tests/              # Unit and integration tests

Troubleshooting

Issue Fix
az login fails Run az account clear && az login
Deployment timeout Check region availability for your workload profile
WorkloadProfile not found Ensure all needed profiles are in the same deployment (multi-fabric bug fixed in Bicep)
Docker out of memory Allocate ≥ 4 GB RAM to Docker Desktop

See docs/user-manual.md for the full CLI reference and configuration schema.

About

A complete performance harness to test applications under different scenarios on ACA. Deployable via azd, Docker or agentically.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages