DevOps Practice
(Redirected from DevOps Methodology)
A DevOps Practice is a software development practice that can be used to create software development and operation systems (that support continuous software delivery tasks).
- AKA: Development and Operations Practice, Dev+Ops Practice, DevOps.
- Context:
- It can typically integrate DevOps Development Teams with DevOps operations teams through DevOps collaboration mechanisms.
- It can typically enable Continuous Software Delivery through DevOps automation pipelines.
- It can typically implement DevOps Version Control for DevOps code reproducibility and DevOps change traceability.
- It can typically utilize DevOps Trunk-Based Development to prevent DevOps merge conflicts.
- It can typically support DevOps Continuous Integration with DevOps automated testing.
- ...
- It can often involve DevOps Engineers performing DevOps automation tasks and DevOps monitoring tasks.
- It can often be measured by DevOps Performance Metrics such as DevOps change lead time, DevOps deployment frequency, DevOps change failure rate, and DevOps mean time to recovery.
- It can often implement DevOps Deployment Automation for DevOps release consistency.
- It can often include DevOps Continuous Testing across DevOps environments.
- ...
- It can range from being a Basic DevOps Practice to being a Mature DevOps Practice, depending on its DevOps process maturity level.
- It can range from being a Small-Scale DevOps Practice to being an Enterprise DevOps Practice, depending on its DevOps organizational scope.
- ...
- It can be supported by DevOps Platforms providing DevOps tool integration.
- It can implement DevOps Infrastructure as Code for DevOps environment consistency.
- It can foster DevOps Cultural Change through DevOps shared responsibility models.
- It can be associated with DevOps Philosophy of "You build it, you run it."
- ...
- Example(s):
- Technology Company DevOps Practices, such as:
- Streaming Service DevOps Practices, such as:
- E-Commerce DevOps Practices, such as:
- Amazon DevOps Practice demonstrating DevOps continuous deployment and DevOps service ownership.
- Collaboration Platform DevOps Practices, such as:
- Atlassian DevOps Practice demonstrating DevOps tool integration and DevOps metric tracking.
- Domain-Specific DevOps Practices, such as:
- Machine Learning DevOps Practices, such as:
- LLM DevOps Practice demonstrating DevOps model deployment automation and DevOps experiment tracking.
- Financial Services DevOps Practices, such as:
- Banking DevOps Practice demonstrating DevOps regulatory compliance and DevOps security integration.
- Machine Learning DevOps Practices, such as:
- Scale-Based DevOps Practices, such as:
- Startup DevOps Practices demonstrating DevOps rapid iteration and DevOps minimal process overhead.
- Enterprise DevOps Practices demonstrating DevOps standardization and DevOps governance frameworks.
- ...
- Technology Company DevOps Practices, such as:
- Counter-Example(s):
- Software Reliability Engineering (SRE) Practices, which focus on system reliability rather than DevOps development-operations integration.
- Traditional Waterfall Development Practices, which separate development phases from operations phases without DevOps continuous integration.
- Data Engineering Practices, which specialize in data infrastructure rather than DevOps software delivery pipelines.
- See: Software Development Process, Information Technology Operations, Continuous Delivery, Agile Software Development, DevOps Tool, DevOps Metric, Site Reliability Engineering.
References
2024
- Perplexity
- Based on the search results provided, here are the organizations that have shared details about their internal DevOps practices:
- Atlassian - In the article [1], Atlassian mentions conducting a survey of 500 DevOps practitioners and finding that 50% of organizations have been practicing DevOps for more than three years. However, it does not provide specific details on the DevOps practices of particular companies.
- Stack Overflow - The blog post [2] from Stack Overflow discusses their internal DevOps mindset and practices like one-team thinking, automation to eliminate "hell months" during releases, and the need for standardization and eliminating variables. It provides some insights into Stack Overflow's approach to DevOps.
- TIAA-CREF - The article [4] cites TIAA-CREF as an example of an organization that has seen significant improvements by adopting an "agile-based DevOps approach", resulting in a four-fold increase in development productivity and faster release cycles. However, it does not delve into the specific DevOps practices implemented by TIAA-CREF.
- The other search results [3] and [5] do not mention any specific organizations and their internal DevOps practices in detail. They provide general statistics, trends, and strategies related to DevOps adoption and implementation, but do not cite examples of companies sharing comprehensive details about their DevOps workflows and operational practices.
- Citations:
- Based on the search results provided, here are the organizations that have shared details about their internal DevOps practices:
[1] https://www.atlassian.com/devops/what-is-devops/history-of-devops [2] https://stackoverflow.blog/2020/06/10/the-rise-of-the-devops-mindset/ [3] https://www.cloudzero.com/blog/devops-statistics/ [4] https://www.toptal.com/insights/innovation/what-is-devops [5] https://www.cprime.com/resources/blog/devops-implementation-plan-a-comprehensive-6-step-strategy/
2022
- (RanSom, 2022) ⇒ Aeris Ransom (2022). "How Is Platform Engineering Different from DevOps and SRE?". In: https://thenewstack.io/ TheNewStack].
- QUOTE: ... “You build it, you run it.” In 2006, this is how Amazon’s CTO Werner Vogels described the company’s approach to software engineering. Amazon’s developers had abandoned the traditional “throw it over the wall” to operations model. Instead, they deployed and ran their applications and services end to end. And so, DevOps was born. ...
2020
- (Wikipedia, 2020) ⇒ https://en.wikipedia.org/wiki/Continuous_delivery#Relationship_to_DevOps Retrieved:2020-8-26.
- Continuous delivery and DevOps are similar in their meanings and are often conflated, but they are two different concepts. DevOps has a broader scope, and centers around the cultural change, specifically the collaboration of the various teams involved in software delivery (developers, operations, quality assurance, management, etc.), as well as automating the processes in software delivery. Continuous delivery, on the other hand, is an approach to automate the delivery aspect, and focuses on bringing together different processes and executing them more quickly and more frequently. Thus, DevOps can be a product of continuous delivery, and CD flows directly into DevOps.
2020
- (Lev, 2020) ⇒ Nir Bar Lev (2020). "The Rise of the Data Engineer". In: BLOG@CACM.
- QUOTE: ... Moreover, unlike traditional DevOps (where the core task is to replicate the core software applet in as many instances as needed and maintain high availability), here the core task is one of both replicating big training jobs and also running multiple, ongoing, disparate training and experiment jobs in parallel so as to enable an efficient and timely development process. …
2019
- (Wikipedia, 2019) ⇒ https://en.wikipedia.org/wiki/DevOps Retrieved:2019-3-8.
- DevOps is a combination of software development (Dev) and information technology operations (Ops). DevOps is a set of software development practices that aim to shorten the systems development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
2017
- (Puppet Enterprise, 2017) ⇒ https://puppet.com/solutions/devops
- QUOTE: DevOps is a way to release better software. It is not just technical tools or workflows. DevOps is also a cultural practice. Devops produces better software, faster by aligning development, staging, and deployment.
While it is not a fixed methodology, automation and a collaborative culture are the foundation for accepted Devops practices, which include:
- Measuring the things that have an impact on your organization’s goals
- Making those measurements visible to everyone
- Using a shared set of software development tools and best practices
- Including all teams in the software delivery process from planning to production
- Automating the development pipeline and removing bottlenecks for faster delivery
- QUOTE: DevOps is a way to release better software. It is not just technical tools or workflows. DevOps is also a cultural practice. Devops produces better software, faster by aligning development, staging, and deployment.
2018
- (Humble et al., 2018) ⇒ Jez Humble, Gene Kim, and Nicole Forsgren. (2018). “Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations." IT Revolution Press. , 2018.
- QUOTE: ... In our search for measures of delivery performance that meet these criteria, we settled on four: delivery lead time, deployment frequency, time to restore service, and change fail rate. ...
2015
- (Greene, 2015) ⇒ Daniel Greene (2015). "What Is DevOps?". In: TechCrunch.
- QUOTE: … the term DevOps has been used for many areas: automated infrastructure provisioning tools (e.g. Chef and Puppet) and automation tools (e.g. continuous integration like Jenkins), as well as for establishing developer work environments to mirror production (e.g. Vagrant).
I use the term “DevOps” to define a set of practices, tools and policies that lead to improved quality and Automated Delivery (AD). In many ways, rapid and frequent deployment to production reduces risk, as any release contains fewer changes. And fixes for any issues that are found are easier to fix or, alternatively, the smaller changes are typically easier to roll back. …
... DevOps, in a way, is all the things that go into making AD/CD possible. In many ways, DevOps is about ensuring quality at all stages. You can visualize DevOps as a conveyor belt, where many checks and balances are in place, at all stages, to ensure any bundle coming down the belt is removed if it’s not good enough, and delivered to the end of the belt (e.g. production) safely and reliably if it is.
- QUOTE: … the term DevOps has been used for many areas: automated infrastructure provisioning tools (e.g. Chef and Puppet) and automation tools (e.g. continuous integration like Jenkins), as well as for establishing developer work environments to mirror production (e.g. Vagrant).