Traditional Culture Encyclopedia - Traditional stories - Devops Overview

Devops Overview

Currently in foreign countries, Internet giants such as Google, Facebook, Amazon, LinkedIn, Netflix, Airbnb, traditional software companies such as Adobe, IBM, Microsoft, SAP, etc., or network business non-core enterprises such as Apple, Walmart, Sony Pictures Entertainment, Starbucks, etc. are adopting DevOps or related support products. So what is DevOps all about?

The term DevOps comes from the combination of Development and Operations, and emphasizes the importance of communication and collaboration between software developers and operations staff to automate processes to make software builds, tests, and releases faster, more frequent, and more reliable.

The concept of DevOps first emerged in Europe in 2009, as a result of the pain of the traditional model of operations and maintenance.

DevOps is about bridging the information gap between the development side and the operations side and improving collaboration between teams. One thing to clarify, though, is that from development to operations, there is testing in between. devOps actually has three parts: development, testing, and operations.

In other words, what DevOps hopes to do is to open up the IT toolchain in the software product delivery process, allowing teams to work together more efficiently with less time lost. Experts have summarized the DevOps capability diagram below, and a well closed loop can greatly increase overall output.

From the above, I believe you have a certain understanding of DevOps. But in addition to touching on the tool chain, as a cultural and technical methodology, DevOps also requires companies to change their organizational culture. Looking back at the software industry's R&D model, one can find roughly three stages: waterfall development, agile development, and DevOps.

DevOps was proposed nine years ago, but why has it only begun to receive more and more attention and time from organizations in the past two years? It's because DevOps has evolved solo and is now supported by more and more technologies. Microservices architecture concepts, container technologies have made DevOps implementation easier, and increased computing power and cloud environments have made rapidly developed products immediately available for wider use.

Today's world is changing at a different pace than in the past, and every time we experience a disruptive technological revolution, it brings profound changes to the world. Emerging technologies such as Big Data, Cloud Computing, Artificial Intelligence, VR/AR, and Blockchain are driving the world to keep on changing, so how do we cope with such an era of VUCA, so that we can respond quickly when the environment changes?

Here I quote the sage Wang Yangming, who advocated the "unity of knowledge and practice," which in layman's terms means combining theory and practice. We must also follow the "combination of theory and practice" approach when realizing DevOps landing, the theory is that we do the guiding ideology, and practice is the specific method of doing things, the next step I will take from my company is how to follow the combination of theory and practice to promote the implementation of DevOps on the ground.

First of all, we still have to go back to what is DevOps, if you forget, you can go back to the previous and then recall, including my summary of the DevOps formula.

In fact, the core idea of DevOps is: "Deliver value quickly and respond flexibly to change". The basic principles are as follows:

One of the great benefits of DevOps is that it can be delivered efficiently, which is exactly what it was intended to do in the first place.Puppet and DevOps Research and Assessment (DORA) hosted the 2016 DevOps Survey in which, based on the submissions of 4,600 technology workers from various IT companies worldwide data statistics, it was concluded that efficient companies can accomplish an average of 1,460 deployments per year. Compared to inefficient organizations, efficient organizations deploy 200 times more frequently, put products into service 2,555 times faster, and restore services 24 times faster. In terms of time allocation for work content, inefficient people spend 22% more time on planning for or duplicating work, while efficient people can spend 29% more time on new work. So efficient here means not just that the company's output is more efficient, but also that the quality of the employee's work is improved.

Another benefit of DevOps is that it improves organizational culture and employee engagement. Employees become more productive, satisfied, and fulfilled, and surveys show that highly productive employees have a higher employee Net Promoter Score, which means they identify more with the company.

Rapid deployment can actually help identify problems faster, products are delivered to users faster, and teams can get feedback from users faster, so they can respond faster. Also, the changes brought about by the small steps form of DevOps are relatively small, the deviation of problems is not too big each time, and fixing them will be relatively easy.

