With virtualization now firmly entrenched in the data center, many organizations are ready to tackle the next big thing — cloud computing. However, many also continue to grapple with the pros and cons of migrating applications to the cloud.
After all, applications are the lifeblood of modern business, and any negative impact on application performance can have far-reaching effects. Consider that a recent SolarWinds survey found that 93% of end-users surveyed said application performance and availability affects their ability to do their job, with 62% saying it is absolutely critical. Furthermore, 67% said application performance and availability have become more important to doing their jobs over the past five years. In addition, one in five said slow or unavailable applications result in significant financial loss for their companies annually.
While for many use cases the cloud does offer cost, flexibility, and agility benefits, concerns such as performance requirements for mission critical applications, privacy, and security and the sunk cost of existing application purchases are all valid. Thus, rather than going all in on the cloud, most will likely find the need to manage a mix of cloud-based and on-premises applications and other IT infrastructure elements, known as hybrid cloud, for some time to come.
While a hybrid cloud approach seemingly offers the best of both worlds, it brings with it a new set of complexities and challenges when it comes to ensuring application performance, which in turn requires particular best practices to overcome them.
The challenge of application performance visibility in a cloudy world
A transition to hybrid cloud environments means IT is now responsible for two sets of infrastructure: the cloud deployment as well as their traditional, on-premises systems. Both of these need to be monitored and managed to ensure applications operate at peak performance. This inevitably creates tension for IT pros who now have more demands than ever to maintain constant application availability and uptime.
Further compounding the challenge is that administrators typically don’t have the same level of control or visibility — or any, in some cases — into the performance of cloud environments. For example, whereas purchasing higher performance capabilities such as more storage could help overcome a performance problem, there’s usually little to no visibility into what’s happening to the infrastructure to be able to make such a decision. And while it is possible in most cases to move to higher performing cloud infrastructure, that can be expensive and upgrading an entire environment is often overkill.
Seeing through the fog
Even traditional, on-premises applications can be difficult to manage. For example, according to the same survey cited above, 81% of those surveyed contacted their IT department in the past year due to an application performance or availability issue, with one-third having done so six times or more. Furthermore, more than one-third said they have waited a full business day or more for performance or availability problems with business-critical applications to be resolved, with 22% having waited several business days or more.
The reason application performance management is still so hard is because applications are becoming increasingly complex, relying on multiple third-party components and services that are all added to the already complicated modern application delivery chain, comprised of applications and the backend IT infrastructure that supports them — all the software, middleware, and extended infrastructure required for performance. This can also be called the modern application stack, or AppStack. Furthermore, many organizations still manage the AppStack the old-fashioned way — in silos without holistic visibility of the entire stack at once
Now, imagine adding a cloud provider into the mix. The reality is that none of the traditional AppStack goes away, it’s just not within an on-premises data center where control is maintained and performance is managed by the organization. However, IT will still be held accountable for application performance. So, what is an application administrator to do in order to ensure consistent top performance in a hybrid cloud environment? Here are a few things to consider:
Add a step.In a traditional on-premises IT environment, the first step in troubleshooting an application performance issue is to ensure that individual components and systems of the AppStack — servers, applications, networks, storage, etc., — are all available and performing properly. If they aren’t, the next step is to find the issue and remediate it. However, this approach changes in a hybrid cloud system. Instead of pinpointing where and what the problem is, the first primary objective becomes quickly and definitively determining who owns the problem — IT or the cloud vendor.
Get involved in the development phase. Cloud monitoring and management decisions need to be made when the hybrid cloud environment is being created. But unlike an on-premises-only environment, developers can use their credit card and gain access to the infrastructure they need to build applications. Therefore, they don’t need to consult the IT operations team regarding the hardware the application will run on. Because of this, IT pros are often left to manage applications that aren’t designed for cloud remediation, and therefore are left without the monitoring capabilities to determine who owns an application performance problem (see above). By getting involved in the development phase of the hybrid cloud environment, administrators can ensure they have control over application performance.
Manage cloud and on-premises performance data to determine the root of the application issue. Application performance management in a software-as-a-service (SaaS) environment requires IT to understand what the application failure looks like and ensure there is a service-level agreement (SLA) as well as the appropriate performance metrics to show the SaaS provider that there is an issue. In an infrastructure-as-a-service (IaaS) environment, managing application performance gets a little trickier. IT needs to determine whether the application performance issue is with the software or the configuration. If not, they will need to check if the cloud provider is delivering inadequate performance as agreed upon in the SLA. So, to achieve full visibility into the performance issue, a monitoring system must be in place to definitively determine where the problem lies.
Plan for the worst-case scenario to prevent it from happening. Finally, administrators should think through and plan for the worst-case scenarios that could happen in a hybrid cloud environment in the early stages to prevent such problems before they arise, and to be prepared should they actually happen.
Every technological shift comes with the need for new understanding and a unique set of complexities and challenges. The hybrid cloud is no different. However, taking the above considerations on gaining visibility into application performance in hybrid cloud environments into account can help obtain the benefits of such an environment while also helping to ensure application performance remains consistently strong.