Unless specified, the following notes are from the book Len Bass, Liming Zhu, Ingo M. Weber, DevOps: A Software Architect’s Perspective ISBN-13: 978-0134049847
For some images and quotes, you must log into Safari Books Online
DevOps (a clipped compound of "development" and "operations") is a software development methodology that combines software development (Dev) with information technology operations (Ops). The goal of DevOps is to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
Academics and practitioners have not developed a unique definition for the term "DevOps".
DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production while ensuring high quality1
DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality1
Scenario: Error occurs during operation. Instead of isolating in operations, include development
IMVU does continuous integration. The developers commit early and often. A commit triggers an execution of a test suite. IMVU has a thousand test files, distributed across 30–40 machines, and the test suite takes about nine minutes to run. Once a commit has passed all of its tests, it is automatically sent to deployment. This takes about six minutes. The code is moved to the hundreds of machines in the cluster, but at first the code is only made live on a small number of machines (canaries). A sampling program examines the results of the canaries and if there has been a statistically significant regression, then the revision is automatically rolled back. Otherwise the remainder of the cluster is made active. IMVU deploys new code 50 times a day, on average.1