Cloud performance monitoring is a big challenge for enterprises. There are several reasons for this, such as:
- On public clouds, the cloud performance monitoring is only supported for the infrastructure, and is therefore not comprehensive.
- On private clouds, all the cloud performance management previously done by the vendors – mainly cloud server monitoring – must now be assumed by the organization, which can mean instrumenting and gathering metrics from scratch. In addition to this burden on developers, all the performance issues of latency, uptime, licensing, provisioning and more become enterprise responsibility.
- The correlation of performance monitoring metrics and events between distributed resources in multiple tiers of the infrastructure is a major challenge and not currently available in a single console. Root cause analysis is hampered by the heterogenous, dynamic and elastic nature of the technologies that make the cloud so useful
- Cloud technologies such as distributed caches, grids and in-memory stores are relatively new (see for example this cloud-based SAP fax solution); the interactions among them when they share physical or virtual resources are not yet well understood; how does a Cassandra node coexist with Coherence on the same server, for example? Are any products written with the assumption that they have sole rights to the machine on which they run? Do they ‘play nicely’ with others?
Another important point to consider is unified monitoring and performance management between private and public clouds. One of the main motivations for moving from public to private is performance. For example, a MapReduce job may not get the priority customers want. In a public cloud customers do not control prioritization, and contend with potentially thousands of other users for a time window; consider how that can be a pain point if that MapReduce job is business critical, not to mention security critical as a recent partner conversation disclosed. Also, parts of the supply chain may reside in the cloud, and the uneasiness that such exposure engenders may lead to a desire to go ‘private’. Those in charge of disaster recovery would also lobby in favor of complete integration of that important activity within the walls.
Another use case in which unified monitoring comes in useful is the hybrid cloud, a combination of both investments and models; this introduces likely further complexity. The hybrid cloud makes sense in a lot of scenarios: upskilling staff in preparation for a move to an entirely private configuration, (hoped for) cost reduction, better control over vital resources and more. Issues of hybrid cloud monitoring relate to a possible proliferation of monitoring approaches and solutions, some done in-house, some bought off the shelf or outsourced; this can be messy.
Unified cloud monitoring would enable an enterprise to accurately measure and benchmark performance on private and public clouds in the same way, using the same instrumentation and preferably, even on the same monitoring server. To my knowledge, support for unified monitoring in the existing cloud monitoring tools is patchy at best. Evident Software is working on addressing this need and improving our product’s cloud readiness, to allow transparent monitoring of cloud-based systems, whether they are public, private or hybrid.
Learn more about our performance monitoring solution for Java, NoSQL and web servers

View Comments