DevOps: Difference between revisions
[pending revision] | [pending revision] |
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
The adoption of DevOps is being driven by factors such as: |
The adoption of DevOps is being driven by factors such as: |
||
1) Adoption of [[ http://en.wikipedia.org/wiki/Agile_software_development | agile ]] and [[http://en.wikipedia.org/wiki/Software_development_process | other development methodologies ]] |
1) Adoption of [[ http://en.wikipedia.org/wiki/Agile_software_development | agile ]] and [[http://en.wikipedia.org/wiki/Software_development_process | other development methodologies ]] |
||
2) Demand for increased rates and volumes of production releases from application stakeholders |
2) Demand for increased rates and volumes of production releases from application stakeholders |
||
Line 24: | Line 24: | ||
In many firms, application release events are high stress and high-risk operations involving multiple teams. In a DevOps organization application releases are lower risk for the following reasons: |
In many firms, application release events are high stress and high-risk operations involving multiple teams. In a DevOps organization application releases are lower risk for the following reasons: |
||
1) Adoption of agile or iterative development (vs. [[http://en.wikipedia.org/wiki/Waterfall_development | waterfall]]) means each release has less change but occurs more often. This creates a smooth rate of progressive application change vs. the “dam burst” effect of rare deployments – each of which contains a large number of changes. |
1) Adoption of agile or iterative development (vs. [[http://en.wikipedia.org/wiki/Waterfall_development | waterfall ]]) means each release has less change but occurs more often. This creates a smooth rate of progressive application change vs. the “dam burst” effect of rare deployments – each of which contains a large number of changes. |
||
2) Increased release coordination using generic tools such as spreadsheets, conference calls, instant messaging and corporate portals (wikis, sharepoint) – as well as coordination specific tools. |
2) Increased release coordination using generic tools such as spreadsheets, conference calls, instant messaging and corporate portals (wikis, sharepoint) – as well as coordination specific tools. |
Revision as of 19:32, 26 May 2010
Own work DevOps is a new term to describe the interdependence of development and operations activities in IT organizations to accomplish the business objectives of producing software products. [1]. It is particularly thorny issue in the emerging fields of cloud computing where new development methodologies (such as agile) occur in a traditional organizational structure where discrete activities that did not require deep cross-departmental integration now do.
Companies such as Flickr which have moved to DevOps capabilites did so to support a business requirement of 10 deployments per day[2]; this daily deployment or cycle number would be much higher at organizations producing multi-focus or multi-function applications. This is referred to as “continuous deployment” (for example, at SDForum[3]). Groups, associations and blogs have sprouted on the topic.[4]
Lack of awareness oDevOps integration has profound results in product delays, quality testing, feature development and maintenance releases (including the once special but now ubiquitous “hot fix”). Organizations without DevOps capabilities see problems emerge in the “gap” between development and operations – as operations request greater reliability and security, developers ask for faster infrastructure responsiveness and business users ask for more application enhancements and releases made available faster.
The adoption of DevOps is being driven by factors such as:
1) Adoption of [[ http://en.wikipedia.org/wiki/Agile_software_development | agile ]] and [| other development methodologies ]
2) Demand for increased rates and volumes of production releases from application stakeholders
3) Wide availability of [[ http://en.wikipedia.org/wiki/Cloud_computing | virtualized and cloud infrastructure ]] from internal and external providers
4) Increased usage of data center automation and [[ http://en.wikipedia.org/wiki/Configuration_management | configuration management ]] tools
The interdependence of DevOps is frequently described as a more collaborative and productive relationship between development teams and operations teams. This improved relationship and collaboration enables increase efficiency and reduces production risk.
DevOps Impact on Application Releases
In many firms, application release events are high stress and high-risk operations involving multiple teams. In a DevOps organization application releases are lower risk for the following reasons:
1) Adoption of agile or iterative development (vs. [| waterfall ]) means each release has less change but occurs more often. This creates a smooth rate of progressive application change vs. the “dam burst” effect of rare deployments – each of which contains a large number of changes.
2) Increased release coordination using generic tools such as spreadsheets, conference calls, instant messaging and corporate portals (wikis, sharepoint) – as well as coordination specific tools.
3) Creation of the release coordinator role which bridges the expertise and communications gap between development and operations.
4) Comprehensive deployment automation which reduces deployment errors and manual activities.
References
- ^ Many sources but best summary found to date by authors located here: http://blogs.the451group.com/opensource/2010/03/03/devops-mixing-dev-ops-agile-cloud-open-source-and-business/
- ^ http://en.wikipedia.org/wiki/Configuration_management
- ^ http://www.sdforum.org/index.cfm?fuseaction=Calendar.eventDetail&eventID=13703
- ^ For example, http://dev2ops.org/blog/2010/4/26/devops-meetup-recap.html, the SDForum reference (op cit) and others.