A local-first infrastructure lab that maps a load-balanced Python service, structured logging, monitoring, configuration management, and Azure infrastructure as code into one repeatable model.
This page documents a later portfolio reconstruction of a project originally completed during the ASU Cybersecurity Boot Camp in 2020. The current code, data, screenshots, and reports are not the untouched original submission.
ASU Cybersecurity Boot Camp · 2020Reviewed July 2026
The architecture separates the verified local Docker Compose path from the optional Azure reference design, which was not deployed.
For
Recruiters and technical reviewers evaluating local infrastructure, observability, automation, and an explicitly non-deployed Azure reference design.
Role
Original bootcamp project work; later infrastructure design, local demonstration path, monitoring scaffold, automation, and safety documentation
Build
Later portfolio reconstruction of an original bootcamp project
The problem
Why this needed to exist.
Cloud architecture examples often require a paid deployment before their structure can be evaluated. This lab keeps the default demonstration local while making the Azure model explicit and optional.
Defining decision
Verify the runnable path locally and keep Azure infrastructure optional and unapplied, clearly separating observed behavior from reference architecture.
Approach
How the system was shaped.
Mirrored the application and monitoring responsibilities across a local Compose model and optional Azure resources.
Kept deployment opt-in and required a reviewed Terraform plan before any explicit apply.
Added health and load-distribution checks, structured logs, tests, linting, and CI gates.
Tradeoffs
What the design chooses—and gives up.
The local path demonstrates architecture and observability without proving production scale or Azure operating experience.
Prometheus and Grafana are optional to keep the baseline runnable on smaller machines.
Evidence
What can be inspected.
The local service verifies traffic distribution across two Python containers.
Terraform validation does not require an Azure login and no infrastructure is applied from tests or CI.
Lessons
What carries into the next system.
Local verification and cloud design should be presented as different evidence levels rather than blended into one deployment claim.
Selected artifacts
Additional views of the working system.
A local verification run reached both Flask instances behind Nginx and recorded the container health shown here.The local lab records structured Nginx events from synthetic probes and exposes Prometheus health for review.