Technical project· Cloud operations

Azure Security Monitoring

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.

← Back to all projects
Architecture overview contrasting a locally verified Docker Compose path through Nginx and two web containers with an optional, non-deployed Azure reference design.
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.

  1. Mirrored the application and monitoring responsibilities across a local Compose model and optional Azure resources.
  2. Kept deployment opt-in and required a reviewed Terraform plan before any explicit apply.
  3. 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.