Learning Cloud Engineering with Learn to Cloud
A few days ago, I saw tweets about AI companies’ infrastructure plans and the engineers needed to support them. They reminded me of something I had been putting off: learning DevOps.
I’m a software engineer who builds web and mobile applications. I want to understand more of the infrastructure those applications run on, and this felt like a good time to start. Cloud engineering and DevOps are still areas I’m learning.
There are plenty of resources to choose from. I picked Learn to Cloud because it’s free and gives me a structured path to follow.
The first two phases #
The curriculum currently has eight phases, numbered 0 through 7. It starts with the basics, Linux, and networking, then moves into programming, cloud deployment, DevOps, security, and job preparation. There is also a verification workspace for submitting work and getting feedback.
I’ve finished Phase 0, Starting from Zero, and Phase 1, Linux and Bash. Each took me one day.
Phase 0 felt like a checkbox for me. Phase 1 gave me more to work through: a capture-the-flag (CTF) lab on a temporary EC2 instance. The challenges involved logs, /etc/passwd, Base64, SSH keys, cron, process environments, and nested archives.
I hated the CTF. I wanted to build something, and hunting for hidden flags felt like a detour. But it did expose gaps in how I investigate a Linux system.
I already use the command line for development, so ls wasn’t the lesson. The useful part was figuring out where to look when I wasn’t root, a filename was misleading, or the information was tucked away in a process environment.
Two mistakes worth remembering #
The first was an SSH mistake. I ran ssh-copy-id on my Mac against localhost. That targeted my own machine; the lab instance was the machine that needed the key.
The lab account required key-based authentication, so I couldn’t rely on a password login to copy the key over. I needed to put my public key in that user’s ~/.ssh/authorized_keys on the instance using an access method I already had, then connect with ssh -i and the matching private key.
Before looking for a more complicated explanation, check the search term.
Cleaning up and moving on #
The lab was created with terraform on AWS. They offer free tier so I use it. Then, after finishing the lab, I ran terraform destroy. It removed 12 resources, and the instance was gone before I closed the laptop. Cleaning up was part of finishing the exercise.
I still don’t enjoy CTFs, but Phase 1 is done. Next is networking, then building something I can deploy. That’s the part I’m looking forward to: connecting what I learn about infrastructure to an application I can actually run.