|This article needs additional citations for verification. (March 2011)|
DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.
Companies with very frequent releases may require a DevOps awareness or orientation. Flickr developed DevOps capability to support a business requirement of ten deployments per day; this daily deployment cycle would be much higher at organizations producing multi-focus or multi-function applications. This is referred to as continuous deployment or continuous delivery  and is frequently associated with the lean startup methodology. Working groups, professional associations and blogs have formed on the topic since 2009.
DevOps aids in release management for a company by standardizing development environments. Events can be more easily tracked as well as resolving documented process control and granular reporting issues. Companies with release/deployment automation problems usually have existing automation but want to more flexibly manage and drive this automation - without needing to enter everything manually at the command-line. Ideally, this automation can be invoked by non-operations resources in specific non-production environments. Developers are given more environment control, giving infrastructure more application-centric understanding.
Simple processes become clearly articulating, simple processes under DevOps. The goal is to maximize the predictability, efficiency, security and maintainability of operational processes. This objective is very often supported by automation.
DevOps integration targets product delivery, quality testing, feature development and maintenance releases in order to improve reliability and security and faster development and deployment cycles. Many of the ideas (and people) involved in DevOps came from the Enterprise Systems Management and Agile software development movements.
The term "devops" was popularized through a series of "DevOps Days" starting in 2009 in Belgium. Since then, there have been DevOps Days conferences held in India, the US, Brazil, Australia, Germany and Sweden.
Development methodologies (such as agile software development) that are adopted in a traditional organization with separate departments for Dev, IT operations and QA, development and deployment activities, previously do not have deep cross-departmental integration with IT support or QA. DevOps promotes a set of processes and methods for thinking about communication and collaboration between departments.
The adoption of DevOps is being driven by factors such as:
- Use of agile and other development processes and methodologies
- Demand for an increased rate of production releases from application and business unit stakeholders
- Wide availability of virtualized and cloud infrastructure from internal and external providers
- Increased usage of data center automation and configuration management tools
DevOps is frequently described as a more collaborative and productive relationship between development teams and operations teams. This improved relationship and collaboration increases efficiency and reduces the production risk associated with frequent changes.
The role of a DevOps professional has similarities to that of a Chief Engineer within the Toyota Production System. Such persons have responsibilities for the project's success, but no formal authority over different teams involved. This requires technical knowledge in order to convince managers of the needs. Company executives can make convincing the managers more effective by formally endorsing the role of the Chief Engineer.
Many organizations divide Development and System Administration into different departments. While Development departments are usually driven by user needs for frequent delivery of new features, Operations departments focus more on availability, stability of IT services and IT cost efficiency. These two contradicting goals create a "gap" between Development and Operations, which slows down IT's delivery of business value.
Impact on application releases
In many firms, application release events are high-stress and high-risk activities involving multiple teams. In a DevOps organization, application releases are lower risk for the following reasons:
- Reduced change scope
- Adoption of agile or iterative development, in contrast to the traditional waterfall model, means each release has less change but occurs more often. This creates a smooth rate of progressive application change vs. the large impact effect of rare deployments–each of which contains a large number of changes.
- Increased release coordination
- The use of a strong release coordinator to bridge the expertise and communications gap between development and operations; employment of collaboration tools such as spreadsheets, conference calls, instant messaging, corporate portals and wikis to ensure thorough understanding of the change and full cooperation of all involved.
- Comprehensive deployment automation ensures repeatability of deployment tasks and reduces deployment errors.
A relatively new role in enterprise IT which is primarily tasked with coordinating deployments of enterprise software to pre-production environments. The need for the release coordinator has been driven by:
- The need to fill the DevOps "gap"
- Increased infrastructure complexity – multiple layers and platforms which form web applications
- Growth in rate of releases – due to agile and iterative development
- Distributed teams – globally deployed, outsourced and hybrid development, testing and infrastructure teams
The release co-ordinator role (also referred to as a deployment or integration co-ordinator) has emerged from the release management or release engineering teams. This role is similar to an air traffic controller—performing real time co-ordination activities across diverse teams to achieve a group goal (safe landing and take-off) using shared resources (airspace, flight paths, airport runways, and terminal gates).
Release co-ordination contrasts with release management, which is often focused on planning and reporting on software changes, in order to control the release of specific application changes into production. Release engineering is concerned with the systematic and technical work related to building and deploying code into environments.
Change management is the infrastructure discipline for tracking all types of changes in the enterprise IT environment—including both application and infrastructure changes. Change management is a core part of ITIL v3.
- Pant, Rajiv (2009-03-17). "Organizing a Digital Technology Department of Medium Size in a Media Company".
- Samovskiy, Dmitriy (2010-03-02). "The Rise of DevOps". Fubaredness Is Contagious.
- Edwards, Damon. "What is DevOps?".
- Vambenepe, William. "Steve Ballmer gets Cloud".
- Lyman, Jay. "DevOps mixing dev, ops, agile, cloud, open source and business". 451 CAOS Theory.
- Debois, Patrick. "Devops: A Software Revolution in the Making?". Cutter IT Journal.
- "10+ Deploys Per Day: Dev and Ops Cooperation at Flickr".
- "SAM SIG: Applied Lean Startup Ideas: Continuous Deployment at kaChing". SVForum.
- Humble, Jez. "Why Enterprises Must Adopt Devops to Enable Continuous Delivery". Cutter IT Journal.
- "Applied Lean Startup Ideas: Continuous Deployment at kaChing".
- "DevOps Days 2009 Conference".
- Edwards, Damon. "DevOps Meetup Recap".
- Nasrat, Paul. "Agile Infrastructure". InfoQ. Retrieved 31 March 2011.
- Debois, Patrick (2009). "DevOps Days Ghent". DevopsDays. Retrieved 31 March 2011.
- Debois, Patrick. "DevOps Days". DevOps Days. Retrieved 31 March 2011.
- Turnbull, James (Feb 2010). "What DevOps means to me...". Kartar.
- "Virtual Infrastructure products: features comparison". Welcome to IT 2.0: Next Generation IT infrastructures.
- Ellard, Jennifer. "Bringing Order to Chaos through Data Center Automation". Information Management. SourceMedia.
- Liker, Jeffrey (December 17, 2003). The Toyota Way. McGraw-Hill. ISBN 0-07-139231-9.