When people think about getting into Cloud or DevOps, it’s easy to jump straight into technologies like Kubernetes, Docker or AWS. I felt that temptation too. After all, those are the tools that appear in job descriptions and technical discussions.
Over the past week, though, I’ve been working through the IT Fundamentals course on KodeKloud, and it’s reminded me why building a strong foundation matters.
Rather than focusing on cloud platforms, I’ve been learning how computers actually work beneath the surface. Topics like memory, storage, data buses, operating systems and applications might not seem exciting at first, but they’re the building blocks that everything else relies on.
The more I learn, the more I realise that understanding these fundamentals makes the more advanced topics feel much less intimidating.
The Problem
As someone transitioning from hospitality into Cloud and DevOps, I don’t want to become someone who can follow tutorials without understanding what’s happening underneath.
It’s possible to memorise commands, deploy cloud resources and even automate infrastructure without really understanding how a computer processes information. But eventually those gaps show up when something doesn’t work as expected.
I wanted to strengthen that foundation before moving deeper into Linux, networking and cloud technologies.
My Approach
I’ve been working through the IT Fundamentals course on KodeKloud, taking my time with each section rather than trying to finish it as quickly as possible.
Instead of simply watching the lessons, I’ve been making notes, sketching diagrams and stopping regularly to think about why each component exists and how it interacts with everything else.
The topics I’ve been studying include:
- CPU fundamentals
- RAM and system memory
- Storage devices
- Data buses
- Motherboards
- Operating systems
- Applications and software
- Basic hardware architecture
One thing I’ve found particularly useful is relating each topic back to the computers I use every day instead of treating everything as abstract theory.
Understanding Computer Architecture
Before this week, I knew that computers contained a CPU, memory and storage.
Now I have a much better understanding of how they actually work together.
A simplified version of the process looks something like this:
When an application starts, it isn’t running directly from the SSD.
The operating system loads the required files from storage into RAM because RAM is dramatically faster than permanent storage. The CPU then continuously fetches instructions and data from memory while executing the program.
That also helped explain why having enough RAM makes such a noticeable difference to performance. Even a fast SSD is significantly slower than RAM, so if the operating system constantly needs to move data between memory and storage, everything starts to feel sluggish.
Understanding this relationship made the purpose of each hardware component much clearer.
Memory vs Storage
One of the concepts I wanted to understand properly was the difference between memory and storage.
At first glance they can seem similar because both hold data, but they serve very different purposes.
RAM is temporary working memory.
It stores the information that the CPU needs immediate access to while programs are running. Once the computer is powered off, that information disappears.
Storage, on the other hand, is permanent.
Whether it’s an SSD or HDD, it keeps your operating system, applications and personal files even when the machine is switched off.
Thinking about RAM as a workbench and storage as a warehouse made the distinction much easier to remember.
Understanding Data Buses
Another topic that I previously knew very little about was data buses.
I’d heard the term before but never really understood what they did.
The data bus acts as a communication pathway that allows information to move between components such as:
- CPU
- RAM
- Storage
- Input and output devices
Without these communication pathways, each hardware component would effectively be isolated.
Learning about buses also helped explain why motherboard design matters. It’s not simply about connecting components together—it influences how efficiently information moves around the entire system.
Operating Systems and Applications
One of the biggest takeaways this week has been understanding the role of an operating system.
Before, I thought of Windows or Linux simply as the software you interact with.
Now I see the operating system as the layer that manages the computer’s resources.
It handles responsibilities such as:
- Managing memory allocation
- Scheduling CPU time
- Managing storage
- Handling hardware devices
- Running applications
- Providing security and permissions
Applications don’t communicate directly with hardware.
Instead, they make requests to the operating system, which then interacts with the underlying hardware on their behalf.
That separation makes much more sense now than it did before.
It’s also made me appreciate why Linux knowledge is so valuable in Cloud and DevOps.
Understanding how an operating system manages resources will become increasingly important as I continue learning servers, containers and cloud infrastructure.
Challenges
The biggest challenge wasn’t memorising terminology.
It was understanding how all the components fit together as one system.
Initially I found myself learning each topic in isolation:
- CPU
- RAM
- Storage
- Motherboard
- Operating system
But eventually I realised that’s not how computers actually work.
Each component constantly depends on the others.
Once I started thinking about the complete journey—from opening an application, to loading data from storage, into memory, being processed by the CPU, and displayed on screen—the individual concepts became much easier to understand.
Slowing down and connecting those ideas together has helped far more than trying to memorise definitions.
Key Lessons
- Strong technical foundations make advanced topics much easier to learn.
- Understanding why something works is more valuable than simply remembering terminology.
- Computer components are designed to work together as a complete system rather than independently.
- Operating systems play a much larger role than simply providing a user interface.
- Taking time to build conceptual understanding leads to better long-term retention than rushing through a course.
What I’d Do Differently
Looking back, I probably would have started learning these fundamentals earlier.
When you’re eager to work in Cloud or DevOps, it’s tempting to jump straight into AWS or Kubernetes because those technologies seem more exciting.
I’m beginning to appreciate that understanding what’s happening underneath makes those higher-level technologies much easier to grasp.
Going forward, I’d also like to spend more time reinforcing these concepts with practical exercises alongside the theory. Reading is useful, but applying what I’ve learned will help those ideas stick.
Next Steps
My focus over the next few weeks is to continue progressing through the KodeKloud IT Fundamentals course while strengthening my understanding of Linux and networking.
Once these fundamentals are firmly in place, I’ll feel much more confident moving into cloud infrastructure, automation and DevOps tools.
Building a career in technology isn’t about rushing through courses. For me, it’s about building knowledge layer by layer so that each new concept has something solid to stand on.

Top comments (0)