D – M

 

Deployment Server

The deployment server hosts tools used specifically to deploy infrastructure resources and software programs. These tools can provision applications, virtual machines and even entire operating systems.

Deployment Tool

Deployment tools are used within DevOps projects to automate the deployment of components and applications into different environments, such as development, testing, staging or production.

In some cases, both build and deployment tools are installed on the same server. The deployment tool typically retrieves a built component or application from the artifact repository in order to proceed with its deployment.

The deployment server deploys different versions of the same component into production and staging environments. The most stable tested version (1.0) is deployed to the production server, whereas a newer version (1.1) that still needs to be tested is deployed to the staging environment.

 

Development Tool

Any open source or proprietary tool or programming environment used to develop solution logic can be classified as a development tool. Within a DevOps project it is important that the selected development tool has the ability to be integrated with other relevant tools, such as the source code management repository and the version control tool. It is also preferred to keep the choice of development tool as standardized as possible in order to maintain consistency across the source code produced and the tasks carried out by different developers.

Different developers use the development tool to produce source code. Each set of code may be intended for a different application component. The fact that the development tool is standardized helps integrate it consistently with source code management, build, version control and issue tracking systems and tools.

Feedback Tool

Feedback tools are primarily used to collect feedback for the development team to plan and prioritize the next releases. Automated telemetry and feedback tools can also be built into an application to collect and provide feedback at different stages of development, testing and release. Alternate methods can also be used to enable users to provide feedback since implementing automated feedback and telemetry tools is not always possible due to regulation, security and privacy reasons.

Issue Tracking System

An issue tracking system, also known as a bug tracking system, is used to log and track functional or non-functional issues discovered during development, testing, release and production by both internal project staff as well as end-users. When issues are raised by external users, this system can be used to manage corresponding customer support tickets.

An issue tracking system is typically integrated with release management and version control tools. The purpose of this integration is to identify which tracked issues are fixed and whether a given fixed issue is in a major or minor release. Furthermore, changes made to the code need to be tracked in relation to existing defects and how these changes may impact other parts of a greater solution.

Monitoring Agents (and Systems)

DevOps monitoring agents are used to monitor a range of activity across all lifecycle stages.

For example, when an issue or defect is identified, the monitor can generate a ticket in the incident management system. This allows team members to be notified efficiently, improving awareness and responsiveness.

The monitoring system detects an issue with Component A. The issue is recorded in the issue tracking system, which notifies and assigns the issue to a team.

This pattern is covered in DevOps Module 1: Fundamental DevOps.

For more information regarding DevOps and accreditation,
visit the DevOps Certification program page.