🛠️ Lab 11 — Launch, Benchmark, and Store: Cloud Compute Meets Object Storage (50 pts)
Goal: Get hands-on with real cloud VM provisioning, pricing models, and object storage — using only free-tier and no-cost tools — so you can feel the difference between On-Demand, Spot, and GPU compute, and practice storing your results safely in S3, before you ever spend a dollar. Steps:
- Create or log in to your AWS account and confirm you're within the AWS Free Tier. Follow the official EC2 getting-started guide to launch a free-tier
t2.micro instance (Amazon Linux or Ubuntu). - Once the instance is running, connect to it using standard
ssh from your terminal. - Run a simple CPU/memory benchmark on the instance — for example, time how long it takes to compute a large prime sieve in Python, or use a tool like
stress-ng (if available) or a basic dd disk-write test. Record wall-clock time and note the instance's vCPU/RAM specs. - In the EC2 Console, open the Spot Request wizard and configure a Spot Instance request for the same instance type: set a maximum price, choose an interruption behavior (stop or terminate), and review the pricing history shown for your instance type/region. Do not actually launch the Spot instance unless you're comfortable staying within Free Tier limits — capturing a screenshot of the configured request and quoted price is sufficient.
- Visit the EC2 Spot Instance Advisor and look up the interruption-frequency rating and Spot discount for a GPU family such as G5. Record the numbers you find.
- Stop (do not terminate) your
t2.micro instance and check the EC2 console to confirm the attached EBS volume is still listed and still incurring storage cost — this is your live demonstration of the "stopped instance ≠ zero billing" trap from the lecture. - Create a private S3 bucket and enable versioning. Upload your benchmark notes/screenshots as objects, then edit and re-upload one file to create a second version. Add a lifecycle rule that transitions objects to Standard-IA after 30 days and expires noncurrent (old) versions after 60 days.
- Free GPU alternative/addition: Open a Kaggle Notebook (30 hrs/week free T4 GPU quota) or Google Colab (free T4 tier) and run a short PyTorch training job on CIFAR-10 or Fashion-MNIST for 1–2 epochs. Record the wall-clock training time.
- Terminate your EC2 instance (confirm the EBS volume is deleted) and empty/delete your S3 bucket once you've captured your evidence, so you don't leave anything running or billing.
- Write up a short comparison (half a page to one page) covering: your
t2.micro benchmark results, the Spot price/interruption data you found, the GPU Advisor numbers, your free-tier GPU notebook training time, your S3 versioning/lifecycle configuration, and one paragraph on when you would choose On-Demand vs. Spot vs. a free-tier notebook for a real ML workload.
Deliverables: Submit your written comparison (online text entry or upload) plus screenshots of (a) your running/stopped t2.micro instance, (b) the configured Spot request with quoted price, (c) the EC2 Spot Instance Advisor results for a GPU family, (d) your free-tier GPU notebook training run, and (e) your S3 bucket's versioning + lifecycle rule configuration.