Improving end-user customer experience is one of the key objectives of an application performance management solution in a production environment. By leveraging the application performance data earlier in the development cycle, DevOps teams can ensure readiness for exceptional customer experience before deploying any application in production. Finally, harnessing the business data in application transactions and logs and correlating them with operational data can provide actionable business insights.
In this blog, I will discuss five steps to DevOps success leveraging an application performance management solution in production. I'll also discuss how application performance analytics earlier in the development lifecycle will help foster BizDevOps success.
1. Monitor and manage performance with the business in mind
In order to minimize the application downtime and expedite remediation of application performance issues, you will need to understand business impact of different transactions and their dependencies on various application components and underlying infrastructure. You need to be looking at every aspect of a business transaction – starting from the user experience, the application performance, how the application interacts with the infrastructure, and then finally what is the business impact and how is the business performing.
2. Don't just manage production apps – Ensure readiness in pre-production
It has become commonplace that the goal of any mobile application is to give exceptional experience to their end-customer so they can get a five-star rating from iTunes stores or Google Play. Any web application has similar goals for earning their end-user loyalty. In order to achieve these challenging goals in production, you will need to ensure that your applications are tested and ready for desirable performance in pre-production before they are deployed in production.
It is helpful if you can use the same application performance management tool that you use in your production environment for monitoring tests in a pre-production environment under a production like environment. An APM solution can let you set policies that can trigger automated actions to report issues or simply to notify of successful/unsuccessful test runs during pre-production.
Having deep application transaction traces, detailed snapshots of applications, and underlying infrastructure is also very important to understand the root cause of any performance issue so that developers can fix them before it surfaces in production.
3. When stuff happens (and it will), collaborate effectively with Dev, Ops and Biz
In addition to ensuring production readiness before deployment and having a complete end-to-end visibility into the production environment, it is very important to have processes and tools that foster collaboration between development, operations, and business teams. It helps to get everyone on the same page by looking at the same Business Transaction data, focus on metrics that translate to the business value the application delivers and dive in deeper when appropriate.
4. Change is most often the cause of poor performance, so understand changes to improve performance
Once the application is deployed in production, it is critical to watch for any changes in the environment since the majority of IT outages are caused by improperly implemented changes. So, in order to minimize the very costly application downtime, it is important to understand the performance impact of every change – software, server and database upgrades, infrastructure changes.
You should also compare your application before and after a new code release, code sprints and even bug fixes, and assess the impact the new code had on application performance in both pre-production and production environment.
5. Unlock actionable business insights with Application Analytics
Harnessing the business data in transactions and logs and correlating them with operation data can help you unlock actionable business insights. For example, understanding which users had trouble checking out of your e-commerce application during an outage and what products were in their cart can provide that data to your marketing team so that they can execute on a win back campaign.
Similarly, in case there are multiple business transactions having performance issues, you can prioritize the resolution based on the revenue impact of transactions.