DevOps technology overview
The promise of DevOps
DevOps automates and speeds software delivery. It makes your process and your products more reliable. When you implement DevOps technologies and practice, you’ll provide value to your customers faster—in the form of new and innovative products, or enhancements to existing ones.
What is the definition of DevOps?
DevOps is a practice that unifies people, process, and technology across development and IT in five core practices: planning and tracking, development, build and test, delivery, and monitoring and operations. When practicing DevOps, development, IT operations, quality engineering, and security teams work closely together—breaking down practices that were once siloed. Improved coordination and collaboration across these disciplines reduces the time between when a change is committed to a system and when the change being placed into production. And, it ensures that standards for security and reliability are met as part of the process. The result: better products, delivered faster, to happier customers.
So how do I practice a DevOps model?
Cross-discipline teams follow these phases of DevOps through their delivery pipeline to get products to market quickly.
Plan and track
Identify and track work using practices and processes like Kanban boards and agile. When work is tracked visually, stakeholders have clear insight into the development team’s capacity and can better plan and prioritize tasks—and avoid fire drills.
Write code using modern version control systems like Git to integrate continuously and safely to the master branch. When a feature is complete, the developer submits a pull request and once approved, changes are merged to master and the old branch is deleted.
Build and test
Checking in code to Git or another version control system kicks off an automated build process. The code is tested and validated, ensuring that bugs are caught early in development—when they’re fresh in the developer’s mind and less costly to fix. This process of automating build and test is called continuous integration (CI). A production-deployable artifact is the result of successful build and integration, enabling continuous delivery (CD)—the ability to deploy to production at any time.
Once tested and validated, each change is deployable to the production environment. Using continuous delivery practices, final deployment to production is a manually controlled business decision.
With continuous deployment, the entire process from code commit to production is automated. When your code is automatically deployed, your customers get access to new features as soon as they’re ready.
Monitor and operate
Once live in production, monitoring delivers information about your app’s performance and usage patterns. Achieve high availability by getting immediate, rich diagnostic data that your team can act on quickly. Mitigate issues for users and gather data to make informed business decisions about future development. And, with automated compliance policies using infrastructure as code and policy as code, you’ll ensure that the apps you deploy to production use desired-state configurations that align to security best practices.