Many IT organizations have adopted DevOps or are considering it. According to a study by RightScale, the percentage of organizations adopting some aspect of DevOps principles reached 84% in 2017. Perhaps DevOps is just part of the natural progression, but the story of how it got started is less well known.
DevOps refers to a culture, methodology, processes, and tools that emphasize communication, collaboration, and integration between developers and operators, and this broad definition is due to its origins in solving problems caused by conflicts between development and operations teams. It is helpful to know who started DevOps and how.
The 1990s saw the development of lightweight development methodologies as a reaction to traditional large-scale development. In 1991, RAD, a rapid application development method, was introduced, followed by Scrum in 1995. In 1996, XP, an extreme programming methodology, was announced. These methodologies would have a major impact on the agile manifesto in the years to come.
In 2001, 17 software developers gathered at Snowbird Resort in Utah to discuss lightweight development methodologies, which led to the publication of the Manifesto for Agile Software Development. The 17 software developers included such rare developers as Kent Beck, Ward Cunningham, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, and Bob Martin.
Agile was a discussion about how software was developed, not how it was operated. By the mid-2000s, as the market shifted to web services, software became as much about reliable operations as it was about development. Reliable operations began to slow down development, and a culture that favored rapid development got in the way of reliable operations, driving a deeper and deeper wedge between development and operations teams.
In 2007, Patrick Debois, an IT consultant who manages projects based on agile methodologies, supports a national data center relocation project. His role involves preparing for certification and testing, which requires collaboration with both the application development team and the operations team (servers, databases, and networks). During this work, he realizes that there is a gap between the development and operations teams that never closes, and he begins to think about how to solve this problem.
In 2008, Andrew Schafer pitches a proposal to organize a "Birds of a Feather" meeting at an agile conference in Toronto to discuss "Agile Infrastructure". It is a topic that no one else was interested in, but Patrick Debois cannot help but be intrigued. Through their discussions, Shafer and Debois evolved the concept of "agile systems management" and created the Agile Systems Management group at Google.
The following year, at the O'Reilly Velocity conference, Flickr's John Allspaw and Paul Hammond presented "10+ Deploys per Day: Dev & Ops Cooperation at Flickr," arguably the first attempt to explain the concept of DevOps. Allspaw and Hammond acted out the roles of development and operations teams during a software deployment. The presentation, in which each pointed a finger at the other and said, "It is not my code, it is your equipment," resonated with many people, and it got them thinking about the need for development and operations teams to be transparent and fully integrated.
Debois, who lives in Belgium, was unable to attend the conference in the U.S., but watched Allspaw and Hammond's presentation via video streaming. Inspired by the presentation, he created the Devopsdays conference in Ghent, Belgium. This is when the word "DevOps" was officially coined.
As DevOps spread, various tools emerged to help development and operations teams collaborate in rapidly and reliably developing and operating applications. These tools are capable of automating processes and often have features that can be used jointly by both development and operations teams.
Examples include configuration and configuration management tools such as Puppet and Chef. Monitoring has also become a key tool in DevOps, thanks to the availability of monitoring services as SaaS, which allows development and operations to work together.