The methodology began to evolve from the first DevOpsDays 2008 conference. The essence of DevOps is to bring together the development, testing and service communities as a whole.
Development Operations covers several disciplines. This is a very practical area that requires an understanding of the technical foundations and cultural aspects.
The Best DevOps Blog from thousands of blogs on the web ranked by relevancy, social engagement, domain authority, web traffic, freshness, and social metrics.
word is “DevOps” is a combination of “development” and “operations” it is development and operations). The play on words reflects the basic idea embodied in DevOps – cooperation between various development disciplines.
Its roots DevOps goes to the principles of “flexible” development. The Agile Manifesto was written in 2001 by several people. They wanted to improve the situation in the development of systems and find new ways to work in the IT industry.
Here are excerpts from the Agile manifest:
- People and interactions are more important than processes and tools.
- Collaboration with the customer is more important than negotiating the terms of the contract.
- Willingness to change is more important than following the original plan.
- That is, without denying the importance of what’s on the right, we still value more on what’s on the left.
DevOps refers to the first principle: “People and interaction are more important than processes and tools.”
If you worked in a large organization, you know that instead of this rule, the opposite principle applies. The walls between departments are built even in small companies, where at first glance it seems that such walls cannot be formed.
What is the concept of Development Operations?
DevOps emphasizes the importance of interactions between people. Technologies act as triggers of communication and help break down barriers within organizations. The main thing is the correct use and selection of tools.
Here is an example: choosing systems for bug reports.
The fact is that developers and QA use different systems to handle tasks and bugs. Different tools create unnecessary friction between teams and further separate them when teams need to focus on teamwork. Sysadmins can use a third system to process deployment requests for organization servers.
A DevOps engineer will immediately realize that all three systems are needed to manage workflow with similar properties.
So why separate?
All three teams must use the same system. It can be customized for all roles. The main advantage is lower maintenance costs, as three systems are replaced by one.
Another goal of Development Operations is automation and continuous delivery (CD). Automating routine tasks leaves more time for interacting with a person, from where more benefits can be derived.
A good DevOps engineer will move the company forward, change the accepted rules and scenarios of any existing business. It will ensure the uninterrupted operation of systems and constant monitoring of the entire platform to resolve problems when they arise.
DevOps engineer is responsible for updating the code and server infrastructure after new commits. And also, for automation of routine tasks while increasing assembly time and company growth. In doing so, he frees programmers who can focus on creating application logic.
Such a specialist is responsible for:
- Using a wide range of tools, technologies, open-source and paid languages (AWS, Red Hat, Google).
- Skills of programming and scripting.
- Server management: monitoring, operations, configuration and updating of the infrastructure.
- Deployment and automation using scripts, regular tests, compatibility testing, and troubleshooting.
- Automation skills with scripts or special software.
- Efficient memory and data allocation management.
- Designing the structure for the most efficient use of the server and code.
- Communication and collaboration.
- planning and evaluation – JIRA
- version control – Github and Git
- code merge support and reflection – SVN
- assembly – Maven, Girdle
- testing – Selenium, JUNIT, Jenkins
- deployment – Chef, Puppet and Ansible
- Operations – Salt, Red Hat Ansible
DevOps is not just hype. He sees the project in perspective. This requires extensive knowledge from the operating system and programming concepts to virtualization and cloud technology.
In addition to technical knowledge, it is necessary to be responsible for the implementation of Development Operations and create the interaction between the disciplines that is inherent in the idea of the methodology.