As we see more enterprises move their applications and services to the cloud, we see a sharper focus on ensuring good application performance for users. That’s clearly beneficial for end users and for organizations focused on DevOps and apps. And it’s a smart business decision—just look at recent APM provider acquisition data to see how big this industry is.
Application teams want to develop for the cloud where they can iterate faster and make changes quickly. Managing application deployment and processes with cloud computing make those teams’ jobs easier. But end-user experience is more important than ever and application performance monitoring isn’t quite up the challenges of distributed cloud deployments.
As your enterprise adapts to these cloud advancements in the application delivery infrastructure, how do you guarantee the experience and productivity of users, especially your employees?
The Two Challenges to Improving App Performance
1. There is More to Application Performance than Code
The transition to thecloud means one thing for all applications of all kinds: The internet has just been inserted between your users and the app they’re using. Your critical apps, which used to run locally, are now competing with all other internet traffic leaving your office as well as with all of the congestion within the cloud service provider. For example, arecent report on Office 365 deployment found that 70 percent of businesses using it report latency on a weekly basis, and nearly 69percentreport weekly bandwidth problems even after upgrading network infrastructure.
The internet and the software-defined network of the cloud providers are extremely complex, ever-changing networks, and they are now both mission-critical to your application’s performance. These networks that you can’t see or control are now essential pieces of your application delivery path and infrastructure.
So if performance is slow or spotty, there’s not a lot you can do. Server-centric performance can get better if you try various techniques likeCDNs, dynamic scaling or IaaS systems like DynamoDB. But those only go so far and are only applicable if you developed the app in question.
APM is one small piece of the infrastructure monitoring puzzle if you’re building and deploying apps in the cloud today
Users are getting to your company’s apps over the open internet. Even if the application itself and the provider platform and networks are running perfectly, the use of the open internet could kill that user’s experience.
And who will hear about user experience problems? The IT team, of course, even if the IT team doesn’t have any say in where those apps are deployed or any idea how to fix the issue.
2. Code-Based APM isn’t Possible for Commercial and SaaS Apps
While most APM focus has been on the performance of the applications that you develop, the vast majority of cloud app usage is via SaaS services. There’s just no way to get visibility into the code and infrastructure that are delivering SaaS apps.
Code-level application performance monitoring (APM) is one small piece of the infrastructure monitoring puzzle if you’re building and deploying apps in the cloud today. Even if real user monitoring is part of your approach, you still don’t get the data you need about the root cause of issues if you’re not controlling the application code.
The DevOps teams running these SaaS services are some of the best in the world and they do a wonderful job ensuring that their code, infrastructure, and services are working optimally. Real-time status dashboards like Trust.Salesforce.com provide detailed insight into the status of the SaaS provider’s infrastructure. But your user's experience could be crushed by parts of the application delivery path that are outside of the SaaS provider’s environment and therefore not represented on their monitoring dashboards.
Getting to Better App Performance
The way to fill in the new app performance gap is to understand the network path. Since application performance today is dependent in large part on how every hop along the network performs, you’ll want to monitor with that in mind. Use monitoring that includes web synthetics to ensure access, user experience, and full operation.
Here are some other ways to get back what you’ve lost:
●Know your enemy. Discover the apps in use on your network to understand where your capacity is going.
● Measure to where your apps are running. You can't improve what you don't measure. Know if your ISP is delivering what is promised and the actual performance achievable to where your apps are whether they’re traversing the ISP’s network or in the cloud.
● Establish performance baselines. Know what is normal to detect the abnormal.
● See inside the cloud. If you are hosting apps that you developed in a cloud service vendor, understanding the performance of the components running your code is critical and not always visible even when running code-level APM.
Monitoring tools like AppNeta’s seethe entire application delivery path, all the way into the cloud, inside the cloud itself and back to the user. Even if your application is fully instrumented, you won’t see that information with application-only monitoring. Our approach takes the user-centric approach so that IT teams can see the entire user experience from the moment of logging into an application through finishing the task. You’ll get detailed metrics data about every hop along the network path whether it’s your WAN, the SaaS or cloud provider network, the VPN or WiFi.
Ultimately, what we’ve thought of as APM in the past is just one piece of better application performance. Providing a better end-user experience for your applications will go way beyond code.