User Tools

Site Tools


key_devops_terms

Key DevOps Terms

Return to Key Terms, DevOps, DevOps Topics

Key DevOps Terms

“New to the DevOps world and looking to get a grip on some of the industry’s key terms? Search no further. This short list of Essential DevOps Terms will serve as a foundation from which you can build your understanding of the industry’s tools and methodologies.”

Agile

“A precursor to Devops; Agile is a software development and, more broadly, business methodology that emphasizes short, iterative planning and development cycles to provide better control and predictability and support changing requirements as projects evolve.” (xb032116)

DevOps

DevOps (development and operations) is a software development phrase used to describe a type of agile relationship between Development and IT Operations. The goal of DevOps is to improve communication, collaboration, and processes between the various roles in the software development cycle, in order to improve and speed up software delivery.” (xb032116)

Continuous Delivery

Continuous Delivery (CD) is a set of processes and practices that radically removes waste from your software production process, enables faster delivery of high-quality functionality and sets up a rapid and effective feedback loop between your business and your users.” (xb032116)

Continuous Integration

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.”

Infrastructure as Code (IaC)

Microservices

Microservices are software architecture design pattern, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task.”

Release Orchestration

Release Orchestration is the use of tools like XL Release which manage software releases from the development stage to the actual software release itself." ==Provisioning== "[[Provisioning is the process of preparing new systems for users (in a Continuous Delivery scenario, typically development or test teams). The systems are generally virtualized and instantiated on demand. Configuration of the machines to install operating systems, middleware etc. is handled by automated system configuration management tools, which also verify that the desired configuration is maintained.”

Configuration Management

Configuration Management is “a term for establishing and maintaining consistent settings and functional attributes for a system. It includes tools for system administration tasks such as IT infrastructure automation.”

Deployment Management

Deployment Management aims to plan, schedule and control the movement of releases to test and live environments.”

Test-Driven Development (TDD)

Test-Driven Development (TDD) is “a development practice in which small tests to verify the behavior of a piece of code are written before the code itself. The tests initially fail, and the aim of the developer(s) is then to add code to make them succeed.”

Build Automation

Build Automation refers to “Tools or frameworks that allow source code to be automatically compiled into releasable binaries. Usually includes code-level unit testing to ensure individual pieces of code behave as expected.”

Unit Testing

Unit Testing refers to “Code-level (i.e., does not require a fully installed end-to-end system to run) testing to verify the behavior of individual pieces of code. Test-driven deployment makes extensive use of unit tests to describe and verify intended behavior.”

Application Release Automation (ARA)

Application Release Automation (ARA) refers to “tools, scripts or products that automatically install and correctly configure a given version of an application in a target environment, ready for use.

Canary Release

Canary Release refers to “a go-live strategy in which a new application version is released to a small subset of production servers and heavily monitored to determine whether it behaves as expected. If everything seems stable, the new version is rolled out to the entire production environment.”

Dark Launch

Dark Launch is “a go-live strategy in which code implementing new features is released to a subset of the production environment but is not visibly, or only partially, activated. The code is exercised, however, in a production setting without users being aware of it.

Regression Testing

Regression Testing is the testing of the end-to-end system to verify that existing functionality has not been negatively impacted by changes to the application.


Feeling confident with these terms? Feel free to check out the Periodic Table of DevOps or DevOps Glossary if you want to learn about more terms, tools, and practices within DevOps.

Fair Use Sources:

key_devops_terms.txt · Last modified: 2024/04/28 03:19 (external edit)