9 Tools to Learn if You Want to Be DevOps Engineer
Open-Source is future

Development + Operations = DevOps. If you are familiar with this term and reading this article then I can assume you are or a wannabe DevOps Engineer.
These tools are the industry standards and are the foundations that will make your things more fast, agile, and automated.
Note: This Article was by mistake deleted and I had to republish it. Sorry
How To Become A DevOps Engineer
DevOps is a very nuanced term and it has a very large meaning apart from the basic definition you learn in schools and online.
DevOps is a methodology in which operations and development engineers collaborate during the service lifecycle, from design to development to production support.
These are the tools you’d use to put these principles into action. There has been an explosion of tools in the DevOps environment, including release management, configuration management, orchestration, monitoring, virtualization among containerization, and many others.
1. Gitlab/Github/Bitbucket
These are the source code management repositories where you can store your code, do version control, and overall management of it. Every programmer knows these tools but most of them are still not familiar with basic commands that come in handy to make things simpler which pushing your code.
All these platforms have almost the same sort of command and recently they have also introduced the DevOps pipelines. We will discuss that in the particular section of this article down below.
Some important commands to remember:
git clone <url>
git add .
git commit -M "Message"
git push
git pull
git reset --hard
git branch
git checkout < branch name>2. Jenkins + Jenkins Plugins
For CI/CD, Jenkins might be the most commonly used by many tech companies.
The advantage of using Jenkins over other pipeline tools is that it is first of all open-source and it has a lot of plugins that will make your things so easy to implement.
Jenkins literally has a wide variety of plugins from Kubernetes to AWS to SonarQube and many more which can be used according to your use case.
Here are some great plugins which I’ll recommend you to have a look at. Top Jenkins Plugins You Can’t Miss in 2018
Also, here is my article where I implemented a pipeline on Jenkins:
3. Docker
Docker is a tool that allows developers to create a lightweight and portable software containers that make application development, testing, and deployment easier.
In Docker, you’ll encounter two types of files Dockerfile and docker-compose. These both will help you to create dockerize applications easily.
With the help of docker, you can host Jenkins on it and create the Jenkins worker nodes on the fly.
Learning docker will help you to work more easily on Kubernetes. Kubernetes is more advanced but to learn Kubernetes your docker concepts must be clear.
Here are some of my articles related to docker:
4. ELK (Elastic Search, Logstash & Kibana)
This is one of the most advanced and widely used tools for logging and monitoring.
Many tech companies use ELK to monitor their applications and much more. As ELK provide wide-variety of support in which you can log nginx logs, docker logs, system logs, CPU performance, node-API logs, etc
You can also set alerts and watches and can also create your own dashboards easily.
Here is the article if you want to set up your own ELK easily:
5. Gitlab CI/CD
As Jenkins uses a groovy script to build pipelines, GitLab ci/cd uses the YAML structure to build pipelines.
GitLab CI/CD is a tool built into GitLab for software development through the continuous methodologies:
- Continuous Integration (CI)
- Continuous Delivery (CD)
- Continuous Deployment (CD)
With YAML structure GitLab also has three types of runners which you should know before building any kind of pipeline.
Gitlab also provides many features like Container and Package Registries, Global and Project Specific Environment Variables, and much more.
Here is my article about Gitlab Runners more in detail:
6. Scripting
Yes, I know scripting is not a tool but a skill. And yes it is very much needed if you are or want to become a DevOps Engineer.
Many Organizations demand automation of small tasks on a regular basis which can easily be achieved with the help of scripting.
Now scripting can be done in many coding languages whether it is a bash or a python. It usually depends on the use case.
Here are some scripts which I have created, please refer it might be helpful to you also:
7. Cloud Platforms
Being a DevOps Engineer, you have to know every inch of the cloud platforms because you can only create a great infrastructure if you know the cloud thoroughly.
These are the three major cloud platforms that most companies use:
- AWS (Amazon Web Services)
- GCP (Google Cloud Platform)
- Microsoft Azure
You can learn these platforms by doing hands-on labs available with many online courses or else you can just sign-up and they will give you an x amount of credits to use.
8. Terraform and Ansible
Ansible and Terraform are two applications that are quite similar yet have some important distinctions. One of the most significant distinctions between two widely used DevOps concepts:
- Configuration Management
- Orchestration
Terraform delivers Infrastructure as Code quickly, allowing for faster environment installation and development.
Here is the Jenkins Pipelines which I made to create SQS on AWS using Terraform
Ansible is majorly used to perform these two tasks: writing instructions on the way to install applications and designing the templates of configuration files.
Meanwhile, It also acts as a single tool for all DevOps tasks as it defines the infrastructure in the Ansible playbook and commits to source control.
9. Kubernetes
Kubernetes is an open-source framework for managing containerized workloads and services that allows declarative configuration as well as automation.
In Kubernetes, Containers are a good way to bundle and run your applications. In a production environment, you need to manage the containers that run the applications and ensure that there is no downtime
It has a huge and fast-expanding ecosystem. Services, support, and tools for Kubernetes are widely available.
Many cloud providers also provide Kubernetes services like GCP servers Kubernetes as GKE, AWS provides EKS and Azure has AKS.
Talking about myself, I have worked extensively on GKE and some on EKS which I have not yet explored Azure Kubernetes Service.
Here are some articles which I have written related to GKE and EKS:
Summary
If you are able to grasp any of the 5 things perfectly you can easily clear any kind of DevOps interview easily and can land a job.
Apart from all these, please correct me if I miss something in this article. I am open to all suggestions and queries.
Thanks.

Join FAUN: Website 💻|Podcast 🎙️|Twitter 🐦|Facebook 👥|Instagram 📷|Facebook Group 🗣️|Linkedin Group 💬| Slack 📱|Cloud Native News 📰|More.
If this post was helpful, please click the clap 👏 button below a few times to show your support for the author 👇






