Module 0 — Orientation & Skills Assessment
Goal: map what you already know from telecoms onto cloud engineering, find out exactly where you're starting from, and get you logged into the lab.
0.1 Why a telecoms engineer already half-knows this job
| You know this (telecoms) | It becomes this (cloud) |
|---|---|
| OSI layers 1–3, transmission, framing | Same OSI model; you'll now live at layers 3–7 |
| Circuits, E1/SDH capacity planning | Bandwidth, autoscaling, capacity as code |
| NOC monitoring, alarms, severity levels | SRE, Prometheus alerts, paging, SLOs |
| Truck roll to fix a site | terraform apply / redeploy — no van required |
| Site survey + install method statement | Architecture diagram + Infrastructure as Code |
| DNS? You've configured routers & NTE | DNS, DHCP, routing — now in software (VPC) |
| Change windows, MOPs, rollback plans | CI/CD pipelines, blue/green deploys, rollbacks |
| SLA on a leased line (99.9%) | SLI/SLO/SLA and error budgets — module 7 |
The mental shift: infrastructure stops being physical objects you visit and becomes text files you version-control. Everything else is the same discipline you already practise: plan, change, verify, monitor, roll back.
0.2 Skills assessment (instructor asks, student answers)
Score each 0 (never seen it) / 1 (heard of it) / 2 (used it) / 3 (comfortable).
Linux
1. Have you ever opened a terminal on Linux or macOS? What did you run?
2. What does cd do? What about ls -l?
3. What's the difference between a file's owner and group?
4. Have you edited a config file on any device via CLI (router, PBX, NTE)?
5. What is SSH? Have you used PuTTY/ssh to reach kit in the field?
Networking 6. Sketch the OSI model from memory. Which layers have you worked at? 7. What's the difference between a switch and a router? 8. What does DNS do? What happens when you type a URL and press Enter? 9. What is NAT? Where have you seen it? 10. Subnetting: what does /24 mean?
General computing 11. Have you written any script or macro, ever (Excel counts)? 12. Do you have a GitHub account? Do you know what git is? 13. What's a VM? A container? (Guesses welcome.)
How to tailor from the scores
- Linux total ≤ 5: run module 1 in full, slow pace, all labs typed by hand.
- Linux 6–10: module 1 at normal pace; skip lab 1.1.
- Networking total ≥ 10 (likely for a field engineer): compress module 2's OSI/DNS theory to a 30-minute recap and spend the time on TLS + 3-tier labs instead.
- Q12 = 0: insert the git primer (module 6, section 6.1) right after module 1.
Record the scores — re-run the same questions at the end of the course. The delta is the student's proof-of-progress (and useful for their CV).
0.3 Lab access (do this together)
- Instructor:
terraform applyinterraform/, thenterraform output. - Student installs an SSH client (Windows Terminal + OpenSSH, or PuTTY).
- Keys: the lab accepts TWO keys — the student's own key and the instructor's key (both registered in the repo variables). Each of you uses your own private key; nothing is shared.
- Student connects (the hostname is dynamic DNS — it always points at the
lab box, even after stop/start changes its IP):
ssh ubuntu@lab.course.elhindi.net - First command ever:
echo "Hello from the cloud, $(whoami) on $(hostname)"
Talking point: that machine did not exist ten minutes ago. It was created by a text file. At the end of the course, the student will read that text file and understand every line — and by the capstone, write their own.
0.4 Ground rules
- Type every command in modules 1–2. Copy-paste is allowed from module 3 onwards.
- Keep a lab journal (
~/journal.mdon lab-box): date, what you did, what broke, how you fixed it. This becomes interview material. - It is impossible to break anything that matters. The whole environment is
disposable;
terraform destroy && terraform applyrebuilds it in minutes. Break things enthusiastically.
Quiz (end of session)
1. In one sentence: what is "the cloud"?
Someone else's computers, rented by the second, controlled through APIs — i.e. infrastructure you drive with software instead of visiting with a van.2. What file created your lab machine?
A Terraform configuration (terraform/main.tf in this repo). You'll read it in module 4.