Hi @Yoong Han
Thanks for contacting to Microsoft QA, below are detailed mitigation steps on your questions
The lab scripts automatically provision Azure Cosmos DB with an autoscale throughput of 4,000–100,000 RU/s, do not use Free Tier, and create new resource groups without clearly informing the learner. This led to unexpectedly high daily costs during a simple learning exercise involving only ~10K documents.
Why are there no cleanup scripts?
Because the lab design assumes the learner will manually clean up resources, but the documentation is unclear. Proper cleanup steps were not included or explained, leading to leftover resource groups and active workloads.
Why use 4k–100k RU/s when ~500 RU would be enough?
This appears to be a legacy or overly aggressive configuration meant to simulate high‑throughput workloads. However, for small datasets and teaching purposes, this range is unnecessary and results in extremely high consumption costs.
Why wasn’t Free Tier used?
The lab scripts automatically create accounts using default settings. Free Tier requires explicit selection at account creation, which the script does not do. As a result, students unintentionally incur charges.
Why are there no safeguards for learners?
The lab does not implement:
- resource locks
- cost alerts
- free‑tier defaults
- throughput safety limits
- clear warnings
- cleanup automation
This makes accidental cost accumulation easy, especially if the lab is run multiple times.
What does provisioning 4k–100k RU/s achieve for a 10K‑record lab?
Practically nothing meaningful for learning. The workload size does not justify such throughput. It only inflates cost without improving the educational outcome.
What happens when the lab is executed multiple times?
Each run:
- creates new Cosmos DB accounts / databases
- provisions high‑throughput autoscale
- incurs fresh daily cost (≥ USD 30/day)
Repeating the lab multiplies the cost linearly, with no safeguards.
Why did it cause high charges?
Because:
- Autoscale 4k–100k RU/s is expensive
- No free tier was used
- No cleanup removed the provisioned resources
- Resource group creation wasn’t clearly communicated
Even a few hours at high RU/s can accumulate significant charges.