DATACAREERHUB — CLOUD & OPERATIONS
Nine original lessons. Fictional records/rates. Actual local drills, no cloud provisioning.
Python 3.10+ with standard-library SQLite; tested 3.12.14 on macOS. No pip/network/account.
Extract the whole ZIP. Open a terminal INSIDE cloud-operations-kit.
Run: python3 lab.py
Run: python3 -m unittest discover -s tests -v
Run: python3 -m compileall -q lab.py tests
Windows: use py or your chosen Python executable where appropriate.
Open lesson-guide.html for offline lessons; worked-report.html for visual reference.

EXECUTED
Release drill: temporary versioned JSON artifacts and atomic local pointer replacement;
failed v3 leaves v2 active, rollback to v1 preserves a fictional state file.
Restore drill: SQLite backup API and SEPARATE temporary restore target. Snapshot 2 rows/70000;
source after later change stays 3 rows/75000. Integrity check and logical-content hash tested.
Queue drill: same-DB transactional deduplication, pre-commit failure/rollback and redelivery.
Logs:20 fictional final job outcomes,18 success/2 failure;90%,nearest-rank p 95=1000 ms.
Cloud-plan checker: local JSON arithmetic,1520 cents from INVENTED unit rates, not real prices.
Expiry 2 h is an owner review deadline only; estimate is monthly-if-forgotten, NOT 2 h billing.
All destructive filesystem actions occur only in newly created temporary drill folders.
Normal commands never access the live website, hosting, credentials, uploads or account DB.

NOT EXECUTED / NOT CLAIMED
Docker/container runtime (not installed), Terraform/IaC provider (not installed), hosted CI,
cloud IAM/account/budgets/provisioning/teardown and production recovery/deployment.
Dockerfile.example and ci-example.yml are optional DESIGN REVIEW materials, not activated
workflows. The container needs a deliberately supplied reviewed base image reference.
Do not upload these as Aruba runtime files or copy CI into the live PHP repository.
cloud-plan.json is provider-neutral fictional JSON, NOT provider IaC or an apply plan.
No AWS/Aruba prices, account permissions, certification or provider affiliation claimed.

FILES
config.json:closed local teaching config, not website settings; gates remain false.
release-v1.json/release-v2.json:small fictional artifacts, no actual application deploy.
deliveries.json:two valid unique IDs,one retry,one invalid negative amount.
job-logs.json:one final outcome per unique fictional job for a declared example window.
cloud-plan.json:owner/private-data flags,budget/review deadline and invented footprint.
lab.py/tests:executed standard-library reference; temporary DB/files cleaned after drills.
exercises.txt/worked-solutions.txt:tasks and separate answers/runnable extension.
Worksheets/runbook/rubric cover architecture,backup,cloud/IAM,container/CI and incident memo.
expected-controls.json:hand-established count/total/rate controls, not generated expectations.

LIMITS
Single-process local SQLite is not a distributed queue. No external side effects or exactly-once
claim. No actual monitoring/alerts are sent. JSON 'max_attempts' validation alone starts no workers.
Local release switch is not a production health check or power-loss/distributed-durability guarantee.
Temporary same-device backup illustrates mechanics, not offsite protection, encryption or retention.
SLO metrics describe 20 fixture jobs, not production uptime. Tiny timing is not a promised RTO.
Cloud budget alerts do not guarantee a spending cap; local flags do not enforce real IAM/expiry.
Keep source and restored targets separate; never test by overwriting current accounts/uploads.
Payments/public registration stay disabled. No course progress/entitlement or DB import change.
No instructor grading,certificate,legal approval or employment guarantee. Credit your own work.
