Most of the tools below are essential for a DevOps engineer. However, it is impossible to make a single list for every developer. The choice of tools depends on the choice of language. Therefore, knowing how to use tools is only a part of the necessary skills.

A DevOps engineer needs to automate steps all the time. You need "glue" to bind all the tools into a common pipeline. To do this, in addition to tools, you need to learn scripting languages - Python, JavaScript, Ruby, Go, Bash and others. You can learn them either in online courses or in specialized schools, depending on how you like it. Although the material is heavy it is advisable to learn under the guidance of a teacher. But if you choose the online learning format, you can buy assignment in case of difficulties.

Recommended Read: GIT commands list: How to use Git command line

Also Read: Important Terraform Commands that we should know (a CheatSheet)


Tools used by DevOps Engineers


Git

The source code management system is used by probably the entire industry. It is the standard for tracking source code. Git is the only one that supports all modern development patterns and is a must for the DevOps engineer.

Gitlab

If you are working with a young team, it is worth exploring Gitlab. The system supports the whole development cycle including source code management on Git, Continuous Integration, Continuous Delivery, issue tracking.

On a single Gitlab, you can do full development "merge", "deplatform" and so on. But the system imposes a certain workflow that doesn't always suit the project. You can get around it, but the result is rarely good.

Jenkins

An old-timer in the field of automation systems is more often used in already "established" companies. Jenkins was developed as a tool for continuous integration but evolved to a system capable of launching rockets at the space thanks to plugins.

This is its advantage and disadvantage. The abundance of necessary plugins makes the system heavy. Constant updates and the risk of everything crashing and the ugly UI can make work a living hell. Not many new teams choose Jenkins today, but in projects from about five years ago, the system is common.

Jira

Atlassian solutions have already become a definite industry standard. When working with large customers you are likely to use Jira. The employee enters tickets in the system daily, keeps track of time to complete tasks, tracks the status of sprints, creates release notes, and solves other tasks. Despite several analogs, the advantage of Jira is the integration with other Atlassian systems, such as Confluence.

Confluence  

A dynamic content management system. In some ways, it's a wiki with a visual page editor. This is where you can keep your project documentation, track system requirements, notes, statuses, create build description pages.

Docker

Containerization system and one of the core technologies for DevOps engineers. Software to automate the deployment and isolation of applications. We use it to build and run containers in DEV environments.

Kubernetes

An automation platform for managing application containers. Kubernetes has become the standard, surpassing a few competitors like Rancher. The system provides mechanisms to solve all standard IT application management tasks. It is managed declaratively - an operator submits a desired state of the environment to a Kubernetes controller, and the latter performs all the necessary actions to achieve it.

Lens

A GUI for managing and monitoring Kubernetes clusters. Also known as a GUI for Kubernetes, where it is possible to see all their entities, including user resources. While it's not a must-have tool for a DevOps engineer, we recommend using it. There are lots of different cool features here. For example, accessing private clusters through your proxy.

Prometheus

A database for gathering metrics in real-time. It uses an HTTP-request model and "walks" the URL of applications to collect data.

Grafana

Dashboard solution for visualization of collected data. We use Grafana in conjunction with Prometheus. The system displays graphs and tables and is used in modern big-decision stacks.

Loki

A young application logging system inspired by Prometheus. Before Loki, logs were always stored as text files or indexed in a system like Elasticsearch. This caused a lot of disk space and search and aggregation overhead. Loki indexes the metadata, allowing logs to be stored in fairly slow and cheap storage like Object Storage (AWS S3, etc.) because not all the text is used for searching and aggregation. They take up less space and search is faster on standardized labels.

Splunk

Big clunky system to monitor all data. Old, powerful but low performance. Big companies don't want to change Splunk from Prometheus and Grafana. Partly because of the paid support. So, a DevOps engineer in a large organization will have to learn how to work with Splunk.

Terraform

Infrastructure management system with APIs, cloud providers, private clouds. Terraform was the first to allow us to work with different cloud providers. You don't have to go to a console to describe and apply the environment in code. The system creates the necessary networks, clusters, and so on by itself.

These are some of the top tools that are used by DevOps Engineers on daily basis. If you can think of some other tools that you might be using, mention them in the comment box below.

We are giving you exclusive deals to try Linux Servers for free with 100$ credit, check these links to claim your 100$,

DigitalOcean - 100$ free credit & Linode - 100$ free credit

Check some Exclusive Deals, HERE.

Also, check out DevOps Book You should read section.