DevOps is a hot word, but there is no doubt that it is the future trend (note 1). Efficient IT organizations are often labeled with DevOps, which is the focus of people's discussions and the object of learning. 2009, everyone was talking about how to do more than 10 deployments a day like Flickr (note 2). Today, everyone talks about building a large, highly available, scalable service based on the cloud infrastructure, like netflix/pinterest (Note 3).
How can we achieve devops? Many people will tell you without hesitation that you can achieve devops by using Chef/puppet. So, DevOps became a simple question, choose Chef or Puppet. It's not surprising that, as Open-source software prevails today, software claims to be a devops tool, and people often don't think about a new technology or a reason behind a new idea, what people need is a silver bullet.
As with agile, it is wrong to equate devops with a tool-level chef/puppet, which can severely constrain people's thinking. In the domestic Cloud native application development era is about to open today, fully aware of the devops is necessary (note 4).
(i) DevOps is more than just a tool
DevOps is an extension of agile, Ailge relies on the Dev & Biz Department to work together to address the challenges of changing demand through incremental delivery. DevOps extends further to it operation and improves the quality and frequency of software delivery through the close collaboration of Dev & Ops. The importance of people is greater than the flow, and the process is more important than tools. This conclusion is adapted to agile and also applies to devops. The impact of tools is both short-term and one-sided, and the process and human impact are long and comprehensive.
In fact, most people know this truth, but in the subconscious still think of DevOps as Chef/puppet and other tools. The correct steps of constructing devops should be to fully understand the principle of devops, analyze their own needs and conditions, choose the correct methods and processes, and finally choose or construct the appropriate tools. Learn By example is still an important way to learn and build DevOps. There will be more and more experience sharing devops at future meetings. We should focus not only on the tools mentioned in the speech, but also on the process, organizational structure and cultural sharing.
DevOps is not just a tool, even a tool, but an optional tool in the building of a devops tool chain.
(ii) Chef/puppet is just an optional tool in the DevOps tool chain
The purpose of DevOps is to create a standardized, repeatable, fully automated delivery Pipeline encompassing requirements, design, development, construction, deployment, testing, and release. In addition to requirements, design, and development, the other four steps are automated. Automation is the core of improving testability, consistency, stability, and delivery frequency.
The figure below is from IBM Agile, ITITL, Cloud how DevOps brings it all together. The diagram is a very clear explanation of how DevOps automates delivery (note 5).