The hybrid cloud model—combining public cloud services with private (on-premise) resources—is immensely appealing to many organizations. Why? Because hybrid cloud computing lets you keep elements of your environment, such as transaction processing systems, on-premise while running other parts of applications, such as an e-commerce frontend, in the cloud to gain better scalability, faster deployment, and lower costs.
However, there’s actually a downside that many organizations are only now starting to discover. Here’s a hint: it has to do with visibility, accountability, and control. How well can you monitor the performance of your applications that are wholly or partly in the cloud? Can you get all the performance and troubleshooting data you need to solve problems quickly and make better decisions about resources? Are you instantly aware when there’s a failure or a bottleneck anywhere in the transaction stack, regardless of where it’s running?
That’s the catch with the hybrid cloud model, as well as up-and-coming multi-cloud models or a straight-up public cloud model. You need a way to monitor application performance that gives you as much control of the customer and user experience as possible, along with a greater understanding of application dependencies across your hybrid infrastructure.
The Rise of the Hybrid Cloud
In case you were too busy executing your cloud strategy to notice, cloud computing has now reached mainstream status. What was merely hype several years ago is now a tried-and-true component of IT strategies. In fact, according to a survey by RightScale, 91% of organizations are using public cloud in some way, while 69% have a hybrid cloud strategy.
Regardless of your industry or business model, chances are you’re planning on or are already taking advantage of the compelling benefits of the hybrid cloud model. Some of the popular use cases for hybrid cloud include:
- On-premise security with cloud agility: Perhaps you’re in financial services and need to run the frontend of your application in the public cloud to achieve scale and agility. Meanwhile, the backend runs on a highly tuned database in your on-premise data center, with private data secured within your enterprise.
- Cost-effective scalability for volume spikes: E-commerce companies can run unpredictable workloads in the public cloud during holidays and other times of high volume to ensure they have the scalability to keep their websites running smoothly.
- Mobile agility: You might have a mobile application with services running in the cloud to support greater scalability as your app increases in popularity, with APIs hitting databases and other services on the backend within your data center.
- Getting physically closer to the user: Some companies use the public cloud to provide better coverage and performance for global users by distributing an application across multiple geographies, which effectively places the application closer to users to reduce latency.
- Flexible test and development: Another way companies are taking advantage of the hybrid cloud model is to use the public cloud for test and development of new applications, while accessing data housed in their on-premise data center.
While organizations are adopting the hybrid cloud model today, other models such as the multi-cloud model are garnering interest as well. The multi-cloud model lets you combine applications and services from two or more cloud infrastructure providers to create a single system. While rare today, you should factor in multi-cloud as a future option to consider.
There’s a Cloud Blocking My View
Control and accountability are incredibly important for success in the cloud. Consider this typical situation: you point a finger at your cloud service because performance is not up to par, they point it back to your application, and ultimately you discover that the problem is caused by a third-party service such as your shopping cart, but it took you a week of effort to figure that out. In the meantime, customer satisfaction suffers.
Why is it suddenly so difficult to monitor performance and identify the root cause of a problem? One reason is that when your application is distributed, you end up with a hodge-podge of performance data, such as SQL logs, error logs, and mobile app crash analytics. With data piecemealed across different environments and tools, you can’t trace what happened at each step of the way. Managing the performance of the application ends up being a largely manual effort, with significant blind spots and gaps along the way.
Cloud providers try to help by offering dashboards and other tools for tracking service availability, but they don’t provide the ability to combine performance data throughout the application stack. You don’t get a full, consolidated view of how your application is performing in the context of your service-oriented architecture, particularly if services are split between clouds.
Distributed hybrid cloud environment
Nor can you install an agent in the traditional application monitoring sense on the servers that are running cloud services, such as databases you’re using from your cloud provider. Whether it’s elastic compute, DNS, database services, or some other service provided by your cloud provider, your control of that service may be limited, which makes monitoring and troubleshooting your applications that use that service extremely difficult.
Some companies attempt to cobble together their own solutions but are finding that they, too, fall short when it comes to end-to-end visibility or the ability to handle app portfolios with multiple languages, such as Java and Node.js. Worse yet, building and maintaining your own monitoring infrastructure takes away precious resources and time that could be spent improving the digital customer experience.
The Perfect Storm for Application Performance Management
Visibility into application performance is not just the public and hybrid cloud problems. The need for application performance monitoring has taken on far greater urgency in the past few years due to a number of trends that are coming together at a crucial time:
- Workload flexibility: Historically, when you deployed a monitoring infrastructure, it was installed alongside the application in your data center, effectively locking the application to the physical infrastructure. Today, you may be running your application on a combination of servers in your data center and in the public cloud, which may expand and contract as demand changes. You need the ability to move workloads to where it makes the most sense from a technical and business perspective. Having application monitoring locked into a physical infrastructure would require significant efforts to maintain every time a workload moved.
- Agile development and operations: For developers, the pressure is increasing to move away from waterfall-type project lifecycles and adopt agile development approaches. With an agile approach, applications may change weekly, daily, or even hourly. For operations, agile means that deployments happen faster and more frequently, making visibility into performance-critical as the pace of change increases. What impact did the latest code change have on performance? What if that portion of the application is using a cloud service?
- Focus on the customer experience: Forrester calls it the Age of the Customer. No matter what you call it, companies are focused today on being customer-centric and delivering the kind of customer experience that sets their brands apart. A big part of the customer experience is the interaction with your customer-facing applications. Measuring usage and performance is essential to understanding the impact of changes to the application and infrastructure on the customer experience.
All these factors mean that you need visibility into performance across the entire stack, regardless of where elements and services within the stack reside—on-premise or in the cloud. You can’t get that with homegrown solutions or traditional application performance monitoring software.
Today’s Forecast: Complete Visibility
Taking advantage of the cloud doesn’t mean you have to give up on visibility, accountability, and control. There is a way to get the comprehensive view you need to improve and maintain the performance of your applications, no matter where they are running.
The answer is to turn to a cloud-based, infrastructure-agnostic solution for application performance monitoring. With a robust application performance monitoring solution delivered via the SaaS model, you gain:
- End-to-end visibility within the context of the application, no matter where it’s running, hosted or not, hybrid or multi-cloud. You get code-level visibility that enables quick identification of performance issues as well as rapid remediation. You gain a deeper understanding of the user experience as it relates to the transactions flowing through the infrastructure.
- The ability to bring your cloud metrics into context by viewing your cloud vendor’s data alongside application performance in a single dashboard. You can then understand how the application is using various cloud services, such as databases, storage, and compute, and make sure that changes being made in your public cloud environment aren’t negatively impacting performance.
- The flexibility to move applications and services freely, without the additional burden of making extensive configuration or security changes to accommodate monitoring. Your operations team can focus on where best to run the application instead of maintaining the monitoring infrastructure.
- More time for other tasks as you get out of the business of building a monitoring infrastructure altogether. You’ll reduce the time it takes to resolve issues as well by rapidly identifying the root causes of performance problems.
- The data you need to optimize application performance and your cloud resource allocation including network latency, application response time, errors related to servers, and drivers and constraints of application scalability.
The bottom line is that it takes modern software to monitor modern software implementations, particularly those running all or partially in the cloud.
Given the widespread adoption of cloud computing, infrastructure-agnostic application performance monitoring has become a must-have tool for companies of all shapes and sizes.
Key Features Needed to Monitor Hybrid Clouds
- SaaS model
- Code-level visibility
- Seamless integration with cloud vendors’ performance data
- Easy-to-understand visualizations
- App map that includes 3rd-party services
- End-to-end transaction tracing
- Security assessments on the service (not just the data center)
- SOC 2 compliance and Cloud Security Alliance assessment
Lessons Learned From Monitoring Applications in the Cloud
Once you have a SaaS-based application performance monitoring solution in place, you’d be wise to seek out tips and best practices from knowledgeable people to help you make the most of your deployment. To get you started, the following are some lessons learned from people with hands-on experience monitoring applications in the cloud:
1. Understand differences in performance by geography: For applications that have global users, look for performance issues occurring in certain countries. For instance, using a tool such as AppDynamics you could see that a significant percentage of users in certain geographies are experiencing sluggish performance. Based on identifying exactly which users are impacted, you now know where to invest in replicating or hosting services in those countries to improve the user experience for these customers.
2. Hold third-party services accountable for service levels: Accountability is one of the major benefits of using an application performance monitoring tool for cloud-based applications. You essentially end the finger-pointing and replace it with hard data. With end-to-end visibility and plugins that include data from cloud services, you can document when third-party services are meeting or not meeting agreed-upon service-level agreements.
3. Make better decisions about deprecating services: Without usage data, deciding which features to deprecate can be a risky business. Using application performance monitoring and advanced performance analytics, you can see which users are making use of a particular component to better understand the impact of deprecating it.
4. Keep monitoring consistent: When migrating services from one infrastructure to another, keep the monitoring consistent so that you can report on the benefits (or not) of a migration.
5. Think beyond operations. Application performance monitoring can yield data that is valuable beyond the operations group. Development, product marketing, sales, customer support, and other parts of the company can all benefit from understanding application usage by customers.
Taking advantage of the cloud doesn’t mean that you have to give up control and accountability, but you do need to rethink performance monitoring for your applications—for all the reasons we’ve covered here and more. With customer expectations higher than ever, you simply can’t afford to lack full visibility into the performance of your customer-facing applications.