Skip to main content

Command Palette

Search for a command to run...

DevOps Roadmap 2024

DevOps Roadmap along with the resources

Updated
7 min read
DevOps Roadmap 2024

Before we start you can check out this blog by Nana:

In the above blog, she gave a few reasons why to choose DevOps as a career and some downsides as well.

What is DevOps?

DevOps is a culture or a set of practices that integrates developers and operations teams to improve collaboration and productivity by automating infrastructure, automating workflows, and continuously measuring application performance.

What do DevOps engineers exactly do:

DevOps engineers are someone who are responsible for deploying an application which includes creating servers, and databases and configuring them along with that they are also responsible for monitoring and troubleshooting so they need to make sure that the software does not break when it is released and it is working fine all the time.

DevOps engineers love automation:

They will try to automate every single thing. They automate repetitive stuff and also automate the creation of infrastructure for an application or configuration even the complete deployment is automated

Learning resource:
What is DevOps? REALLY understand it | DevOps vs SRE

1. What is a 12-Factor App? | Twelve-Factor App Methodology:

12 factor app methodology for building distributed applications that run in the cloud and are delivered as a service. We'll cover everything from codebase management to service dependencies, and show you how following these best practices can help you build scalable, resilient, and easily maintainable applications.

Link to study: https://www.youtube.com/watch?v=1OhmRmMsGdQ

1.1 Software Development Life Cycle (SDLC)

Software development life cycle (SDLC) is a structured process that is used to design, develop, and test good-quality software.

As you work closely with the development team to make their tasks better and easier, it's important to know:

  1. How developers do their work.

  2. The steps and processes they follow.

  3. How they work together to create new features.

  4. Understanding modern methods like agile and scrum.

  5. Knowing the specific way they use Git for their work.

  6. Getting the overall picture of how software is created, from the idea stage to writing the code, all the way to giving it to users.

Learn about SDLC

1.2 DevOps Prerequisite (freecodecamp)

The course covers the basic prerequisite knowledge needed for your journey into the Cloud and DevOps world. You will learn things like:

  • Setting up a basic lab environment using VirtualBox

  • Dealing with networking issues using the Linux command line

  • Switching and routing

  • YAML, and more.

Click to go on course video

Addition resource to learn YAML:

Course video

2. Operating System - Linux

As a DevOps engineer, you manage the servers where applications run.

Linux is the go-to choice for servers, and Most DevOps tools are Linux-based; so knowing Linux commands helps a lot in server management and handling DevOps Tasks. Popular Linux Distributions: Ubuntu, CentOS, Debian, Arch Linux, and more.

The Most used and for beginners Linux distribution is Ubuntu. My recommendation is to install Ubuntu in your system, The suggestion is to install it for the first time as dual bool and after you get used to it then install it as a main OS.

Linux Course on Edx

3. Networking

Networking concepts are very important for DevOps/ Cloud engineer roles. Learn how the internet works, the fundamentals of networking, the OSI model deep dive, networking protocols, devices, tools, and more with real-life examples. Below are a few resources to learn about it.

  • Concepts to know:

  • - IP Addressing

  • - Ports and Protocols (TCP/IP, UDP, HTTP, DNS)

  • - Network Services (DHCP, DNS)

  • - Routing and Switching Basics

  • - Authentication and Authorization

  • - Security Best Practices

  • - Shift-Left Security

  • - Firewalls and Network Security

Networking for DevOps course video

Another resource:

Course Video

4. Scripting/Programming languages

DevOps Engineers automate tasks to streamline software delivery and enhance efficiency. Scripting is typically carried out using OS-based languages such as BASH and Powershell, or standalone languages like Python or Golang.

The resources to Learn:

  1. Golang Beginners course

    Course Video

  2. Python for DevOps

    Course Video

  3. Shell/Bash Scripting

    %[https://www.youtube.com/playlist?list=PLIhvC56v63IKioClkSNDjW7iz-6TFvLwS]

5. Git & GitHub

What should you know:

1. Branching:

- Create, switch, and delete branches.

- Understand the role of feature branches.

2. Git Commands:

- Master basic commands (init, clone, add, commit, push, pull, merge).

- Explore advanced commands (rebase, cherry-pick) for complex workflows.

3. Pull/Merge Requests:

- Create, review, and merge pull requests (GitHub) or merge requests (GitLab).

- Emphasize collaborative code review practices.

4. GitHub/GitLab :

- Learn how to use and store code on remote git repositories.

Other Learning resources:

Complete Git and GitHub Tutorial (Kunal Kushwaha)

6. Cloud

Cloud computing is a technology that allows users to access and use computing resources (like storage, processing power, and applications) over the internet instead of relying on local servers or devices.

There are Mainly 3 cloud services:

  1. AWS

  2. Azure

  3. Google Cloud Platform (GCP)

Here is the resource to learn about AWS

• AWS Certified Cloud Practitioner Cert...

7. Docker

Docker is a tool that helps you run your application in an isolated environment. Docker creates an isolated environment often called a "container" where you run your application without getting affected by external factors. This helps in solving the major problem and is often a joke "But this works on my computer". You can easily share images to spin up containers and it would work the same as it would run on the machine it was built on. This is a very effective tool while deploying your application to production

Learning resources:

8. Kubernetes

When using microservices an application can have hundreds or thousands of containers on multiple servers. Managing, scaling and other operations for these containers require container orchestration tools like Kubernetes.

Kubernetes course (techworldwithnana)

Course Video

Some other resources to learn:

9. CI/CD

The continuous Integration/ Continuous Delivery(CI/CD) pipeline ensures that each code change, whether introducing new features or fixing bugs, seamlessly integrates into the existing application and deploys continuously and automatically for end-users. This automation streamlines development processes, promotes consistency, and speeds up the delivery of software innovations.

  • CI/CD Tutorials (techworldwithnana)

    Course Videos

  • GitHub actions with Google Cloud Run

    Course Video

  • Popular CICD tools: Gitlab CI, GitHub Actions, Jenkins, Circle CI.

10. Infrastructure as code (IAC)

Tools like Terraform and Ansible use the IaC concept to automate the manual creation and configuration which are time-consuming and error-prone.

11. Observability

Once the software is released you need to continuously monitor it to track performance and discover problems

Resources to learn:

12. Chaos Engineering

Chaos Mesh is a cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments. At the current stage, it has the following components:

  • Chaos Operator: the core component for chaos orchestration. Fully open-sourced.

  • Chaos Dashboard: a Web UI for managing, designing, and monitoring Chaos Experiments; under development.

These are the resources to learn Chaos

13. Service mesh

Companies use service mesh to enhance the reliability, observability, and control of their microservices architecture. It simplifies the management of communication between microservices, providing features like load balancing, service discovery, encryption, and monitoring.

Popular Service meshes: Istio, Consul connect, Linkerd

Resources to learn:

14. Other learning resources:

This roadmap is created using multiple resources and under the guidance of a few mentors. And I'm following this to learn DevOps tools and technologies.

Happy Learning guys...

DevOps

Part 14 of 14

In this series I'll share all my learning and experiences of Cloud/DevOps & Cloud-Native. Access website here: https://devops.devsuraj.me

Start from the beginning

Why NGINX Still Powers the Modern Web in 2025: Part 1

NGINX Fundamentals: Architecture, Configuration, and Real-Time Hands-On Practice