Welcome!

@DevOpsSummit Authors: Janakiram MSV, Zakia Bouachraoui, Yeshim Deniz, Elizabeth White, Liz McMillan

Related Topics: @DevOpsSummit, Java IoT, @CloudExpo

@DevOpsSummit: 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

@DevOpsSummit Stories
Serverless Computing or Functions as a Service (FaaS) is gaining momentum. Amazon is fueling the innovation by expanding Lambda to edge devices and content distribution network. IBM, Microsoft, and Google have their own FaaS offerings in the public cloud. There are over half-a-dozen open source serverless projects that are getting the attention of developers.
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throughout enterprises of all sizes.
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility.
The Kubernetes vision is to democratize the building of distributed systems. As adoption of Kubernetes increases, the project is growing in popularity; it currently has more than 1,500 contributors who have made 62,000+ commits. Kubernetes acts as a cloud orchestration layer, reducing barriers to cloud adoption and eliminating vendor lock-in for enterprises wanting to use cloud service providers. Organizations can develop and run applications on any public cloud, such as Amazon Web Services, Microsoft Azure, Red Hat OpenShift and Google Cloud Platform.
Because Linkerd is a transparent proxy that runs alongside your application, there are no code changes required. It even comes with Prometheus to store the metrics for you and pre-built Grafana dashboards to show exactly what is important for your services - success rate, latency, and throughput. In this session, we'll explain what Linkerd provides for you, demo the installation of Linkerd on Kubernetes and debug a real world problem. We will also dig into what functionality you can build on top of the tools provided by Linkerd such as alerting and autoscaling.