You're building cloud infrastructure for a craft brewery in Portland, Oregon — a VPC, an EC2 instance, and an S3 bucket on AWS, then deploying a Flask app onto it.
The discipline skills: writing Terraform to provision real AWS resources, reading a terraform plan before applying anything, verifying that what got built matches what was specified, estimating cost before spending money, and destroying everything when you're done.
The AI-direction lesson: this is your first time directing AI to produce infrastructure. AI will generate Terraform that works — and that has security holes you won't see unless you look for them. Security groups open to the entire internet. S3 buckets without encryption. IAM policies with wildcard permissions. None of these produce errors. None of them look wrong. The skill is reading the plan output, checking it against specific targets, and catching what AI got wrong before it becomes real infrastructure with real cost and real exposure.
Your Role
You are the cloud engineer. A colleague already converted the client's old site into a Flask app. Your job is the infrastructure and deployment — from an empty AWS account to a running application on a live server.
Everything is provided: an architecture specification that describes each resource, a project governance file (CLAUDE.md) with security policies and verification targets, and the application code. You direct AI through the work. You review every plan. You verify every result.
What Gets Built
Three AWS services, each with a specific job:
- A VPC (Virtual Private Cloud) — a private network inside AWS. It has subnets, an internet gateway, and routing rules that control which traffic goes where.
- An EC2 instance — a virtual machine running in an AWS data center. This one runs the Flask app behind Nginx. When someone visits the site, their browser connects to this machine.
- An S3 bucket — object storage. Holds the brewery's digital assets — product images, menus, event flyers. Encrypted and access-controlled.
These resources cost real money. The EC2 instance runs 24/7 whether anyone visits the site or not. You'll estimate the cost, and destroy everything when the project is done.
Tools
- Claude Code — the AI coding agent. You paste instructions, it writes and runs the code.
- Terraform CLI —
init,plan,apply,destroy. The infrastructure lifecycle. - AWS CLI — verifying provisioned resources and uploading files.
- AWS Console — the web dashboard where you visually confirm that infrastructure exists.
- Git and GitHub — version control.
- VS Code + Terraform extension — code editor.
Materials
In the project folder you'll find:
- The client's email (
first-contact.md) — the original request, in her words. - Architecture specification (
architecture-spec.md) — the infrastructure design translated from the client's email by a senior engineer. - CLAUDE.md — the project governance file. This is what Claude Code reads automatically when it starts in the project directory. It contains the client context, security policies, cost constraints, and verification targets.
- The Flask app (
app/) — the brewery website, already built by a colleague. You deploy this; you don't build it. - WordPress backup (
wordpress-backup/) — the client's old site files. Reference material — the app was built from this content.