Cloud monitoring is essential to maintain high system availability and performance of the system and is important for both providers and consumers. Primarily, monitoring is key for:
- Managing software and hardware resources
- Providing continuous information for those resources as well as for applications in the cloud.
For effective and smooth system operations, cloud activities such as resource planning, resource management, data center management, SLA management, billing, troubleshooting, performance management, and security management require monitoring. As a result, given the elasticity of cloud computing, there is a strong need for monitoring.
Hereafter I will provide you with the different challenges that you will encounter in your journey to the cloud.
THE DYNAMIC NATURE OF THE CLOUD
On-premises infrastructure and applications are relatively static: Internal IP addresses and ports, DNS entries, VLAN assignments, and persistent operating systems all tend to be configured and then rarely changed. ICT infrastructure administrators try to avoid changes whenever possible, fearing that a seemingly minor change might cause an outage, for example by breaking a script everyone had forgotten about. This makes it easy to use these static definitions for monitoring, as they rarely change.
However, cloud deployments are all about flexibility and agility: objects come and go by design, and in some cases are deliberately failed periodically to test resiliency. Virtually nothing is static. This requires that the monitoring system is also highly dynamic and keeps track of the ever-changing environment including creation and deletion of resources, optimal performance factors for the workload, inverse logic for certain parameters and this in function of a possible budget.
CROSS LAYER MONITORING IN THE CLOUD
Cloud computing offers various types of delivery options. Infrastructure as a Service (IaaS) is the most complete form of Cloud delivery, where the consumer is provided with full control over the entire life cycle of virtual machines (VMs). Hence, IaaS requires extensive monitoring systems that cover infrastructure, operating systems, and application metrics.
As for the Platform as a Service (PaaS) consumers, they have control over one or more scalable application development and deployment environments and require access to operating metrics of such platform. In contrast, Software as a Service (SaaS) consumers only use applications that are hosted on the Cloud and require very limited monitoring resources.
Monitoring tools originally are oriented to perform monitoring tasks over services only in one of the layers. Most tools are designed to keep track of the performance of resources provisioned at the IaaS layer. As a result, most cloud monitoring tools cannot monitor performance statistics across multiple layers of the cloud stack.
NUMBER OF MONITORED OBJECTS IN THE CLOUD
Users who deploy their services on the Cloud require detailed monitoring data and need to keep track of all details of their platform in real-time.
When you start to add resources in the cloud, you will get the feeling that the number of resources is multifold the number of resources that you were used to on-site. This will increase with the size of the environment and the types of services that you deploy.
This growth in resources will increase the resources that you need to monitor and the data that you need to handle. The high volume and velocity of generated monitoring data pose various challenges for monitoring systems. Not only the storage of such data is a challenge, but also the data processing portion is computationally expensive.
Hence, monitoring large-scale Cloud environments is one of the major challenges of Cloud monitoring.
Cloud monitoring systems are designed and implemented by the Cloud providers. Autonomous control over the monitoring systems offers providers full visibility over their resources. In contrast, Cloud consumers do not have this luxury and are limited to the features that the Cloud providers have offered to them. In other words, the tool that Cloud users use to monitor their resources and their cost is dependent on the Cloud provider. Although, Cloud consumers generally trust Cloud providers, nevertheless, on many occasions a Cloud consumer needs to validate monitoring and billing details given by the Cloud provider. To be objective, this validation requires an independent tool so users can truly verify the accuracy of the data shared by the Cloud provider.
Another challenge is to monitor cross-cloud environments. Most cloud providers have monitoring for their specific cloud, but those monitoring tools cannot monitor components from other cloud providers. So, external monitoring tools are required to face this challenge.
CLOUD NETWORK MONITORING
Cloud services are relying on state-of-the-art network facilities that are often more complicated than traditional network deployments. Since network monitoring is an essential practice in any large-scale network, Cloud networks require even more comprehensive monitoring techniques.
Most existing Cloud monitoring systems focus on computing resources such as CPU and RAM and do not provide a solution for comprehensive network monitoring to capture statistics from various switches, routers, and other network devices.
One possible alternative is to use existing network-specific monitoring systems. However, unique features of Cloud networks (such as automatic provisioning) cause accuracy, scalability, and reliability issues for such tools. Moreover, most network metrics are simply not available in the cloud, so, alternative approaches for network monitoring need to be used.
YOUR HYBRID SITUATION
Most customers environments are hybrid in nature. Not only cloud resources need to be monitored, also the on-site resources and infrastructure needs to be monitored.
Many want to tackle the cloud monitoring as a stand-alone solution, but through the nature of the environment, most workloads will need to work together and the monitoring needs to monitor both environments, otherwise you will get a segmented view.
This challenge asks for an integrated monitoring of all your resources, on-site and in the Cloud or on multiple Clouds.
The main challenges of cloud monitoring have to do with the dynamic nature of the cloud and the cloud providers that present you the metrics they want to present you. So, you need to adapt your monitoring to this constantly changing environment.
In addition to these new challenges, cross Cloud monitoring or hybrid Cloud monitoring drives you in the direction of a tool choice that integrates both the local resources with the Cloud resources.
So, when you move to the cloud you will be more dependable on the services of monitoring engineers on a continuous basis, either in-house or via a partner, because you:
- Will need additional monitors
- Will need additional expertise
- Have additional resources to monitor in a different way
In other words, moving to the Cloud may be an alternative for several reasons, consider that it will add pressure to your limited resources.