When I told my dad I had started learning Azure, he asked me one question.
“Where did you start?”
I mentioned tutorials, some documentation, and browsing the portal.
He said something simple:
“Start with compute. Everything else in the cloud builds on top of it.”
At the time, it sounded obvious. Of course applications need computers to run.
But when I opened the Compute section inside Azure, I started seeing what he actually meant.
The moment cloud stopped being abstract
In tutorials, cloud computing often feels very conceptual.
You hear words like scalability, high availability, distributed systems, and managed services.
But those are still ideas.
When you open the Compute section in Azure, the abstraction disappears.
Suddenly you see things like:
- Virtual Machines
- Virtual Machine Scale Sets
- Images
- Availability Sets
At first glance, it looks like a lot of different services.
But underneath, they all revolve around one question:
Where does your code actually run?
Because before anything else in the cloud can exist - databases, APIs, storage, authentication - something has to execute the code.
And that something is compute.
Virtual Machines: the cloud version of “another computer”
The first thing that stood out to me was Virtual Machines.
I already knew the concept. A virtual machine is basically a computer running inside another computer.
But seeing it in the cloud made it feel different.
Instead of running a VM on my laptop, Azure was essentially offering me a computer somewhere in a data center.
CPU. Memory. Disk. Operating system. All configurable.
Which immediately made me realize something:
Running a VM isn’t just about deploying code. It means you’re responsible for the machine.
That includes things like:
- managing the operating system
- updating dependencies
- monitoring resource usage
- handling crashes
- planning for scaling
Suddenly cloud felt less like a magic deploy button and more like real infrastructure, And that's when it made sense for me...
Why abstraction exists in the first place
This also made me appreciate platforms like Vercel more.
When I deploy projects there, I never think about:
- CPU
- RAM
- operating systems
- load balancing
Those problems are handled for me.
Azure still provides those abstractions too, through services like App Service and Functions.
But it also lets you go deeper.
And that’s the interesting part.
Cloud platforms operate on layers of abstraction.
At the lowest layer, you have machines.
At higher layers, those machines disappear behind managed services.
Understanding compute is like seeing the foundation under the building.
The moment cloud felt more real
Before this, deployment always felt like the final step of building something.
You finish coding, push your repo, click deploy, and move on.
But seeing compute changed that perspective slightly.
Deployment isn’t the end. It’s the point where your code finally meets the machines that will run it.
And suddenly questions like these start to matter:
- How many machines are running my app?
- What happens if one crashes?
- What happens when traffic spikes?
- How much does it cost to keep these machines running?
I still have a lot to figure out
Ironically, I wasn’t even able to experiment much yet because I ran into an account issue while trying to explore the free tier.
So most of this realization came just from exploring the compute section and thinking through what these services represent.
But even that small exploration already made the cloud feel less mysterious and more tangible.
Where this journey goes next
This is the second step in a small series where I’m documenting what I learn while exploring Azure and cloud architecture.
Last time, I wrote about opening the Azure Portal and realizing how big the cloud ecosystem actually is.
This time, I realized something simpler:
Everything eventually comes back to machines.
Compute is where cloud stops being abstract and starts becoming engineering.
And now I’m curious:
If you’ve worked with cloud platforms longer than I have,
what was the moment when cloud finally “clicked” for you?
Was it compute, networking, containers, something else entirely?
Because I feel like I’ve only just found the first layer.

Top comments (15)
You’re lucky to have a great senior developer mentor who understands you well, your father, nearby. Good luck on your cloud journey! ☁️☁️☁️
Thanks WDH!! Truly, I am grateful to have him as my father!
Honestly, after building a server in real life, I had a leg up when trying to create one in the cloud! I am still learning, but knowing how to configure one in real life gives you the ABCs of cloud as well!
In my short experience, an actual server is hardware service. Then you have platform as a service, then you have software as a service. It depends how much control you want and what it is you are after.
If you wanna try something interesting, try setting up a cloud server and self hosting n8n to yourself locally. Its a learning experience for sure! 💕🦄✨️
Oh wow! That's great Anna! It sounds like a great experiment, I'll definitely give it a try!
Ooooo! Let me know how it goes when you get to it! Im excited for you. ✨️
The most profound advice is often the simplest. Start with compute three words that can save months of confusion. Thanks for sharing this!
Exactly Harsh, certainty and speed together are a deadly combo!!
I would slightly reword - Understand Windows on your Laptop.
Start with your laptop. If you are using Windows, understand everything runs on windows, and with a WSL - explore Ubuntu. Then you can easily work on cloud.
Windows - command-lines, processes, find, search, kill, schedule, firewal, allow ports, device managers, upgardes, network configuration, dhcp, static ip. wireless, blue-tooth. Video recording using OBS, video editing. setting up database, a web server.
html/css/javascripts do need server to run and so on. Bunch of shotcuts on windows. And all about VSCode.
With Ubuntu - you can try all of basic linux commands, shell scripts, cron jobs, install packages etc.
I see this a huge gap, when I do coaching with Engineering graduates. These are must, earlier the better for everyones career in IT. Good Luck.
That is definitely true, and often missed link of the long chain in IT. Covering basics is important before moving to complex topics... Thanks for pointing this out Raghavendra!
Your dad's advice is spot on. Understanding what's actually running your code changes how you think about everything.
I took this to the extreme — I run 13 projects including LLM inference on a single RTX 5090 at home, served through Cloudflare Tunnel. No cloud VMs, no monthly bills scaling with traffic. The tradeoff is you become your own sysadmin, but for solo projects the cost savings are massive.
That said, knowing Azure compute fundamentals is valuable even if you go self-hosted — it gives you the vocabulary to understand what you're replacing and when cloud actually makes more sense.
Damnnn, that IS extreme!!!
And yes definitely, knowledge is never wasted!
It's easy to just see the cloud as a bunch of abstractions but understanding the actual inner workings definitely helps build better intuitions for computing and programming. Thanks for the reminder and sharing this post!
Thank you for the supportive comment Julien! Really appreciate it!
Wow, such great post for understanding about compute
Thank you Ashish!