DevOps Explained
DevOps is the union of people, processes, and products that provides continuous value to end users.
1
Continuous Integration
The process of automating the build and testing the code every time a team member implements changes to version control.
Build Automation
The process of automating software build creation, compiling source code into binary code, and packaging binary code.
Package Management
The process of creating and hosting packages that can be shared and used across the organization.
Unit Testing
The development process in which the smallest testable parts of an application are individually and independently tested for proper operation.
Code Analysis
Modern lint checkers are often used to find code that does not correspond to certain style guidelines.
2
Continuous Testing
Controlling the execution of tests and comparing the actual outcomes with the predicted outcomes.
Functional Testing
The process of automating regression testing.
Smoke Testing
The process of automating smoke test cases.
Load Testing
The process of applying demand on a system and measuring its response.
Security Testing
A testing technique to determine if an information system protects data and maintains functionality as intended.
Test Management
The activity of managing a testing process. A test management tool is software which governs tests that have been previously procedurally specified. These tools are often associated with automation software.
3
Continuous Delivery
A software development practice where code changes are automatically prepared for a production release.
Infrastructure As Code
Process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configurations or interactive configuration tools.
Artifacts Management
A universal DevOps solution providing end-to-end automation and management of binaries and artifacts through the application delivery process that streamlines productivity across your entire development ecosystem.
Configuration Management
The mechanism used to make the server reach a desirable state, previously defined by provisioning scripts using a tool’s specific language and features.
Release Management
Release management is the process of overseeing the planning, scheduling, and controlling of software builds throughout each stage of development and across various environments.
Deployment Automation
Allows applications to be deployed across the various environments used in the development process, as well as the final production environments.
ChatOps
A model where people, tools, processes, and automation are connected in a transparent flow that also helps control pipelines in one window.
Containerization
An OS-level virtualization method used to deploy and run distributed applications without launching an entire virtual machine (VM) for each app. In this process, multiple isolated applications or services run on a single host and access the same OS kernel.
Rollback
A DevOps approach that enables IT to apply the ongoing deployment experience gained through CI/CD to disaster recovery processes. In addition, the automated tools that are used to move applications from development and testing into production and back again can be used for failover and recovery.
4
Monitoring
The systematic process of collecting, analyzing, and using the information to track a program’s progress toward reaching its objectives and to guide management decisions.
Application Monitoring
Monitoring and management of performance and availability of software applications.
Infrastructure Monitoring
Monitoring and management of performance and availability of software infrastructure.
Project Planning
The phase where a set of pre-defined business processes pass through various development phases such as requirements definition, design, development, testing, deployment, and release across an entire lifecycle of a product.
Continuous Feedback
A process that occurs when outputs of a system are routed back as inputs in a chain of cause-and-effect that forms a circuit or loop.