I've learned some basic theoretical concepts of Cloud and DevOps during my CS degree, mostly focusing on AWS IAM and EC2, Docker, Kubernetes, and Terraform. However, I feel that practical experience is key to being a good developer. I'm wondering where to start my DevOps journey? What resources did you all use to learn DevOps, and what kind of projects would help me really understand its application in the industry? Thanks for any advice!
4 Answers
Getting comfortable with Linux is super important! It's really the backbone of most technologies in DevOps. Spend some time on the command line, and get familiar with the basics to build a solid foundation.
I'm in the same boat as you—finding good resources can be tricky. I suggest just diving in and installing various software you come across. For instance, Nextcloud is a fun project to set up and use. Once it's running, think about how you could improve its usability and security!
Start by bringing up a server manually and tweak its settings, get a hold of firewalls, networking, and package management. Install Docker and learn the CLI commands. Then move on to Docker-Compose and YAML, and experiment with Docker Swarm to deploy stacks.
Once you’re comfortable with containers, get into Terraform for infrastructure provisioning and Ansible for configurations. Consider diving deeper into Kubernetes—begin with light options like k3s, then try building it from scratch! Being hands-on with Linux is key, and Bash scripting will be your ally. Don't hesitate to learn a programming language as well!
With five years in the field, let me outline my approach: First, solidify your Linux skills; it's crucial. Second, understand the Software Development Life Cycle (SDLC); DevOps is more about efficient CI/CD processes than just tools. You'll need to grasp some architecture to get into Infrastructure as Code (IaC).
Then, think about scalability and resilience in your CI/CD workflows. What tools fit your needs? For instance, if you're using Docker, consider Kubernetes for orchestration. Finally, focus on observability and optimizing your processes. There's a lot to learn, but these steps will really kickstart your journey!

For sure, but I feel like getting insights from experienced developers is invaluable. Playing around has its place, but hearing what works for others can give you a better perspective.