← Back to Home Lab

cml-on-gcp --project

Cisco Modeling Labs on GCP

A nested-virtualization lab factory for CCNA practice, AI automation, and Infrastructure as Code — planned with ChatGPT, built with Claude Desktop, and deployed on Google Cloud.

Problem

Rack-mount lab gear for CCNA practice and network simulation is expensive, inflexible, and idle most of the time. This project builds an equivalent lab environment in the cloud that only costs money while it's actually running.

Goals

  • Run enterprise-grade, multi-vendor network topologies without dedicated hardware
  • Keep monthly cost near zero by stopping the environment when idle
  • Define every layer as code for repeatability
  • Map the lab directly to CCNA exam objectives

Architecture / Workflow

stack> User/AI → Automation (Terraform·YAML·Python) → Google Cloud (VPC·Firewall·VM) → KVM/QEMU (nested) → Lab (IOSv routers, VLANs, STP)
# hardware-assisted nested virtualization runs a hypervisor inside a cloud VM

Five layers: AI planning and engineer review, Terraform/YAML/Python automation, a dedicated Google Cloud VPC with least-privilege firewall rules, an n2-standard-4 VM with nested virtualization enabled, and the CML lab factory itself (IOSv routers, VLANs, STP, injected break/fix faults).

Tools

  • Google Cloud Platform
  • Cisco Modeling Labs
  • Terraform
  • YAML
  • Python REST API (virl2_client)
  • Nested virtualization (KVM/QEMU)
  • ChatGPT
  • Claude Desktop
  • Google Antigravity

Key decisions

  • Nested virtualization on a cloud VM over dedicated lab hardware, to trade a small performance overhead for on-demand elasticity
  • Stop-when-idle lifecycle (disk kept, compute stopped) to cut monthly cost by roughly 61%
  • Infrastructure as Code (Terraform/YAML) over manual provisioning, so lab topologies are reproducible

What I would defend in an interview

The cost-engineering tradeoffs (~$4.81/day running vs. ~$0.24/day stopped) and why nested virtualization on GCP was chosen over a dedicated on-prem lab or a hosted CML subscription.

Status

On-demand Kept stopped to control cloud cost — available for a live walkthrough by request. See Request a Lab Walkthrough.

Want to see it live?