CI Tools and Best Practices in the Cloud

Continuous Integration

Subscribe to Continuous Integration: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Continuous Integration: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Continuous Integration Authors: John Rauser, XebiaLabs Blog, Elizabeth White, Stackify Blog, Don MacVittie

Related Topics: Agile Digital Transformation, Continuous Integration, DevOps Journal

Blog Feed Post

The Essential DevOps Terms You Need to Know By @XebiaLabs | @DevOpsSummit #DevOps

A precursor to DevOps, Agile is a software development and, more broadly, business methodology

The Essential DevOps Terms You Need to Know
By Alexander Moss-Bolaños

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.


DevOpsPic

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.

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.

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.

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.

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
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)
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. Check out Xebia Labs’ testing dashboard and analytics tool here.

Build Automation
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
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)
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
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
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
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 our Periodic Table of DevOps or DevOps Glossary if you want to learn about more terms, tools, and practices within DevOps.

The post The Essential DevOps Terms You Need to Know appeared first on XebiaLabs.

Read the original blog entry...

More Stories By XebiaLabs Blog

XebiaLabs is the technology leader for automation software for DevOps and Continuous Delivery. It focuses on helping companies accelerate the delivery of new software in the most efficient manner. Its products are simple to use, quick to implement, and provide robust enterprise technology.