Therefore, it is a bias to assume that speed means danger. In addition, lagging the release of software services does not necessarily avoid problems altogether, and in the increasingly competitive IT industry, it can be a missed opportunity to release software.

Technology has evolved to make DevOps more cooperative. In the early days, although we realized the problem, but suffered from the lack of perfect and rich technical tools, is a "ideal is very rich, but the reality is very bone" situation. DevOps implementation can be based on emerging container technology; can also be in the automation of maintenance tools Puppet, SaltStack, Ansible extension of the latter; can also be in the automation of maintenance tools Puppet, SaltStack, Ansible. The DevOps implementation can be based on the emerging container technology; it can also be in the automated operation and maintenance tools Puppet, SaltStack, Ansible after the extension; it can also be built on top of the traditional Cloud Foundry, OpenShift, and other PaaS vendors.

The IT industry has become increasingly tied to the economics of the marketplace, with experts suggesting that IT will go from being a support center to a profit-driven center. In fact, this change has already begun, not only in the big corporations like Google and Apple, but also in traditional industries like Uber in the cab business, Airbnb in the hotel chain, and Amazon, the book distributor, to name a few. The ability to keep a company's IT package up to speed with market demand is critical today.

The DevOps 2016 annual report gives a formula for the cost of O&M:

And for engineers, they are also beneficiaries of DevOps. Scott Hanselman, a senior engineer at Microsoft, said, "The most powerful tool we have as developers is automation. The toolchain enables developers to build, test, and run production environments when delivering software; as Amazon's VP and CTO Werner Vogels memorably put it, "Who builds it, you run it". (You build it, you run it)

The above mentioned that the toolchain is open, then the tools naturally need to be ready. The types of tools and the corresponding incomplete list are organized as follows:

In the choice of tools, you need to combine the company's business needs and technical team situation. (Note: For more details on tools, see this article: 51 Best DevOps Tools for #DevOps Engineers)

Whether a company's organization is conducive to collaboration is key to the success of DevOps. Developers and operations staff can communicate well and learn from each other, resulting in high productivity. And collaboration also exists between business people and developers. Clark, head of common platforms at ITV, which began landing DevOps in 2012, was interviewed by InfoQ at the 2016 Enterprise DevOps Summit in London, and said of the success that the business people are very clear about what they want to achieve in the minimum viable product, and the engineers deliver it on demand, without redundancy. This way, engineers get better consistency and higher quality using a common platform (i.e., a connected toolchain). Additionally, DevOps has increased the demands on individual engineers, and many experts agree that recruiting great talent is also a challenge.

DevOps is growing, especially in large enterprises: the survey found a significant increase in DevOps acceptance. 74% of respondents have embraced DevOps, up from 66% last year. Currently, at 81% of large enterprises are beginning to embrace DevOps, with SMBs at only 70% acceptance.

So specifically what companies are adopting DevOps?Adobe, Amazon, Apple, Airbnb, Ebay, Etsy, Facebook, LinkedIn, Netflix, NASA, Starbucks, Target (pan-European real-time, full-value automated clearing house), Walmart, Sony, and more.

First, large enterprises are embracing DevOps from the bottom up, with business units or departments (31%) and projects and teams (29%) having implemented DevOps. however, only 21% of large enterprises have adopted DevOps company-wide.

Second, at the tooling level, there has been a huge surge in DevOps tool usage. Chef and Puppet continue to be the most commonly used DevOps tools, both at 32%, Docker is the fastest growing tool year over year, with usage more than doubling, and Ansible has also seen a significant increase in usage, doubling from 10% to 20%.

And the survey also found that less than half (43%) of companies are using configuration tools such as Chef, Puppet, Ansible, or Salt; however, those that are using configuration tools are much more likely to be using more than one at the same time. 25% of respondents are using two or more configuration tools, compared to 18% who are using only one tool. Of these, Chef and Puppet are the most common combination: 67 percent of organizations that use Chef also use Puppet, and similarly, 67 percent of organizations that use Puppet also use Chef.

/s/WDS5NO3AcWxpwyIJKWlOEA