Placeholder Image

Subtitles section Play video

  • If you're looking to break into DevOps or want to level up your skills, you're in the right place.

  • Today, I'm sharing the complete DevOps roadmap.

  • I'll walk you through the essential skills you need, the tools I personally recommend and how much time you should spend on each.

  • Assuming you dedicate 3 to 5 hours of studying every day, this roadmap should take you about 10 to 14 months to complete.

  • Let's jump right in.

  • First up, we have Linux Fundamentals.

  • Linux is the development environment.

  • As a DevOps engineer, you'll be setting up and maintaining the infrastructure where applications run.

  • Most servers use Linux so getting comfortable with it, especially the command line is crucial.

  • I recommend starting with learning Bash, which is the most commonly used shell and scripting language in Linux.

  • Spend about 2 to 3 weeks on this.

  • Make sure to learn basic Linux commands for working with the file system, permissions and ownership, processes and signals, as well as managing packages.

  • Next, you need to learn networking concepts.

  • Networking is all about how computers communicate with each other.

  • Think IP addresses and protocols.

  • You need to understand how data moves around, secure it, and troubleshoot network issues.

  • To get hands-on experience, I recommend using Wireshark.

  • Dedicate around 2 weeks on this.

  • Make sure to learn concepts like OSI and TCP models, IP addressing and subnetting, DNS and DHCP, networking protocols like HTTP, HTTPS, FTP and SSH, firewalls and security groups, and basic network troubleshooting using tools like ping, traceroute, and netstat.

  • Now let's talk about git.

  • Git is a version control system that lets you track changes in your code and collaborate with others.

  • It's essential for working on projects with a team and managing your code effectively.

  • Spend 1 to 2 weeks getting comfortable with git.

  • Make sure to learn basic git commands like clone, commit, push and pull, branching and merging, resolving merge conflicts, working with remote repositories and so on.

  • After that, you should dive into programming languages.

  • Programming languages like Python, Ruby, and Go are used to automate tasks and manage configurations.

  • While there are several other languages, I personally recommend Python for its simplicity, powerful libraries, and versatility.

  • Dedicate 4 to 6 weeks to build a solid foundation in Python.

  • Make sure to learn Python syntax and data structures like lists, dictionaries, sets and tuples, modules and packages, learn how to write and execute Python scripts, work with files, handle errors, write automation scripts and so on.

  • By the way, to help you on this journey, I've created a free supplementary PDF that breaks down the specific concepts you need to learn for each skill.

  • It's a great resource to review your progress, find gaps in your knowledge, and prepare for interviews.

  • You can find the link in the description box.

  • Also, I have a bunch of tutorials on this channel and complete courses on my website if you're looking for structured learning.

  • Again, links are in the description box.

  • Moving on, let's talk about cloud providers.

  • Cloud providers like AWS, Azure, and Google cloud platform offer a range of services for building and deploying applications.

  • If you're just starting out, I recommend focusing on one cloud provider and AWS is a great choice because it's the most widely used.

  • Spend about 4 to 6 weeks on this.

  • Make sure to learn how to launch, configure and manage virtual servers, store and manage data, get familiar with managing users, groups and roles, and how to set up and manage isolated networks.

  • Next up is containerization.

  • Containerization is all about packaging an application and its dependencies into a container to ensure it runs the same everywhere.

  • Docker is the go to tool for this.

  • Spend about 3 to 4 weeks getting comfortable with docker.

  • Learn how to create docker images, get familiar with starting, stopping and managing containers, learn how to write docker files, explore how to define and run multi container applications using docker compose and so on.

  • Now let's dive into continuous integration and deployment or CICD.

  • CICD automates the integration and deployment of code changes allowing for frequent and reliable releases.

  • Jenkins is a powerful tool for setting up CICD pipelines but other popular tools include GitLab CICD, Circle CI and Travis CI.

  • If you're starting out, just focus on Jenkins for its versatility and strong community support.

  • Dedicate 3 to 4 weeks on this.

  • Make sure to understand how to create and manage Jenkins pipelines, get familiar with writing Jenkins files, learn how to integrate automated tests into your pipelines, understand how to deploy your applications, explore how to automate the deployment of your applications to various environments and so on.

  • Moving forward, let's discuss orchestration and management.

  • Orchestration tools like Kubernetes and Helm help automate the deployment, scaling and management of containerized applications.

  • These tools are essential for managing complex applications in production.

  • Start with Kubernetes and spend about 4 to 6 weeks on it.

  • Make sure to learn about the overall architecture including the master node and worker node and how they interact, understand the key components such as pods, services and deployments, get familiar with managing resources, learn how to scale your applications as well as the networking model in Kubernetes.

  • Next we have networking and infrastructure services.

  • This involves setting up and managing services like reverse proxies, forward proxies, caching servers, firewalls and load balancers.

  • I recommend using Nginx for handling reverse proxies and load balancing.

  • Give this about 3 to 4 weeks of your time.

  • Learn how to set up and configure Nginx as a reverse proxy, understand how to configure it to act as a forward proxy, explore caching strategies to improve the performance and how to configure firewalls and security groups.

  • Now let's talk about configuration management.

  • Configuration management tools like Ansible, Puppet and Chef automate the deployment, configuration and management of servers and applications.

  • If you're starting out, just focus on Ansible due to its simplicity and powerful features.

  • Spend 3 to 4 weeks on this.

  • Learn how to write Ansible playbooks, understand how to use roles and modules, learn to manage variables and templates and so on.

  • Moving on, let's discuss infrastructure as code or IAC.

  • IAC involves managing and provisioning computing infrastructure through machine readable configuration files.

  • Popular tools include Terraform, AWS CloudFormation and Pulumi.

  • If you're starting out, just focus on Terraform for its flexibility and widespread use.

  • Dedicate 3 to 4 weeks to build a solid foundation in Terraform.

  • Understand the basic concepts like providers and resources, get familiar with writing Terraform configuration files, learn how to use Terraform modules, as well as advanced concepts such as workspaces and remote state.

  • Finally, let's talk about monitoring and logging.

  • Monitoring and logging tools such as Prometheus, Grafana, ELK stack, and Fluentd track the performance and health of your applications and infrastructure.

  • If you're starting out, just focus on Prometheus and Grafana.

  • Spend about 3 to 4 weeks on these tools.

  • Learn the architecture and data model of Prometheus, get familiar with collecting metrics from various sources, learn how to write queries to extract and analyze metrics data, understand how to set up alerts and so on.

  • So if you dedicate 3 to 5 hours every day, you can follow this road map and pick up all the skills you need to become a DevOps engineer in about 10 to 14 months.

  • If you have any questions, please let me know in the comments below and I'll do my best to answer you right here or in my future videos.

  • If you enjoyed this video, please give it a like and subscribe for more useful content.

  • Thanks for watching!

