Want to Learn DevOps but Don’t Know Where to Start? Here’s Your Guide!💡

Mathesh M E
6 min readMay 19, 2024

--

Hello Everyone, In this blog I will share some tips that I learned during my DevOps learning journey. I’ll also explain how I started my DevOps journey, the paths I followed, and what you can follow for a better future in DevOps. You can also check my LinkedIn profile to see what I’ve done in DevOps so far, and find all of my DevOps projects on my GitHub.

I will try to explain the tools path as well. You can find all my notes in the links I share and I’ll also try to share the courses I used.

You can contribute to my notes (they are in a GitHub repository) if you want. Just create a Pull request I will review it and merge it.

Now let’s start. Before getting into the learning paths, we’ll try to understand DevOps first. This won’t be a book definition just some words about DevOps I’ve gathered so far

What is DevOps?

DevOps in simple words, is a methodology that organizations follow to combine their development and operations teams into one unified team. This way both teams work together to develop and deploy applications efficiently.

DevOps is an umbrella term that includes a variety of tools used to automate the processes of developing and deploying applications.

One of the main benefits of DevOps is that by automating these processes, it becomes less time-consuming and less prone to errors compared to manual methods. This automation leads to a shorter Time to Market (TTM), making it ideal for fast-growing companies.

How I Started My DevOps Learning Journey 🤔?

To be frank I didn’t initially plan to learn DevOps. My journey began with an interest in cloud computing. As I delved deeper into cloud technologies, I realized that DevOps and cloud computing are closely related and complement each other very well.

When I started learning about the cloud and DevOps I only had a basic understanding of Python. I struggled to find the right learning resources and the best order to learn the various technologies involved. To figure out the path I read lots of blogs and watched many YouTube videos. These resources helped me understand how to start a career in both DevOps and cloud computing.

What are the Difficulties I Faced?

One of the main difficulties I faced was finding the correct resources to learn from. There are countless tutorials, blogs, courses, and videos out there, but not all of them are suitable for every learner. Here’s how I tackled this challenge:

  1. Resource Overload: With so many resources available it was overwhelming to decide which ones to follow. I spent a lot of time sifting through different materials to find the ones that matched my learning style.
  2. Pacing and Understanding: Everyone learns at a different pace and in different ways. I needed to find resources that matched my speed and level of understanding. Some materials were too advanced, while others were too basic.

Learning Path

Below is the Learning path I followed during my DevOps Journey, You guys can ignore some technologies if you know it already

1. Start with Programming Basics (Python or Golang)
First things first you’ll need to learn a programming language. Python and Golang are great choices. Start with the basics like variables, loops, and functions.

2. Understand Computer Networking
Next get to grips with computer networking. This is all about how computers connect and communicate with each other. Learn about IP addresses, DNS, and basic networking concepts.

3. Get Comfortable with Linux and Bash
Most DevOps tools run on Linux, so it’s crucial to know your way around this operating system. Bash is a command-line tool in Linux that you’ll use to write scripts and automate tasks. Don’t worry you don’t need to be a Linux guru just get comfortable with the basics.

4. Master Version Control with Git
Git is a tool that helps you track changes in your code. It’s like a time machine for your projects. Learn how to save your work, track changes, and collaborate with others.

5. Learn a Cloud Provider (AWS, Azure, Google Cloud)
Cloud providers let you rent computers and storage over the internet. AWS (Amazon Web Services) is a popular choice, but Azure and Google Cloud are great too. Learn how to use these platforms to deploy and manage your applications.

6. Dive into Containerization with Docker
Docker allows you to package your applications so they can run anywhere, from your laptop to a massive cloud server. Think of it as a portable container for your apps. Learn how to create and manage these containers.

7. Pick a CI/CD Tool
CI/CD stands for Continuous Integration/Continuous Deployment. Tools like Jenkins, CircleCI, or GitLab CI automate the process of testing and deploying your code. Jenkins is a common choice. Learn how to set up automated pipelines to streamline your development process.

8. Manage Infrastructure with Terraform
Terraform is a tool that lets you define your infrastructure (like servers and databases) as code. This means you can automatically set up and tear down environments with ease. Learn how to write Terraform scripts to manage your cloud resources.

9. Automate Configuration with Ansible
Ansible helps you automate the configuration of your servers. Instead of manually setting up each server you can write a playbook (a simple script) that does it for you. This saves time and reduces errors.

10. Orchestrate Containers with Kubernetes or Docker Swarm
When you have lots of containers you need a way to manage them. Kubernetes (often called K8S) and Docker Swarm are tools that help you deploy, manage, and scale your containerized applications. Learn how to use these tools to keep everything running smoothly.

11. Monitor with Prometheus and Grafana
Monitoring is key to keeping your applications healthy. Prometheus collects data about your application’s performance, and Grafana lets you visualize this data with beautiful dashboards. Learn how to set up monitoring to catch problems before they become big issues.

By following these steps, you’ll can build a solid foundation in DevOps. Start from the basics and move through each step at your own pace. Happy learning!

Resources for the above Technologies:

Let Me Start with My own Notes I have created GitHub repositories for most of what I’ve learned. You can follow these repositories and you can also create a pull request to merge your notes. You can find the project list for each tool I’ve worked on in each repository as well.

Ansible Learning Repository: Click here

Docker Learning Repository: Click here

Kubernetes Learning Repository: Click here

Argo CD Learning Repository: Click here

Jenkins Learning repository: Click here

Git, Networking, Linux Repository: Click here

Now I’ll share the resources I used, and you can use them without worries. I hope they will help you.

  • For learning cloud computing, you can use their official learning platforms. For example, AWS has AWS Skill Builder, and Azure has Microsoft Learn etc.,
  • For learning DevOps tools, I recommend utilizing official documentation effectively. If you prefer tutorials, I recommend Abhishek Veeramala on YouTube. You can use his YouTube playlists for various tools. He has also created many Zero to Hero series for several tools. For Git, Linux, and Networking, you can find videos on Abhishek Veeramala’s YouTube channel.

For the best understanding and real-time experience of these technologies, I recommend participating in live bootcamps. There are many free bootcamps for Cloud and DevOps available on the internet. If you have the chance to join a bootcamp, try to utilize this opportunity as well.

Let’s Connect on LinkedIn: LinkedIn Profile

Explore more Hands-On Projects(If you found my Repositories as helpful, Don’t forget to Follow me on GitHub): My GitHub Account

--

--