Software application / engineering project

Production Incident Simulator

A local Docker incident lab for practising failure injection, observability, debugging, resilience patterns and postmortem analysis.

v1 scope completeLocal Docker incident lab

Overview

A public engineering project built as a deliberately bounded, production-style simulation rather than a production service.

Problem / motivation

Reliability and incident-response skills are difficult to demonstrate with a simple happy-path application.

What it implements

  • Connect a FastAPI service with PostgreSQL, Redis and Nginx in Docker Compose.
  • Expose structured logs, correlation IDs, Prometheus metrics and a provisioned Grafana dashboard.
  • Provide deterministic incident scenarios, resilience controls and repeatable recovery workflows.

Architecture / workflow

  • Nginx fronts a FastAPI service that coordinates PostgreSQL and Redis within Docker Compose.
  • Deterministic incident controls alter bounded failure conditions while the same request path remains observable.
  • Structured logs, correlation IDs, Prometheus metrics and provisioned Grafana panels support investigation and recovery practice.

Key engineering decisions

Deterministic incidents

Repeatable failure modes make investigation evidence and demonstrations easier to compare.

Production-style, locally bounded

Real service boundaries create useful operational exercises without claiming production deployment.

Reliability / security considerations

  • Failure modes are intentional and repeatable, keeping experiments comparable and locally contained.
  • Healthy baselines and incident states use the same telemetry so changes can be traced rather than guessed.
  • The lab models production-style boundaries without claiming that it is a production deployment.

Validation / testing

  • The documented workflow starts from a healthy checkout and then introduces deterministic incidents.
  • Provisioned dashboards expose baseline and incident-state changes for repeatable inspection.
  • Recovery guidance and postmortem-oriented evidence keep the exercise reproducible.

Project evidence

Screenshots / results

Verified output from Production Incident Simulator, presented with the operating boundaries described on this page.

Production Incident Simulator interface showing a healthy checkout flow and correlation identifier.
The healthy local checkout flow before a deterministic incident is introduced.
Grafana dashboard showing the healthy baseline for the incident simulation.
Provisioned Grafana panels provide a healthy operational baseline.
Grafana dashboard showing checkout errors during a deterministic incident.
The same dashboard exposes error ratio and incident-trigger changes.

Outcomes

  • Completed the intended v1 incident lab with observable failure scenarios and documented investigation paths.

Current scope / limitations

This is a local Docker Compose incident lab for engineering practice. Its services and failures are deliberately bounded simulations, not a hosted commerce service or a record of production incidents.

Technology stack

PythonFastAPIPostgreSQLRedisNginxDocker ComposePrometheusGrafanaStructured logging