The DevOps lifecycle
is within a larger, automated iterative development lifecycle to ensure high quality, rapid delivery. The name and number of workflows will vary depending on who you ask, but are usually summarized in the following six.
Plan
- In this workflow, the team will see new features in the next release, leveraging prioritized end-user feedback and case studies, as well as input from all internal stakeholders.
- The goal of the planning phase is to
maximize the business value
of the product by creating a backlog of features that produce the desired value results during deployment.
Development
- This is a
programming step
for developers to test, code, and build new and improved features based on backlog user stories and work items. - A combination of practices such as
test-driven development
(TDD), pair programming, and peer code review is common. - Developers often use local workstations to perform internal loops of code writing and testing before sending code to a continuous delivery pipeline.
Integration
- This workflow integrates new code into an existing code base, tests it, and packages it into an executable for deployment will be done.
- Common automation operations include merging code changes into a single master copy, pulling that code from the source code repositories, and automating compilation, unit testing, and packaging into a single executable.
- The best practice is to store the output of the CI stage in a binary repository, for the next stage.
Deployment
- Here the runtime build output is deployed to a runtime environment - usually a development environment where
runtime tests
are executed for quality, compliance and security. - If bugs or defects are discovered, developers have the ability to prevent and fix problems before end users see them.
- There are usually
development, testing, and production environments
, and each environment requires increasingly strict quality gates. - A best practice for deploying to a production environment is typically to
deploy to a subset of end users
first, and finally to all users once stability is established.
Operations
- Monitoring feature performance, behavior, and availability ensures features can deliver value to end users.
Operation ensures that features work properly and there are no service interruptions - make sure network, storage, platform, computing and security are all up and running.
In the event of an incident, operations ensure that the problem is identified, the appropriate personnel are alerted, the problem is identified, and remedial measures are applied.
Learning
- This is to collect feedback from end users and customers on features, functionality, performance, and business value to plan improvements and functionality for the next release.
- This will also include all learning and latency factors of operational operations, which can enable developers to proactively avoid any past problems that may recur in the future.
Gratitude for perusing my article till end. I hope you realized something unique today. If you enjoyed this article then please share to your buddies and if you have suggestions or thoughts to share with me then please write in the comment box.
Above blog is submitted as part of 'Devtron Blogathon 2022' - https://devtron.ai/
Check out Devtron's GitHub repo - https://github.com/devtron-labs/devtron/ and give a ⭐ to show your love & support.
Follow Devtron on LinkedIn - https://www.linkedin.com/company/devtron-labs/ and Twitter - https://twitter.com/DevtronL/, to keep yourself updated on this
Top comments (0)