Manage Cloud Performance Like a Fine Tuned Automobile
I used to have a Saab that was the bane of my existence. Each morning, I would walk out to my car, put my key in the ignition and hope it would start. Every once it a while, it would, and on those mornings it was glorious. But equally often something would go wrong. I would spend my precious commuting time trying to figure out how to get “the beast” running. I learned to troubleshoot old Saab convertibles. I became reasonably good at resolving minor issues with electronics, exhaust hoses, throttles, and even frozen key cylinders. Needless to say, the car didn’t last. I graduated to a more reliable one that didn’t require me to play mechanic (which I assure you, is not some hidden strength).
Why talk about the old Saab? Because my relationship with that car increasingly reminds me of the relationship that many companies are beginning to have with their cloud deployments. Okay, let me illustrate.
When you get into your car for the morning commute, you just expect it to work.
When your end users interact with your apps, they expect it to work.
I managed to train myself to intermittently fix issues with the car.When something didn’t perform in the car, I had no idea why.
When you have a problem with cloud based apps, you often have no idea what is causing the problem.
You have probably come up with workarounds that can work at times…but not all of the time.
When “the beast” didn’t work, I would get dirty looks from my boss.
You probably get the same looks from your users when cloud based apps break or are slow.
So here’s the thing. Cloud is no longer optional. An almost ubiquitous 96% of companies use cloud today [1], 81% have multi-cloud strategies [2], and enterprises can track as much as 45% of their enterprise traffic to public cloud apps [3]. This traffic has been driven by increasing use of both SaaS apps, and more and more apps that have been migrated to the cloud. But as companies enter a second phase of this migration a lot of these apps are themselves architected for the cloud. They make broader use of containers, are more portable, and are often more highly distributed across both the cloud and the enterprise data center.
Both the broad usage of cloud and the increased use of highly distributed cloud applications has fundamentally impacted performance. Similar to the myriad of problems with my Saab, there are more blind spots in the cloud and the resulting lack of visibility complicates performance management and troubleshooting. And, with containers distributed across the enterprise and the cloud, cloud native architectures take these blind spots to a new level. Just to name a few potential problems:
- Cloud network latency can impact app performance
- Chatty application containers cannot only impact performance but it can drive up cloud costs as well
- Lack of visibility into the orchestration layer can make application issues difficult to spot and slow down the app lifecycle
The bottom line is that any of these issues can impact the end user experience, and when problems occur, the end user doesn’t care. In fact, business users expect cloud based apps to have the same or higher performance 80% of the time. Too bad that these same users are likely to be the ones that find the problem—40% of companies reported that users were more likely to notice problems first in a cloud environment [4].
So how do companies address cloud performance? Often they will rely on the vendors themselves to provide performance information. But this creates issues as enterprises rely on trust without verification. For SaaS based apps, service level agreements (SLAs) are often buried deep in the contract, they are difficult to verify and almost impossible to enforce. In the case of cloud vendors like Amazon Web Services (AWS), companies leverage under-featured tools disconnected from the hybrid infrastructure.
Alternately, companies might extend their current point, on-premise solutions to the cloud. The issue here is that the point tools only look at part of the overall cloud performance, and of course this approach is built upon a fundamentally flawed paradigm. Even in-house, these solutions provide incomplete performance information, don’t talk to each other and create a lot of finger pointing.
Clearly this falls short of the company’s needs. They need to:
- Manage all cloud traffic
- Manage hybrid performance across enterprise & cloud
- Understand the content of cloud conversations
- Understand what is running in the cloud
- Understand app components & resource utilization
They also have cloud vendor relationships to consider. Currently, companies waste around 35% of their cloud investment. To work with cloud vendors as strategic partners, they need to prevent cloud over-provisioning, unexpected cloud costs and underperforming SLAs.
[1] Rightscale, 2018 State of the Cloud report
[2] Ibid
[3] EMA, Network Management Megatrends 2018, April 2018
[4] Dimensional Research, 2018 State of Cloud Management, October 2018
Published with permission from Riverbed.