Welcome!

Performance. Errors. Logs. One Tool. Everything Developers Need to Support Their Apps

Stackify Blog

Subscribe to Stackify Blog: eMailAlertsEmail Alerts
Get Stackify Blog via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Agile Software Development, DevOps for Business Application Services, Application Performance Management (APM), DevOps Journal

Stackif: Article

The World of App Monitoring By @Stackify | @DevOpsSummit [#DevOps]

In the early stages of server/client application, application monitoring really focused on infrastructure monitoring

The Evolution of the World of Application Monitoring

‘Perfection would be a fatal flaw for evolution.’ In technology, as in life, everything evolves, grows, develops, mutates and eventually goes away, being replaced with improved versions. In the past several years, application development evolved and applications have come to play a more centric part of many businesses, even those that traditionally were not software players. (Walmart’s sophisticated inventory management software is a good example of this.) Several of the drivers that contributed to the evolution of application development have, at the same time, increased application complexity.

  • Cloud - while simplifying the development, deployment and economy of scale of applications, the use of the cloud also added a range of elements that didn’t exist before (variable amount of servers, elasticity, PaaS, etc.) and at the same time reduced development’s visibility into application performance and their ability to replicate and troubleshoot issues. There are some interesting observations about the influence of cloud on application troubleshooting.
  • Agile development - the ever-increasing demand for new features has created the need for agile development. Agile increases the velocity and number of application releases. Resulting in application instability and more bugs which, in turn, drove quick fixes, reduced documentation and reduced control.
  • Outsourcing – utilizing teams of developers worldwide has created cost-effective ways to speed up development. It has also decentralized an organization’s ability to easily troubleshoot problems. Today’s complex applications have many different components working in parallel requiring many different types of expertise to keep them working as designed. As companies can’t afford to keep unnecessary people on staff they are expecting the developers to be more involved and the management tools they are using to become more intelligent.

The evolution of applications has also driven the necessary evolution of application monitoring tools that provide details to assist with identifying, defining, detailing, and troubleshooting application issues.

First Generation – Watching Infrastructure
In the early stages of server/client application, application monitoring really focused on infrastructure monitoring. Servers uptime, server load, network equipment, and storage. Important logs and errors were simply dumped to text files. When an issue occurred, the operation or support engineer had to view the data in tools like excel or notepad and analyze it manually in order to understand the root cause of an issue.

Second Generation – Gathering Information
The second generation of application monitoring tools came with the creation of many point tools -  each answering a different need that was not covered by traditional monitoring tools, among them you can find log management tools, error aggregation tools, notification tools, APM (Application Performance Management) tools, website monitoring tools, transaction monitoring tools and many others. With this generation an engineer or support manager could get a lot more info than in the first generation and a lot faster. However, trying to correlate problems and train an entire IT team on these all tools is a daunting task. Acquiring all of these tools can easily cost thousands of dollars of month even for small IT projects. Deploying, supporting, and maintaining these tools also requires a lot of time by already busy system administrators. But even if we look past costs, the end result is ‘death by tools’ where, with so many tools, when something happens, it is very hard to use all the capabilities of the many tools at hand and engineers are retreating to the simple ‘notepad’ methods.

Third Generation – Contextual Intelligence
These second generation issues were the trigger for the third generation of application monitoring, that not only unify all the point products into an integrated platform, so there is no need for point products, but be application-aware enough to also correlate the information collected to provide context and intelligence around not just what happened and when, but where, how often and the elusive why. It’s important to note that in earlier generations of monitoring, it’s the operations engineer, and not the application developer, that has access to the infrastructure, monitoring tools and the resulting monitoring data. Supporting today’s complex and ever changing web applications requires developers to be much more involved in application support. This drives the need for 3rd generation solutions to serve both operations and development teams.

Getting to Contextual Intelligence
As logs, errors, app performance, server performance, database performance, and custom app metrics are becoming integrated and ‘aware’ of each other, the users of these third generation platforms can now get a more complete picture. Application errors no longer need to be only a few lines with limited information, but rather can be seen as a collection of the error itself, log data, stack traces, web requests, process data, headers, relevant variables affected, and server performance metrics at the time of the error – all giving a more complete picture to developers and making issue diagnostics faster and more efficient. For example, in the past, server load may or may not have been easily correlated to an issue with, say, web page performance.

With an app aware platform, it is easier to see that these things are tied together and happen at the same time, making time-to-resolution shorter. You can read more about a company that used next gen monitoring to improve their application and customer satisfaction here Until now, the evolution of application development has historically outpaced an organization’s ability to support and troubleshoot those very same applications. Stackify is proud to lead the application support evolution and continue innovating to help today’s operations and development teams.

More Stories By Stackify Blog

Stackify offers the only developers-friendly solution that fully integrates error and log management with application performance monitoring and management. Allowing you to easily isolate issues, identify what needs to be fixed quicker and focus your efforts – Support less, Code more. Stackify provides software developers, operations and support managers with an innovative cloud based solution that gives them DevOps insight and allows them to monitor, detect and resolve application issues before they affect the business to ensure a better end user experience. Start your free trial now stackify.com