In my last blog, I talked about how the process of BizDevOps is emerging to utilize DevOps practices that further drive the overall business agenda and how a business transaction can be that common language for collaboration between Dev, Ops, and Biz.
DevOps is an approach that improves collaboration among Dev and Ops teams to enable fast delivery of applications and ensure impeccable end-user experience. BizDevOps takes the concept of DevOps to a new level – by bringing the business context and insights to day to day DevOps activities. BizDevOps ensures that Dev and Ops focus on what matters to the business and also introduces the Biz persona (line-of-business manager, product manager) as a key stakeholder in the process.
IDC recently published research on these two topics in its report, “DevOps and the Cost of Downtime: Fortune 1000 Best Practice Metrics Quantified,” by IDC Vice President Stephen Elliot. In addition to eye-opening cost of application downtime and increasing momentum for DevOps, it also highlighted that “I=improved customer experience” is the most expected business outcome from DevOps practices.
Improving end-user customer experience is the 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.
AppDynamics automatically discovers application topology and interdependencies, trace key business transactions, visualize and prioritize the end to end business transactions performance in addition to monitoring the health of the application and underlying infrastructure.
The AppDynamics Application Intelligence Platform is a self-learning platform that tracks every business transaction metrics, automatically benchmarks what’s considered normal performance and adjust that baseline dynamically over time using the metrics collected. This dynamic baselining allows for intelligent alerting and remedial actions in case of deviations from normal.
AppDynamics collects metrics for every transaction, but, for those transactions that are trending towards abnormal performance, it intelligently collects call graph snapshots and other diagnostics. A transaction snapshot depicts a set of diagnostic data, taken at a certain point in time, for an individual transaction across all application servers through which the transaction has passed. It gives you the code-level visibility for a business transaction, not just at a single component in your environment, but for the transaction as touched by all instrumented tiers involved in processing the business transaction.
After you find the root cause of the problems by starting from the entry point of a business transaction and drilling down all the way to the calls in your code, AppDynamics also allows you to automate the remedial actions via run-book automation so that you can resolve the issues quickly and ensure exceptional end-user experience.
2. Don’t just manage production apps; Ensure readiness in pre-production
It’s 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 the production. It’s 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. APM solution (e.g. AppDynamics) 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. AppDynamics can be run in Developer Mode to capture full snapshots for every transaction and provide full diagnostics data.
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.
AppDynamics Virtual War room IT enables the collaboration between development, operations, and business teams. It allows them to see and resolve problems together in a shared virtual space. It enables scheduled, auto-delivered reports, and adds a new iOS app that sends push notifications to team members when system alerts are triggered.
AppDynamics Virtual War room IT helps track changes in real time by correlating streaming metrics at second intervals. It allows multiple developers, operations professionals, and business users to look at the same dashboard at the same time and make changes to the dashboard in real-time. It shows a timeline decorated with annotated artifacts that can represent notes and observations.
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 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 & database upgrades, Infrastructure changes.
AppDynamics enables you to compare your application before and after a new code release, code sprints and even bug fixes allowing you to assess the impact the new code had on application performance in both pre-production and production environment. You can compare business transaction snapshots for code path differences between versions, fixes, or between 2 different hosts.
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.
The AppDynamics Application Intelligence Platform delivers true business intelligence and supports both your immediate operational needs and your longer-term business objectives. It helps you analyze your business and IT outcomes in real-time based on streaming business and operational data in the dashboard. It gives you clear visibility into how your customers are using your products and allows driving customer enablement and prioritizing product development efforts.
To learn more about these key strategies for DevOps success, join me in a webinar with IDC Vice President Stephen Elliot, the author of the “DevOps and the Cost of Downtime: Fortune 1000 Best Practice Metrics Quantified” report. Register now!