Sunday, May 24, 2020

Learning Path: DevOps

This learning way is uncommonly intended for the students or individuals trying to change their profession towards DevOps and hustling down to realize where to begin. The entirety of the assets referenced here are from my own understanding. I started learning DevOps when I was in the sophomore year of my school, and subsequent to following these assets inside and out, handled a six-month-long temporary position opportunity with Appdynamics(where I'm at present working).

Individuals as a rule have a great deal of inquiries like how to turn into a DevOps engineer, what are the instruments one ought to learn? What is Docker, what is Kubernetes? Is the framework robotization part of DevOps? Is it critical to learn Chef, Ansible, and so on?

But the most important question among them is “Where do I begin?”

So, here it goes:

(1) Basics of Computer Science: DevOps stands for Development + Operations. Prerequisites here are not different from that of Software Development. Understanding the core concepts of Computer Science is required here as well. Databases, Computer Networking, and Operating System these three are the foundation stones. A basic and clear understanding of these subjects is really important.
  1. Operating System 
  2. Database Management System
  3. Networking
(2) Linux Basics: Intermediary command over Linux basics is also equally necessary. Knowledge of
basic concepts like User groups, File permissions, package management, system monitoring, scheduling, LVM management, shell scripting, and basic commands like ls, cat, top, touch, df, etc. 
(3) Language: After the subjects, comes the language. In-depth knowledge of one programming language is necessary. The one I started at that time was Python. If you are about to start learning a new language for this DevOps journey, I’ll highly suggest learning Python. Python is one of the primary technologies used by teams practicing DevOps. Its flexibility and accessibility make Python a great fit for this job, it enables building web applications, data visualizations, and also improves the workflow.
(4) Public Cloud Provider: The sequence I am following here is the one I have gone through. It is definitely fine if you feel like changing the sequence according to your convenience. DevOps concept is not easy to understand at the first go. It takes time, perseverance, experience, understanding the tools, etc. The place from where I started my DevOps tech stack was AWS. I personally like AWS more in comparison with other Cloud providers. But you can always learn other cloud providers as well. 
(5) Training(optional) : This is not a necessary step, just an add-on.
(6) Exploring DevOps tools
Now let’s come to the main tools.
  1. Docker 
  2. Ansible 
  3. Kubernetes 
  4. Monitoring Tool — It’s really important to have a basic understanding of any monitoring tool. You can choose anyone among Prometheus, ELK, Grafana, etc. 
  5. Jenkins  This is an open-source automation tool built in java for Continuous Integration purposes. This tool plays a very crucial role in architecture. If you want to go for a youtube series then tutorials by Edureka on Jenkins are a good source. 
(7) Projects: Don’t worry if you don’t have many projects for now, not so much to show. Everyone starts at this level only. As you start learning things, exploring how they work, you start getting ideas about projects. Most of the time you get inspired by the courses you are following.
Going through the resources will give theoretical knowledge, to have complete understanding one has to start building projects. With the help of a good project, only you’ll be able to demonstrate your skills.
(8) Internship: After getting sufficient knowledge, next, it’s time to face the real world and their real problems.

No comments:

Post a Comment