← Back to portfolio
Problem
The old process created friction everywhere.
Traditional lab environments were slow to provision, difficult to secure, and operationally heavy to
rebuild. Access often depended on repeated administrative work, manual data handling, and brittle steps
that made consistency hard to guarantee.
Legacy workflow
- Roster exports and CSV generation every few weeks.
- Script-driven user creation, VM provisioning, ACL updates, and power-on sequences.
- Semi-automated process that still required constant administrative involvement.
- Too much room for timing issues, inconsistency, and credential exposure.
Modern workflow
- Create a course VM template once.
- Attach that template to the course shell.
- Let users launch their environment from a single link.
- Provision access, context, and infrastructure automatically behind the scenes.
Platform Design
What changed under the hood.
Provisioning and orchestration
Terraform and GitHub Actions workflows were used to automate environment creation and remove the
recurring burden of manual setup, rebuilds, and drift-prone changes.
Identity-aware access
Canvas LTI integration and AWS IAM-based access eliminated hardcoded credentials and made the user
path feel seamless while improving auditability and control.
Operational guardrails
Lifecycle controls such as idle shutdown reduced waste, while consistent templates helped keep
environments predictable and easier to support.
Enterprise-style validation
The platform supported realistic architecture testing and workload prototyping rather than isolated
toy labs, which made it more useful for both learning and design validation.
Impact
Less administration, faster access, better confidence.
Recurring rebuild cycles were eliminated, operational drag moved down to template management, and
environments available quickly enough to feel self-service instead of ticket-driven.
fewer manual rebuilds
improved consistency
stronger access control
faster time to usable environments