A Guide to DevOps
DevOps is a compound word, made up of the words “development” and “operations”. The term refers to a culture where software developers collaborate closely while automating the process of delivering software.
The aim of DevOps is to establish a culture where building, testing and releasing software is more rapid, frequent and reliable.
This is webopedia.com‘s definition:
“DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between Development and IT Operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between the two business units.”
What are the Principles of DevOps?
DevOps is primarily viewed as a way of thinking. To get a sense of what this involves, we would recommend watching Adam Jacob’s talk on “Chef Style DevOps Kungfu” at ChefConf 2015. However, some companies have tried to define the concept as a set of principles.
For instance, the team of app developers at Radify work to 4 principles:
Holistic system thinking
Rapid, useful feedback
Automate drudgery away
For more detail on these, look at their blog post called “4 Principles of DevOps”.
DevOps and Agile
DevOps and Agile complement each other quite naturally. The idea of both is to deploy working functionality to production as quickly as possible.
You can read more about the Agile Manifesto elsewhere on our site, as well as Agile Methods such as Scrum. To get a good understanding of how the DevOps philosophy works in the context of Agile development, read “DevOps and Agile: Key Considerations for DevOps and Agile to Coexist for Expedited Delivery” on the Scrum Alliance.
Tools and Jobs with DevOps
Which Tools are appropriate for DevOps?
We thought that it would be useful to list a number of popular tools that are used for DevOps. The tools and their purposes are listed below:
- Nagios (Infrastructure Monitoring)
- Monit (Process Monitoring)
- ELK – Elasticsearch, Logstash, Kibana – via Logz.io (Log Analytics Solution)
- Jenkins (continuous integration services)
- Docker (Configuration Management, Control Issues and Scaling)
- Git (GitHub) (Source Control Management)
Where can I find a job using DevOps?
We have mentioned earlier that DevOps is probably best described as a way of thinking. It also relies on collaboration. So, it is unlikely that you will find a DevOps specific role. However, some companies do ask for DevOps Engineers or DevOps Infrastructure Developer.
There are a number of Job listing sites online. Here are a few:
All imagery has been created by and is Copyright of Samuel Fry. Vector image credit to “Stylized London Vectors” by OffsetMedia.co.uk, “Variety of cartoon buildings” by Freepik.com,“Buckingham palace London monuments vector” by Free Vector and “Avatar People” by Freepik.com. All Creative Commons.