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 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.
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.
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.