Compute
AWS EC2 · GCP Compute Engine · Azure Virtual Machines — a rentable server, billed by the hour or second.
Lesson 2 of 4 · ⭐ Gap priority
Every company names its infrastructure a little differently. Underneath, it's the same handful of primitives — learn those once instead of relearning them per employer.
Four building blocks show up in almost every cloud-hosted system, whichever provider is underneath.
AWS EC2 · GCP Compute Engine · Azure Virtual Machines — a rentable server, billed by the hour or second.
AWS S3 · GCP Cloud Storage · Azure Blob Storage — flat, durable storage for files, addressed by key.
AWS Lambda · GCP Cloud Functions · Azure Functions — run-on-trigger code that scales to zero.
AWS EKS · GCP GKE · Azure AKS — a control plane the provider runs for you; you still manage the workloads.
Jenkins, GitHub Actions, and CircleCI all implement the same four stages — the tool changes, the shape doesn't.
Compile or package the app into a deployable artifact — a container image, a binary, a static bundle.
Run automated checks (unit, integration, lint) against the artifact before it goes anywhere near production.
Ship the artifact to an environment, often via a rolling or blue/green strategy to avoid downtime.
Revert to the last known-good artifact fast, without re-running the whole pipeline, when a deploy misbehaves.
Every service you'll touch is a process listening on a port, reachable because DNS and routing agree on how to get there.
DNS turns a name into an IP address; a resolvercaches that answer for the record's TTL, which is exactly why a change can take a while to show up everywhere. Once you have an IP, the OS decides how to route to it, and the remote process is either listening on the port you're hitting or it isn't. Four commands cover most first-pass diagnosis: dig (what does this name resolve to, and where), curl -v (what actually happens on the wire), ss -tlnp (what's listening locally), and ping/traceroute (basic reachability).
Look at the sanitized dig/curl output below, then work through both exercises.
$ dig +short api.internal.example.com
10.0.4.12
$ curl -v https://api.internal.example.com/healthz
* Trying 10.0.4.12:443...
* connect to 10.0.4.12 port 443 failed: Connection refused
* Failed to connect to api.internal.example.com port 443
$ dig +short api.internal.example.com @8.8.8.8
10.0.4.55Answer in your head first, then click a question to reveal the answer.
Work through the sample dig/curl output and check each item off. Progress is saved in your browser.
These primers are a starting point. Read the primary sources to build real fluency.
What building this project taught me.
Cloud infrastructure fundamentals was Tom's #3 self-identified gap across a scan of 30+ job descriptions — sequenced second in this trail, right after the top-priority containers module.
Deep dives on any single provider's console or IAM model are out of scope here. The goal is enough shared vocabulary to onboard onto whichever provider a given company uses, fast — not certification-level depth in one of them.