DevOps Practice
Jump to navigation
Jump to search
A DevOps Practice is a software development practice where software developers are required to operate their developed systems.
- Context:
- It can be measured by DevOps Metrics, such as Change Lead Time, Deployment Frequency, Change Failure Rate, and Mean Time to Recovery (MTTR).
- It can involve DevOps Engineers performing DevOps tasks.
- It can be supported by a DevOps System that may be based on a DevOps platform.
- It can be associated with “You build it, you run it.”
- It can include Communication practices, collaboration practices, integration, automation.
- It can include Version control for reproducibility and traceability.
- It can include Trunk-based development to prevent merge conflict hassles.
- It can include Continuous integration.
- It can include Deployment automation
- It can include Continuous testing.
- …
- Example(s):
- Atlassian's DevOps Practice [1].
- Netflix's DevOps Practice, which leverages microservices architecture, chaos engineering, and a culture of freedom and responsibility.
- an LLM DevOps Practice.
- …
- Counter-Example(s):
- Software Reliability Engineering (SRE) Practices, which focus on ensuring system reliability and performance.
- Data Engineering Practices, which involve designing and maintaining data infrastructure and pipelines.
- ML Engineering Practices, which specialize in developing and deploying machine learning models.
- See: Software Development Process, Information Technology Operations, Software Development Methodology, System Integration, Automation, Continuous Delivery, Systems Development Life Cycle, DevOps Research and Assessment (DORA) .
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).