In our first blog, I discussed performance parameters for cloud services that were specific to infrastructure. Apart from infrastructure services, though, cloud providers also provide value-added services that can be used to manage and augment non-functional performance requirements of business applications. This blog describes performance parameters for cloud services that are specific to two value-added services: performance monitoring and content delivery networks (CDNs).
Complex system environments (multi-layer, multi-technology, distributed systems, etc.) create challenges for maintaining application performance. They also complicate the identification of performance bottlenecks. Business-critical systems need proactive performance monitoring to identify potential issues before these impact the business. For example, OpenText Content Server or AppWorks will use multiple web servers, application servers, database servers and so on to handle high workloads. You need end-to-end performance monitoring coverage to keep track of performance across all layers. That means considering the following key coverage areas:
- All layers and components of the application (for example, OpenText products such as Content Server and its front-end and admin server components)
- All cloud standalone services and servers being used by the application (for example, all virtual machine (VM) instances of web servers and application servers, firewall service, caching service, etc.)
- On-premises systems (monitoring services that are extendable to on-premises systems such as insurance or enterprise resource planning (ERP) systems)
- Managed service instances (for example, database as a service (DaaS)
You can establish performance monitoring capabilities in three ways:
- Subscribing to a cloud-native monitoring service, which usually covers most of the areas mentioned in Figure 1 and provides a single dashboard to manage end-to-end performance. This is the preferred option.
- Subscribing to a third-party cloud application performance management (APM) service. This requires configuring agents in all layers of the business system. For managed services, integration should be possible.
- Using industry-standard monitoring tools. This requires you to set up a monitoring server infrastructure on the cloud and then configure monitoring probes with all layers of the business system. This approach is conventional and typically used on premises.
Other features, such as the ability to monitor data retention periods and granularity, are also important—these are helpful when troubleshooting performance issues.
Content delivery networks
This value-added service reduces first-time application loading time by bringing the static content of an application close to users’ regions through intermediate cache servers, called edge servers. A CDN helps when business users are spread across the globe and business applications involve significant static content such as images, script files or video files. It is also helpful for rich client applications built using, for example, the OpenText AppWorks platform. Figure 2 depicts a typical CDN architecture.
When choosing such services, consider the following:
- Service availability across geographical regions—To gain performance benefits, you should make sure the service is available in most of your business users’ locations.
- Availability of edge servers close to business users’ locations—You can expect better performance if edge servers are close to user regions.
Note: As part of a CDN implementation, pay careful attention to the implementation of cache invalidation. Refer to your specific CDN vendor’s documentation for details.
Author: Prasad Kukkala, Senior Principal Architect, Professional Services – Center of Excellence, has 21+ years of work experience in performance architecture of large-scale enterprise and cloud systems involving OpenText products globally, specifically focusing on helping customers in adopting performance best practices for cloud and enterprise solutions.