If you're looking to break into DevOps or want to level up your skills, you're in the right place.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it

B1 US managing docker dedicate linux jenkins deployment

The Complete DevOps Roadmap

  • 36 5
    chris posted on 2025/02/23
Video vocabulary

Keywords

essential

US /ɪˈsɛnʃəl/

UK /ɪ'senʃl/

  • adjective
  • Extremely or most important and necessary
  • Being a necessary or characteristic element of something.
  • Fundamental; basic.
  • Absolutely necessary; vital.
  • noun
  • A concentrated hydrophobic liquid containing volatile aroma compounds from plants.
recommend

US /ˌrɛkəˈmɛnd/

UK /ˌrekə'mend/

  • verb
  • To advise or suggest that someone do something
  • To suggest something as good or suitable.
  • other
  • To advise someone to do something.
  • To endorse or support something publicly.
  • To suggest something as good or suitable.
description

US /dɪˈskrɪpʃən/

UK /dɪˈskrɪpʃn/

  • noun
  • Explanation of what something is like, looks like
  • A spoken or written account of a person, object, or event.
  • A summary of a computer program or file.
  • The act or method of describing
  • A summary of the qualities and features of a product or service
  • The type or nature of someone or something.
infrastructure

US /ˈɪnfrəˌstrʌktʃɚ/

UK /'ɪnfrəstrʌktʃə(r)/

  • noun
  • Basic necessary equipment for a country or region
  • other
  • The basic physical and organizational structures and facilities (e.g. buildings, roads, power supplies) needed for a society or enterprise to operate.
  • The basic hardware and software resources of a system.
  • The basic facilities, services, and installations needed for the functioning of a community or society, such as transportation and communication systems, water and power lines, and public institutions including schools, post offices, and prisons.
  • The basic framework of a system or organization, especially the hardware and software required for IT operations.
  • The underlying framework or system of an organization.
familiar

US /fəˈmɪljɚ/

UK /fəˈmɪliə(r)/

  • adjective
  • Having a good knowledge of something.
  • Informal and friendly, sometimes to an inappropriate degree.
  • Well-known or easily recognized
  • noun
  • A close friend or associate.
  • (In folklore) a spirit, often in animal form, believed to attend and serve a witch.
dedicate

US /ˈdɛdɪˌket/

UK /'dedɪkeɪt/

  • verb
  • To state a person's name in book, song, in respect
  • To give your energy, time, etc. completely
  • To devote time, effort, or oneself to a particular task or purpose.
  • other
  • To devote time, effort, or oneself to a particular task or purpose.
solid

US /ˈsɑlɪd/

UK /'sɒlɪd/

  • adjective
  • Being able to be trusted; reliable
  • Substance that is hard or of fixed shape
  • Being well made and expected to last long
  • Having no space or emptiness inside
  • Being made entirely of one material or substance
  • noun
  • Something firm or hard; not gas or liquid
script

US /skrɪpt/

UK /skrɪpt/

  • noun
  • Written text of a book, play, film, or speech
  • Set of letters or characters of a written language
  • verb
  • To write a text for a movie, play or speech
track

US /træk/

UK /træk/

  • verb
  • To use marks to follow a wild animal
  • To move a certain way/follow a particular course
  • To record and examine the progress of something
  • To follow the trail or movements of someone or something.
  • To monitor or record the progress or development of something.
  • noun
  • A prepared course for racing, especially for athletes.
  • A circular course for running
  • A circular path on a magnetic disk or tape on which data can be recorded.
  • Course or way someone takes, e.g. in education
  • A mark or impression left by a moving object.
  • A recording of a song or piece of music.
  • A recording of a song or piece of music.
  • A rough path or minor road.
  • The rails on which a train runs.
  • The rails on which a train runs.
  • A prepared course for racing.
  • Path in a field or a forest made by walkers
  • Often circular course laid out for car racing
  • One of multiple musical recordings on an album
  • Band surrounding the wheels of a tank
  • Metal lines that trains ride on
  • One of the rails making up a railway line.
  • other
  • To follow the trail or movements of someone or something.
commit

US /kəˈmɪt/

UK /kə'mɪt/

  • verb
  • To do something bad, usually a crime
  • To promise your permanent love or loyalty (to)
  • To promise or decide to do something for a purpose
  • other
  • To entrust or give into someone's charge or keeping.
  • To send (someone) to a hospital or prison.
  • To do or perpetrate (a crime or other reprehensible act).
  • To pledge or bind (oneself) to a certain course or policy; to make an engagement.