You don't need a home lab to learn network automation
We priced five ways to practice network automation, timed our own browser labs with a stopwatch, and wrote down where a home lab still wins. The setup-tax table and the grading transcript are in this note.
Tested with: RouteSwitchU browser lab runner (Pyodide + pytest in a Web Worker), Chrome on macOS
- See real up-front cost, time-to-first-lab, and ongoing cost for five lab setups.
- Read an actual browser grading transcript, not a marketing claim.
- Know when you genuinely do need EVE-NG, CML, or racked hardware.
Do I need a home lab, EVE-NG, or CML to learn network automation?
No. Network automation practice needs a place to run Python, realistic device data to run it against, and a check that tells you whether your code worked. All three run in a browser, without a rack, a hypervisor, or a licensed device image.
That answer surprises network engineers because it was not true for learning networking. Routing protocols need routers, so a generation of us built home labs, and the habit carried over. But when the skill is automation, the device only supplies the input data. A parser that extracts neighbors from show cdp neighbors detail output does not care whether that output came from a lab rack or a file.
Browser labs win on more than convenience. Most network engineers quit during setup. Hours into EVE-NG images, RAM upgrades, and image hunting, lesson one still has not started, and the motivation that was supposed to carry them through the course got spent on the hypervisor. For this note, we priced the five common lab paths honestly and put a stopwatch on our own claim.
How fast is a browser lab really? We timed ours.
We test our own claims. We ran the RouteSwitchU lab runner (the same Pyodide-plus-pytest engine the course uses, on a local build of the production code) in Chrome on a Mac and timed a graded run of the lesson 4 lab, which has 12 tests.
Measured results, 2026-08-13:
- Warm graded run: 8.7 seconds from clicking Run tests to a scored result. That includes running real pytest against the lab’s bundled fixtures inside a Web Worker.
- First run of a session is slower because the browser downloads the Python runtime and the pytest packages. Ours finished in under a minute. Our first attempt ran in a backgrounded automation tab, the browser throttled it, and the lab hit its own time limit. The runner reset itself and kept the draft. That recovery behavior is part of the design, so we are reporting it rather than hiding it.
- Grading is deterministic. We also ran the repo’s parity harness, which grades all 33 course labs three ways (starter code, reference solution, deliberately wrong solution) in a Pyodide runtime. Every starter failed, every solution passed, every wrong solution was caught. The whole 33-lab run took 11.4 seconds of wall time on the same machine. For comparison, that is less time than an EVE-NG VM takes to boot.
Here is the actual output of a graded run on unmodified starter code. This is what failing looks like, per test, with the exception that caused it:
0 of 12 tests passed. Fix one failure, then run again.
FAIL: test_oracle_up_interfaces
E NotImplementedError
FAIL: test_oracle_implements_the_pinned_contract
E NotImplementedError
FAIL: test_disagreements_catches_extra
E NotImplementedError
FAIL: test_hallucinated_ips
E NotImplementedError
FAIL: test_round_decision_bands
E NotImplementedError
FAIL: test_recorded_chat_answer_is_rejected
E NotImplementedError
...
No AI or cloud service scored that. A pytest suite ran in the browser tab and reported what your code did.
What does each lab option actually cost? The setup-tax table.
Prices checked 2026-08-13. RouteSwitchU numbers are tested (above). Setup times for the other options are estimates from our own experience building them, and they are labeled that way.
| Option | Up-front cost | Time to first working lab | Ongoing cost | Genuinely best for |
|---|---|---|---|---|
| Home hardware lab | Roughly $200 to $800+ for used routers and switches | Days: sourcing, shipping, cabling, console access, images (estimate) | Power, space, aging gear | Hardware behavior, physical-layer quirks, the full CCIE experience |
| EVE-NG | Software free (Community, end-of-life June 2026) or about 150 EUR/year (Pro); needs a 16 GB+ RAM machine you may not own yet, and you supply your own device images. | Hours to a full weekend, mostly image hunting (estimate) | License renewal, the machine | Multi-vendor topologies on your own hardware |
| Cisco Modeling Labs | $199/year Personal (20 nodes), free tier at 5 nodes; images included; needs a capable PC or VM host. | A few hours if your hardware cooperates (estimate) | $199 every year | Cisco exam topology practice with legal, included images |
| Cloud-hosted labs (for example CloudMyLab) | $0 hardware; hosted EVE-NG Pro plans run roughly $100 to $260/month. | About a day, mostly provisioning and access setup (estimate) | The monthly fee, forever | Big topologies without owning any hardware |
| RouteSwitchU browser labs | $0 for the 10-lesson free track; account is a username and password, no email address. | Minutes: two-field signup, open lesson 1, first graded run finishes in under a minute cold and 8.7 seconds warm (tested). | Nothing for the free track; $249 one-time for the full course | Learning Python and automation with a test suite checking every lab |
The last column names what each option is actually for. Browser labs are the cheapest and fastest option, which fits the specific skill of automation. Hardware, EVE-NG, and CML cost more because they serve the different skill of networking itself, including topology and control-plane behavior.
Are browser-based graded labs a legitimate way to learn?
For automation, yes, as long as the labs are graded. A browser lab that just gives you a Python prompt is a toy. A browser lab that runs a real test suite against your code and tells you which of 12 checks failed is the same feedback loop professional software teams use, applied to network data.
Most browser lab sites skip that grading step. netpilot.io has genuinely useful write-ups on browser network simulators, and NRE Labs deserves credit for pioneering the browser-lab idea for network automation years ago. But a simulator without a grader leaves you to eyeball your own output, and mistakes you grade yourself tend to survive. Every RouteSwitchU lesson ends in a lab where pytest decides, pass or fail, no guessing. Grading runs on pytest inside your browser, against your own code, independent of any AI service, cloud account, or rack hardware, so a pass means the same thing on your machine as on ours.
The limits are just as real. A browser lab does not emulate a control plane, so you will not watch an OSPF adjacency form, break spanning tree, or feel a device behave differently from its documentation. Our labs hand you recorded device output and simulated inventories because that is what automation code consumes. That is a deliberate boundary. The next section covers exactly when you need real emulation instead.
When is a home lab or CML the right call?
When the skill you are building is networking itself, or the exam demands it.
I hold a CCIE, and there is no browser version of that preparation. If you are working toward CCIE-level depth, chasing multi-area topology behavior, or studying failure modes that only appear on a real control plane, buy CML or build the EVE-NG box. The $199/year for CML Personal is fair for what it does, and included legal images remove EVE-NG’s worst friction. Racked hardware still teaches things emulators cannot, including bad cables, weird transceivers, and the way real gear ignores the datasheet.
The same honesty applies to courses. If you want deep, instructor-led Netmiko and Nornir training, Kirk Byers’ courses are the standard and worth the money. Our claim is narrower. To start learning network automation, the lab-hardware step is not required, and putting it first stalls most network engineers before lesson one.
Where to start
The free Python foundation track is 10 lessons, each ending in a graded browser lab like the one in the transcript above. It needs a username, a password, and a current browser. It does not need an email address, a credit card, or a hypervisor.