As business becomes more complex and people grow, Developers and operation and maintenance personnel gradually evolved into two independent departments, They work in separate locations, Different tool chains, There are also differences in business objectives, This creates a gap between them. And publishing software is to send a software from one side of the gap to another, There are many difficulties in this.

On the other hand, More fierce competition in the industry, Whether it's the customer or the company itself, All require software to be released quickly, Frequent modification, And the gap above, Hinders development team productivity, Has become an urgent problem for enterprises.

Facing various outstanding contradictions, The plot of the story, It seems to be back to the days when only programmers, But not more subdivided into development, Test and operation and maintenance.

DevOps The word comes fromDevelopment andOperations Combination, Attach great importance to software developers and operation and maintenance personnel
Communication and cooperation, Automate processes to build software, test, Faster Publishing, Frequent and reliable.

DevOps To fill the information gap between the development end and the operation and maintenance end, Improve collaboration between teams. But one thing needs to be clarified, From development to operation and maintenance, There is also a test link in the middle.DevOps In fact, it contains three parts:
Development, Testing and O & M.

Let me put it another way,DevOps What we hope to achieve is that in the process of software product deliveryIT Opening of tool chain, Enable teams to reduce time lost, Work together more efficiently. Experts summed up the followingDevOps Capability diagram, Good closed-loop can greatly increase the overall output.

Some people thinkDevOps Means developers take over operations. It's just part, not all. When we realize that some operations need to be automated, Operation and maintenance personnel need to carry out some automation development, Developers also write" Operation and maintenance" Code, Or both. Terrible is, No overall collaboration between the two types of people was found, All successful teams coordinate people with in-depth development skills and in-depth operation and maintenance skills to work together, To create a better product.

One,DevOps Common technology

Two,DevOps There are three characteristics and modes

2.1, Efficiency considerations at the system level

This is to emphasize the efficiency and performance of the whole system, Instead of thinking in isolation from the work department or subsystem, It can be the integration of developers andIT Large perspective of operation and maintenance personnel, It can also be as small as independent publishers such as developers and system administrators.

Focus on the entire business value chain, Start from the confirmation of business requirements, Development and construction of developers, Then deliver toIT Operation and maintenance, At the end, The software value for customers is reflected as a service.

Due to the emphasis on overall effectiveness, Don't push the defect downstream, Global degradation due to local optimization is not allowed, The improvement of detail tactics should not lead to the overall strategic retrogression, If you want to improve the value of the whole system, It is necessary to have a thorough and comprehensive understanding of the whole system.

2.2, Amplify feedback loop

About creating right to left feedback loops. If necessary, the feedback cycle can be shortened and enlarged continuously. Be able to understand and respond to all customers including internal and external, Shorten and enlarge all feedback cycles, Embed the knowledge we need.

2.3, Continuous exercise and learning

This way is to create a corporate culture, Two things to cultivate: Keep experimenting and taking risks and learning from failures. Recognize that repetition and practice are prerequisites to mastery.

Experimentation and adventure ensure that we continue to drive improvement, Even if it means entering dangerous areas beyond our control, We need to have the skills to help us get out of the danger zone. 

The results of the third road include the allocation of time to improve daily work,, Creating rituals for adventure, Reward team, And introduce errors into the system to increase flexibility.

Three,DevOps Benefits

DevOps One of the great benefits of is efficient delivery, That's exactly what it was meant to be. Compared with inefficient organizations, Frequent deployment of efficient organizations200 times, Products put into use quickly2555 times, Fast service recovery24 times. On the time allocation of work content, Inefficient people spend more22% Time for planning or repetitive work, But the efficient can spend more29% Time for new jobs. So efficiency here doesn't just mean the efficiency improvement of the company's output, It also means that the work quality of employees is improved.

DevOps Another benefit is that it will improve the organizational culture of the company, Improve employees' sense of participation. Employees become more efficient, More satisfaction and achievement, More recognition of the company.

Reference articles:




Recent hot reading:

1, Four pictures show youTomcat system architecture

2, Three routes tell you how to masterSpring IoC Core principles of container

3, Interview skills:JDK Dynamic agent toSpring The pit of business!

4, Cartoon blockchain, One article will take you seconds to understand her!

More exciting, From concern《Java back-end technology》 Public number begins!