In layman terms Devops is a methodology that communicates,integrates,simplifies the process of software development & information technology making developers & IT admin guys to work together building an automated development process. Devops from my understanding is development + operations.
Devops is a hot cake currently as all IT firms are in need of devops engineers for automating their micro-services, software development needs & IT operations so that releases can be steady & automated. As we talk about open source & fanatic about it there are various tools I have listed which are quite useful in devops.
- Nagios :- A great monitoring tool for monitoring/alerts with full customizations for you & tons of plugins which is ease of use.
- Monit :- Sometimes the simplest tools are the most useful, as proven by the simple watchdog Monit. Its role is to ensure that any given process on a machine is up and running appropriately. For example, a failure occurs in Apache, Monit will help to restart the Apache process. It is very easy to setup and configure and is especially useful for multi-service architecture with hundreds of micro-services.
- ELK-Elastisearch,Logstash,Kibana :- The ELK Stack is the most common log analytics solution in the modern IT world. It collects logs from all services, applications, networks, tools, servers, and more in an environment into a single, centralized location for processing and analysis.
- Consul.io :- Consul is a great fit for service discovery and configuration in modern, elastic applications that are built from microservices. The open-source tool makes use of the latest technology in providing internal DNS names for services.
- Jenkins :- Everyone knows Jenkins, right? It’s not the fastest or the fanciest, but it’s really easy to start to use and it has a great ecosystem of plugins and add-ons. It is also optimized for easy customization. We have configured Jenkins to build code, create Docker containers (see the next item), run tons of tests, and push to staging/production.
- Docker :-Everything that can be said about how Docker is transforming IT environments has already been said. It’s great…life changing, even — (although we’re still experiencing some challenges with it). We use Docker in production for most services. It eases configuration management, control issues, and scaling by allowing containers to be moved from one place to another.
- Ansible :- Again, simplicity is key. Ansible is a configuration management tool that is similar to Puppet and Chef. Personally, we found those two to have more overhead and complexity to our use case– so we decided to go with Ansible instead.
- Collectd/Collectl are nifty little tools that gather and store statistics about the system on which they run and are much more flexible than other tools. They allow users to measure the values of multiple system metrics and unlike other log collection tools that are designed to measure specific system parameters, Collectd/l can monitor different parameters in parallel
- Git was created 10 years ago following the Linux community’s need for SCM (Source Control Management) software that could support distributed systems. Git is probably the most common source management tool available today.
There are many other tools available for devops as per your requirements including various tools being developed daily.
Please feel free for any queries/comments.