Servers and applications can generate a wealth of performance feedback and log data. This data can be used at different stages of a DevOps release cycle, helping to pinpoint the origins of different issues and indicate opportunities for improvement. With the right tool for collecting data from different locations, collating it, and making sense of it, developers and operations staff can:
- Debug applications that are in development, including configurations involving multiple modules, systems, and networked locations
- Monitor applications in production and react to abnormal events
- Troubleshoot problems in production, using precise information at the time problems occurred and comparing faulty vs. correctly operating systems
- Monitor and identify possibilities to improve performance, including the successive elimination of bottlenecks.
Rapid analysis of feedback data, at whatever stage, allows developers to produce and test new versions of software in a timely way or halt a production release . These new versions can then follow the same DevOps path to production release as the original version of the application – for instance, via continuous integration and testing, code version control, and deployment management. Better still, performance analytics can be moved forward (“feedforward”) in the DevOps cycle to evaluate performance of an application before it is deployed in production. Key performance indicators (KPIs) can be defined to measure real-life performance when an application goes live.
Well-known application performance and log management tools include:
- Splunk. One of the richest tools in features and apps for analyzing different kinds of data, Splunk also offers extensive search and visualization capabilities. It runs as an on-premise application under commercial licensing conditions, and may also require a dedicated cluster of servers for execution.
- PaperTrails. Ease of use is a key feature with a single user interface collating log data from multiple machines. Text-based and affordable, PaperTrails does not however offer advanced predictive or reporting capabilities.
- New Relic. As a SaaS application, New Relic offers application performance baselines and deployment markers to help DevOps teams see the impact of successive versions of an application on performance and stability
Choosing one of these tools will depend on your budget and willingness to handle complexity. Out of the four, PaperTrails is the entry-level solution, in terms of simplicity, range of functionality, and cost of implementation. New Relic offers pay-as-you-go pricing. An implementation of Logstash is also affordable, although the mixed technologies make its implementation more complex. Splunk on the other hand costs more, both in licensing and implementation, positioning it as more of an enterprise-level solution.
In all cases, return on investment can improve as information is shared, not only between developers and operations staff, but also with marketing and business teams. More extensive capabilities and a bigger budget may therefore be justified if they help an enterprise to become more productive and competitive – which, at the end of the day, is the goal of good DevOps.