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 and integration between software developers and Information Technology(IT) professionals.[1][2] 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.[3][4][5][6][7]

Goals[edit]

The specific goals of a DevOps approach 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,[8] 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.[9]

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;[10] this daily deployment cycle would be much higher at organizations producing multi-focus or multi-function applications. This is referred to as continuous deployment[11] or continuous delivery [12] and is frequently associated[by whom?] with the lean startup methodology.[13] Working groups, professional associations and blogs have formed on the topic since 2009.[6][14][15]

History of the term "DevOps"[edit]

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

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.[19]

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[20] and cloud infrastructure from internal and external providers
  4. Increased usage of data center automation[21] and configuration management tools

References[edit]

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

Further reading[edit]