In a company, usually before any change is decided to be made, its real need is analysed so that an action, development and implementation plan can be elaborated. This way, wasting in several aspects is avoided, both regarding time, financial and material expenses. Naturally, it is also applied to the adoption time of a new integrated culture for development and operation in IT, the DevOps.

Recently, Visagio developed a supply area process monitoring system for a large Brazilian company. During this work, it was possible to analyse that, due to the huge number of users of this system and due to the fact that they are located in different and distant places in the world, the need for improvements would be continuous, and it would be necessary to guarantee that such improvements were implemented in a short span. After all, essential processes of company management, such as purchases of supplies, would pass through this system and any delay could mean a potential loss to our client.

Thus, once the culture was defined, we use some DevOps Tools which come to help and optimise the implementation of this new culture. We listed in categories some of the most interesting and practical ones that can provide significant help to this process.

They are:


  • Automation Scripts

Developing of scripts for the task automation helps to guarantee that the defined steps are followed in the established order. For this project, several personalised scripts were developed. One of them is responsible for application’s deploy. Among other activities, the script executes copies of files, stop/start of the application server, and performs the database backup.

  • Jenkins

Jenkins is a continuous integration tool that is extensively used for building and testing in a fast and easy way. Among other functionalities, it can run tests, generate reports and send alerts of erroneous builds by email. If required, it can even deploy the application version in the desired environment.

List of jobs (or projects) and their respective statuses on Jenkins

List of jobs (or projects) and their respective statuses on Jenkins


  • Redmine

In a shared development and operation environment, it is essential the use of some tool to manage technical support tasks. With Redmine, it becomes possible to gain agility in the moment of resolving similar tasks and especially to measure which are the most frequent ones, helping the decision-making about improvements and corrections that must receive priority, or even that can indicate the need for training for users.

Redmine is a tool that enables to create tasks, indicate priorities, assign them to specific users, estimate time, deadlines and more.

In this project, there are over 100 weekly tasks, both for improvements and support.

Redmine list of calls.

Redmine list of calls.

Example of a Redmine call.

Example of a Redmine call.


  • Automated tests

With the dynamism requested by DevOps, performing all the necessary tests for guaranteeing product’s quality manually becomes virtually impossible. In this scenario, automated tests can ensure that all the system functionalities are working without any problem.

There are several tools for this purpose. In this project, we chose to use SAHI. The choice was based on the fact that SAHI has an open source version and due to the quickness, it enables tests to be created and edited.

Execution screen of Sahi's tests.

Execution screen of Sahi’s tests.


  • Alerting e-mails
There are several ways to monitor an environment performance and state, and one of the most used ones in the market is to create alert e-mails when errors occur, or when specific triggers are activated. Errors that happen in the program execution, excessive use of memory and processor are some examples of the type of features that can be configured to be continuously monitored through tools such as Log4j and Zabbix, for example. With configured alerts, it is possible to guarantee that the performance of the supporting team will always be as fast as possible, minimising problems that can happen with the client.

Example of automatic alerting e-mail

Oliver Drummond graduated in Computer Science and has extension courses in Web Application Architectures from the University of New Mexico and Programming Mobile Applications for Android Handheld Systems from the University of Maryland College Park.