DevOps

From Wikipedia, the free encyclopedia
Jump to: navigation, search

DevOps (a portmanteau of "development" and "operations") is a software development method that stresses communication, collaboration (information sharing and web service usage), integration, automation and measurement of cooperation between software developers and other information-technology (IT) professionals.[1][circular reference][2][3] DevOps acknowledges the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services and to improve operations performance - quality assurance.[4][5][6][7][8] [9][3]

Goals[edit]

The specific goals of a DevOps approach span the entire delivery pipeline, they include improved deployment frequency, which can lead to faster time to market, lower failure rate of new releases, shortened lead time between fixes, and faster mean time to recovery in the event of a new release crashing or otherwise disabling the current system. Simple processes become increasingly programmable and dynamic, using a DevOps approach,[10] which aims to maximize the predictability, efficiency, security, and maintainability of operational processes. Very often, automation supports this objective.

DevOps integration targets product delivery, quality testing, feature development, and maintenance releases in order to improve reliability and security and provide 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.[11]

DevOps aids in software application release management for an organization 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 employees in specific non-production environments. The DevOps approach grants developers more control of the environment, giving infrastructure more application-centric understanding.

Role in continuous deployment[edit]

Companies with very frequent releases may require a DevOps awareness or orientation program. Flickr developed a DevOps approach to support a business requirement of ten deployments per day;[12] this daily deployment cycle would be much higher at organizations producing multi-focus or multi-function applications. This is referred to as continuous deployment[13] or continuous delivery [14] and is frequently associated[by whom?] with the lean startup methodology.[15] Working groups, professional associations and blogs have formed on the topic since 2009.[7][16][17]

History of the term "DevOps"[edit]

The term "DevOps" was popularized through a series of "DevOps Days" starting in 2009 in Belgium.[18] Since then, there have been DevOps Days conferences held in India, the US, Brazil, Australia, Germany, Sweden, and New Zealand.[19] The term "DevOps" started appearing online in the Spring of 2010.[20]

Visual model[edit]

Illustration showing DevOps as the intersection of development (software engineering), technology operations and quality assurance (QA)

Development methodologies (such as agile software development) that are adopted in a traditional organization with separate departments for Development, 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.[21]

Factors driving adoption[edit]

The adoption of DevOps is being driven by factors such as:

  1. Use of agile and other development processes and methodologies
  2. Demand for an increased rate of production releases from application and business unit stakeholders
  3. Wide availability of virtualized[22] and cloud infrastructure from internal and external providers
  4. Increased usage of data center automation[23] and configuration management tools

DevOps Solutions[edit]

References[edit]

  1. ^ Quoting "WikiPedia" [sic]: Pant, Rajiv (2009-03-17). "Organizing a Digital Technology Department of Medium Size in a Media Company". DevOps[...] is a set of processes, methods and systems for communication, collaboration and integration between departments for Development (Applications/Software Engineering) and Technology Operations. 
  2. ^ Loukides, Mike (2012-06-07). "What is DevOps?". 
  3. ^ a b Floris, Erich; Chintan, Amrit; Maya, Daneva (2014-12-10). "A Mapping Study on Cooperation between Information System Development and Operations". 
  4. ^ Samovskiy, Dmitriy (2010-03-02). "The Rise of DevOps". Fubaredness Is Contagious. 
  5. ^ Edwards,, Damon. "What is DevOps?". 
  6. ^ Vambenepe, William. "Steve Ballmer gets Cloud". 
  7. ^ a b Lyman, Jay. "DevOps mixing dev, ops, agile, cloud, open source and business". 451 CAOS Theory. 
  8. ^ Debois, Patrick. "Devops: A Software Revolution in the Making?". Cutter IT Journal. 
  9. ^ Kim, Gene. "DevOps Culture Part 1". 
  10. ^ "What is DevOps?". NewRelic.com. Retrieved 2014-10-21. 
  11. ^ Nasrat, Paul. "Agile Infrastructure". InfoQ. Retrieved 31 March 2011. 
  12. ^ "10+ Deploys Per Day: Dev and Ops Cooperation at Flickr". 
  13. ^ "SAM SIG: Applied Lean Startup Ideas: Continuous Deployment at kaChing". SVForum. 
  14. ^ Humble, Jez. "Why Enterprises Must Adopt Devops to Enable Continuous Delivery". Cutter IT Journal. 
  15. ^ "Applied Lean Startup Ideas: Continuous Deployment at kaChing". 
  16. ^ "DevOps Days 2009 Conference". 
  17. ^ Edwards, Damon. "DevOps Meetup Recap". 
  18. ^ Debois, Patrick (2009). "DevOps Days Ghent". DevopsDays. Retrieved 31 March 2011. 
  19. ^ Debois, Patrick. "DevOps Days". DevOps Days. Retrieved 31 March 2011. 
  20. ^ "DevOps your team!". Oxagile. Retrieved 8 November 2014. 
  21. ^ Turnbull, James (Feb 2010). "What DevOps means to me...". Kartar. 
  22. ^ "Virtual Infrastructure products: features comparison". Welcome to IT 2.0: Next Generation IT infrastructures. 
  23. ^ Ellard, Jennifer. "Bringing Order to Chaos through Data Center Automation". Information Management. SourceMedia. 

Further reading[edit]